/* ------------------------------------------------
 Author: lunatyk
------------------------------------------------ */
/* ------------------------------------------------
   - Variables
------------------------------------------------ */
/* ----- Gutters ----- */
/* ----- Colors ----- */
/* -----------------------------------------------------------------
    - Colors
----------------------------------------------------------------- */
/* ---------------------------------
    - Backgrounds
--------------------------------- */
.bg-theme-music {
  background: linear-gradient(180deg, #c7051f, #E30624); }
  .bg-theme-music .bg-pattern-cubes {
    background: url("../../img/front/theme-music-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.bg-theme-theater {
  background: linear-gradient(180deg, #f57a00, #f39700); }
  .bg-theme-theater .bg-pattern-cubes {
    background: url("../../img/front/theme-theater-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.bg-theme-dance {
  background: linear-gradient(180deg, #80176E, #981b83); }
  .bg-theme-dance .bg-pattern-cubes {
    background: url("../../img/front/theme-dance-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.bg-theme-other {
  background: linear-gradient(180deg, #008c99, #00a4b3); }
  .bg-theme-other .bg-pattern-cubes {
    background: url("../../img/front/theme-other-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

/* -----------------------------------------------------------------
    - Animations
----------------------------------------------------------------- */
/* Animations are cool!  */
@-webkit-keyframes moveFromTopFade {
  from {
    opacity: .3;
    height: 0px;
    margin-top: 0px;
    -webkit-transform: translateY(-100%); } }
@-moz-keyframes moveFromTopFade {
  from {
    height: 0px;
    margin-top: 0px;
    -moz-transform: translateY(-100%); } }
@keyframes moveFromTopFade {
  from {
    height: 0px;
    margin-top: 0px;
    transform: translateY(-100%); } }
@-webkit-keyframes moveToTopFade {
  to {
    opacity: .3;
    height: 0px;
    margin-top: 0px;
    opacity: 0.3;
    -webkit-transform: translateY(-100%); } }
@-moz-keyframes moveToTopFade {
  to {
    height: 0px;
    -moz-transform: translateY(-100%); } }
@keyframes moveToTopFade {
  to {
    height: 0px;
    transform: translateY(-100%); } }
@-webkit-keyframes moveToTopFadeMonth {
  to {
    opacity: 0;
    -webkit-transform: translateY(-30%) scale(0.95); } }
@-moz-keyframes moveToTopFadeMonth {
  to {
    opacity: 0;
    -moz-transform: translateY(-30%); } }
@keyframes moveToTopFadeMonth {
  to {
    opacity: 0;
    -moz-transform: translateY(-30%); } }
@-webkit-keyframes moveFromTopFadeMonth {
  from {
    opacity: 0;
    -webkit-transform: translateY(30%) scale(0.95); } }
@-moz-keyframes moveFromTopFadeMonth {
  from {
    opacity: 0;
    -moz-transform: translateY(30%); } }
@keyframes moveFromTopFadeMonth {
  from {
    opacity: 0;
    -moz-transform: translateY(30%); } }
@-webkit-keyframes moveToBottomFadeMonth {
  to {
    opacity: 0;
    -webkit-transform: translateY(30%) scale(0.95); } }
@-moz-keyframes moveToBottomFadeMonth {
  to {
    opacity: 0;
    -webkit-transform: translateY(30%); } }
@keyframes moveToBottomFadeMonth {
  to {
    opacity: 0;
    -webkit-transform: translateY(30%); } }
@-webkit-keyframes moveFromBottomFadeMonth {
  from {
    opacity: 0;
    -webkit-transform: translateY(-30%) scale(0.95); } }
@-moz-keyframes moveFromBottomFadeMonth {
  from {
    opacity: 0;
    -webkit-transform: translateY(-30%); } }
@keyframes moveFromBottomFadeMonth {
  from {
    opacity: 0;
    -webkit-transform: translateY(-30%); } }
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; } }
@-moz-keyframes fadeIn {
  from {
    opacity: 0; } }
@keyframes fadeIn {
  from {
    opacity: 0; } }
@-webkit-keyframes fadeOut {
  to {
    opacity: 0; } }
@-moz-keyframes fadeOut {
  to {
    opacity: 0; } }
@keyframes fadeOut {
  to {
    opacity: 0; } }
@-webkit-keyframes fadeOutShink {
  to {
    opacity: 0;
    padding: 0px;
    height: 0px; } }
@-moz-keyframes fadeOutShink {
  to {
    opacity: 0;
    padding: 0px;
    height: 0px; } }
@keyframes fadeOutShink {
  to {
    opacity: 0;
    padding: 0px;
    height: 0px; } }
@keyframes animate-arrow-right {
  0% {
    transform: translate(0, 0) scale(1, 1);
    transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; }
  50% {
    transform: translate(10px, 0) scale(1.3, 1);
    transform: translate3d(10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  51% {
    transform: translate(-10px, 0) scale(1.3, 1);
    transform: translate3d(-10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  100% {
    transform: translate(0, 0) scale(1, 1);
    transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; } }
@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fade-out {
  100% {
    opacity: 0; }
  0% {
    opacity: 1; } }
.has-parallax {
  width: 110%; }

.has-parallax-parent {
  overflow: hidden; }

.has-animation {
  -webkit-transition-duration: .8s;
  -o-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: .15s;
  -o-transition-delay: .15s;
  transition-delay: .15s; }

.fade-in {
  opacity: 0; }

.fade-in.is-inview {
  opacity: 1; }

.fade-in-up {
  opacity: 0;
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px); }

.fade-in-up.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.fade-in-down {
  opacity: 0;
  -webkit-transform: translateY(-100px);
  -ms-transform: translateY(-100px);
  transform: translateY(-100px); }

.fade-in-down.is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.fade-in-left {
  opacity: 0;
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px); }

.fade-in-left.is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.fade-in-right {
  opacity: 0;
  -webkit-transform: translateX(-100px);
  -ms-transform: translateX(-100px);
  transform: translateX(-100px); }

.fade-in-right.is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.skew-up {
  opacity: 0;
  -webkit-transform: skewY(5deg) translatey(50%);
  -ms-transform: skewY(5deg) translatey(50%);
  transform: skewY(5deg) translatey(50%);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1); }

.skew-up.is-inview {
  -webkit-transform: skewY(0);
  -ms-transform: skewY(0);
  transform: skewY(0);
  opacity: 1; }

.skew-down {
  opacity: 0;
  -webkit-transform: skewY(-5deg) translatey(-50%);
  -ms-transform: skewY(-5deg) translatey(-50%);
  transform: skewY(-5deg) translatey(-50%);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1); }

.skew-down.is-inview {
  -webkit-transform: skewY(0);
  -ms-transform: skewY(0);
  transform: skewY(0);
  opacity: 1; }

.has-animation.lines-down div,
.has-animation.lines-up div {
  display: block;
  overflow: hidden; }

.has-animation.lines-fade-down div,
.has-animation.lines-fade-up div {
  overflow: visible; }

.has-animation.lines-up div .split-line,
.has-animation.lines-fade-up div .split-line {
  display: block;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91);
  -o-transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91);
  transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91); }

.has-animation.lines-fade-up div .split-line,
.has-animation.lines-fade-down div .split-line {
  opacity: 0;
  visibility: hidden; }

.has-animation.lines-down div .split-line,
.has-animation.lines-fade-down div .split-line {
  display: block;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  -webkit-transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91);
  -o-transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91);
  transition: all 0.5s cubic-bezier(0.38, 0.28, 0.39, 0.91); }

.has-animation.lines-down.is-inview div .split-line,
.has-animation.lines-fade-down.is-inview div .split-line,
.has-animation.lines-fade-up.is-inview div .split-line,
.has-animation.lines-up.is-inview div .split-line {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible; }

.image-wrapper.has-animation .slide-anim-holder {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  -webkit-transition: all 0.75s cubic-bezier(0.86, 0.02, 0.32, 1);
  -o-transition: all 0.75s cubic-bezier(0.86, 0.02, 0.32, 1);
  transition: all 0.75s cubic-bezier(0.86, 0.02, 0.32, 1); }

.image-wrapper.has-animation img {
  -webkit-transition: all .75s ease;
  -o-transition: all .75s ease;
  transition: all 0.75s ease; }

/*
.image-wrapper.has-animation.slide-bottom .slide-anim-holder {
    top: unset;
    bottom: 0; }

.image-wrapper.has-animation.slide-left .slide-anim-holder {
    left: 0; }

.image-wrapper.has-animation.slide-right .slide-anim-holder {
    right: 0; }


.image-wrapper.has-animation.slide-left img {
    left: 0;
    height: 100%;
    -webkit-transform: scale(1.1) translatex(-10%);
    -ms-transform: scale(1.1) translatex(-10%);
    transform: scale(1.1) translatex(-10%); }

.image-wrapper.has-animation.slide-right img {
    left: 50%;
    height: 100%;
    -webkit-transform: scale(1.1) translatex(-40%);
    -ms-transform: scale(1.1) translatex(-40%);
    transform: scale(1.1) translatex(-40%); }

.image-wrapper.has-animation.slide-top img {
    top: 0;
    -webkit-transform: scale(1.1) translateY(-10%);
    -ms-transform: scale(1.1) translateY(-10%);
    transform: scale(1.1) translateY(-10%); }

.image-wrapper.has-animation.slide-bottom img {
    bottom: 0;
    -webkit-transform: scale(1.1) translateY(10%);
    -ms-transform: scale(1.1) translateY(10%);
    transform: scale(1.1) translateY(10%); }

.image-wrapper.has-animation.is-inview img {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }

.image-wrapper.has-animation.slide-left .slide-anim-holder.sa-ready,
.image-wrapper.has-animation.slide-right .slide-anim-holder.sa-ready {
    width: 0; }

.image-wrapper.has-animation.slide-left.is-inview .slide-anim-holder.sa-ready,
.image-wrapper.has-animation.slide-right.is-inview .slide-anim-holder.sa-ready {
    width: 100%; }

.image-wrapper.has-animation.slide-bottom .slide-anim-holder.sa-ready,
.image-wrapper.has-animation.slide-top .slide-anim-holder.sa-ready {
    height: 0; }

.image-wrapper.has-animation.slide-bottom.is-inview .slide-anim-holder,
.image-wrapper.has-animation.slide-top.is-inview .slide-anim-holder {
    height: 100%; }
*/
/* -----------------------------------------------------------------
    - Grid
----------------------------------------------------------------- */
/* --- Margins --- */
.mt-i {
  margin-top: 30px; }

.mb-i {
  margin-bottom: 30px; }

@media (min-width: 1600px) {
  .mt-i {
    margin-top: 40px; }

  .mb-i {
    margin-bottom: 40px; } }
/* --- Paddings --- */
.pt-i {
  padding-top: 30px; }

.pb-i {
  padding-bottom: 30px; }

.pt-section {
  padding-top: 30px; }

.pb-section {
  padding-bottom: 30px; }

.pt-xs-i {
  padding-top: 30px; }

@media (min-width: 1200px) {
  .pt-section {
    padding-top: 60px; }

  .pt-section-sub {
    padding-top: 70px; }

  .pb-section {
    padding-bottom: 60px; }

  .pb-section-sub {
    padding-bottom: 70px; } }
/* --- Bootstrap --- */
@media (min-width: 1200px) {
  .pt-section-sub {
    padding-top: 10px; }

  #header .header-wrapper .header-layout .header-primary .menu-primary {
    padding: 0 20px; }

  ol.breadcrumb {
    padding-top: 0 !important;
    padding-bottom: 10px; }

  .pt-xs-i {
    padding-top: 0; }

  .pb-xs-section-i {
    padding-bottom: 60px; } }
@media (min-width: 1600px) {
  .row {
    margin-right: -20px;
    margin-left: -20px; }
    .row div[class*='col-'] {
      padding-right: 20px;
      padding-left: 20px; }

  .row.no-gutters {
    margin-right: 0;
    margin-left: 0; }
    .row.no-gutters div[class*='col-'] {
      padding-right: 0;
      padding-left: 0; } }
@media (min-width: 1600px) {
  .pt-i {
    padding-top: 40px; }

  .pb-i {
    padding-bottom: 40px; }

  .pl-extra {
    padding-left: 40px; } }
/* ---------------------------------
    - Typography
--------------------------------- */
.h1 {
  font-size: 30px;
  line-height: 36px;
  margin: 0; }
  @media (min-width: 1025px) {
    .h1 {
      font-size: 50px;
      line-height: 72px; } }

.h3 {
  font-size: 22px;
  line-height: 30px;
  font-weight: 500;
  margin-bottom: 14px; }
  @media (min-width: 1025px) {
    .h3 {
      font-size: 25px; } }

.h2 {
  font-size: 50px;
  line-height: 1; }

.text-uppercase {
  text-transform: uppercase; }

blockquote {
  font-size: 30px;
  line-height: 42px;
  font-style: italic; }

.paragraph {
  font-size: 18px;
  line-height: 28px; }

.title-hyperlink {
  font-size: 18px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: right; }

.caption {
  letter-spacing: 2px;
  font-size: 13px;
  margin-bottom: 30px; }

a.underline {
  position: relative;
  color: #121212; }
  a.underline:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    display: block;
    background: #121212;
    -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    -o-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
  a.underline:hover {
    text-decoration: none;
    color: unset; }
    a.underline:hover:before {
      width: 0; }

p.bullet-points {
  padding-left: 40px;
  position: relative; }
  p.bullet-points:before {
    position: absolute;
    content: '';
    height: 100%;
    left: 0;
    width: 2px;
    background: #93b43f; }
p.answer {
  color: #93b43f; }

.page.spectacle.theme-music p.bullet-points:before {
  background: #E30624; }
.page.spectacle.theme-music p.answer {
  color: #E30624; }
.page.spectacle.theme-theater p.bullet-points:before {
  background: #F39700; }
.page.spectacle.theme-theater p.answer {
  color: #F39700; }
.page.spectacle.theme-dance p.bullet-points:before {
  background: #80176E; }
.page.spectacle.theme-dance p.answer {
  color: #80176E; }
.page.spectacle.theme-other p.bullet-points:before {
  background: #009BA9; }
.page.spectacle.theme-other p.answer {
  color: #009BA9; }

.page.theme-music p.answer {
  color: #E30624; }
.page.theme-theater p.answer {
  color: #F39700; }
.page.theme-dance p.answer {
  color: #80176E; }
.page.theme-other p.answer {
  color: #009BA9; }

h1 a.underline:before {
  height: 2px; }
h1.big-title a.underline:before {
  height: 7px; }

/* --- Dark theme --- */
.layout-dark a .underline {
  color: #ededed; }
  .layout-dark a .underline:before {
    background: #ededed; }

/* ------------------------------------------------
   - Header
------------------------------------------------ */
#header {
  overflow: hidden; }
  #header .header-wrapper {
    position: relative; }
    #header .header-wrapper .header-logo {
      display: inline-block; }
      @media (min-width: 1200px) {
        #header .header-wrapper .header-logo {
          position: absolute;
          top: 20px;
          left: 0;
          z-index: 1; } }
      #header .header-wrapper .header-logo .logo {
        height: 70px; }
      #header .header-wrapper .header-logo .logo-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
      #header .header-wrapper .header-logo .logo-title {
        font-size: 24px;
        line-height: 27px;
        font-weight: 500;
        text-transform: uppercase;
        padding-left: 15px; }
    #header .header-wrapper .header-layout {
      position: relative;
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: wrap; }
      @media (min-width: 1200px) {
        #header .header-wrapper .header-layout {
          padding-left: 240px;
          border-top: 3px solid #000;
          border-bottom: 3px solid #000; } }
      #header .header-wrapper .header-layout .header-primary {
        display: flex;
        flex-wrap: wrap;
        flex-grow: 1; }
        @media (min-width: 1200px) {
          #header .header-wrapper .header-layout .header-primary {
            border-left: 3px solid #000; } }
        #header .header-wrapper .header-layout .header-primary .menu-primary {
          flex-grow: 1;
          border-top: 3px solid #000;
          border-bottom: 3px solid #000;
          margin-top: 30px; }
          @media (min-width: 1200px) {
            #header .header-wrapper .header-layout .header-primary .menu-primary {
              border-top: none;
              border-bottom: none;
              margin-top: 0; } }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link {
            font-size: 18px;
            font-weight: 700; }
            #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link:before {
              content: "";
              display: inline-block;
              width: 7px;
              height: 13px;
              vertical-align: middle;
              margin-right: 7px;
              margin-top: -4px; }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link.theme-music:before {
            background-color: #E30624; }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link.theme-theater:before {
            background-color: #F39700; }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link.theme-dance:before {
            background-color: #80176E; }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link.theme-other:before {
            background-color: #009BA9; }
          #header .header-wrapper .header-layout .header-primary .menu-primary .menu-link.theme-children:before {
            background-color: #CCCCCC; }
          #header .header-wrapper .header-layout .header-primary .menu-primary li {
            margin-right: 30px; }
            #header .header-wrapper .header-layout .header-primary .menu-primary li:last-of-type {
              margin-right: 0; }
      #header .header-wrapper .header-layout .header-secondary {
        display: flex;
        flex-shrink: 0;
        flex-wrap: wrap;
        align-items: center; }
        @media (min-width: 1200px) {
          #header .header-wrapper .header-layout .header-secondary {
            border-bottom: 3px solid #000;
            border-left: 3px solid #000; } }
        #header .header-wrapper .header-layout .header-secondary .header-slogan {
          font-size: 15px;
          padding-right: 70px;
          padding: 0 20px;
          text-transform: uppercase;
          font-weight: 700;
          letter-spacing: 0.5px;
          flex-grow: 1; }
        @media (min-width: 1200px) {
          #header .header-wrapper .header-layout .header-secondary .menu-secondary {
            border-left: 3px solid #000;
            padding-left: 20px; } }
        #header .header-wrapper .header-layout .header-secondary .menu-secondary .menu-link {
          text-transform: uppercase;
          font-weight: 700;
          letter-spacing: 0.5px; }
        #header .header-wrapper .header-layout .header-secondary .menu-secondary li {
          margin-right: 15px; }
          #header .header-wrapper .header-layout .header-secondary .menu-secondary li:last-of-type {
            margin-right: 0; }
        #header .header-wrapper .header-layout .header-secondary .menu-secondary .menu-item + .menu-item:before {
          content: "";
          display: inline-block;
          width: 3px;
          height: 3px;
          border-radius: 50%;
          background-color: #000;
          vertical-align: middle;
          margin-right: 7px; }
        #header .header-wrapper .header-layout .header-secondary .menu-list {
          justify-content: flex-end; }
    #header .header-wrapper .menu-list {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      #header .header-wrapper .menu-list .menu-link {
        margin: 17px 0 13px;
        font-size: 13px;
        display: inline-block; }
  #header.loaded {
    opacity: 1;
    visibility: visible; }

.menu--tickets {
  position: relative; }

.logo {
  display: block; }

.logo.logo-white {
  display: none; }

#search-ctn {
  display: none; }

/* --- Toggle button --- */
.toggle-btn {
  padding: 0 20px 0 0; }
  .toggle-btn input[type=checkbox] {
    height: 0;
    width: 0;
    visibility: hidden; }
  .toggle-btn label {
    cursor: pointer;
    text-indent: -9999px;
    width: 40px;
    height: 26px;
    display: block;
    border-radius: 26px;
    position: relative;
    padding: 0;
    border: 3px solid #000; }
    .toggle-btn label:after {
      content: '';
      position: absolute;
      top: 3px;
      left: 3px;
      width: 14px;
      height: 14px;
      background: #000;
      border-radius: 20px;
      transition: 0.3s; }
  .toggle-btn input:checked + label {
    border: 3px solid #fff; }
  .toggle-btn input:checked + label:after {
    left: calc(100% - 3px);
    transform: translateX(-100%);
    background: #fff; }
  .toggle-btn label:active:after {
    width: 14px; }

/* --- Color Toggle Button --- */
.toggle-xs-btn {
  width: 22px;
  height: 22px;
  z-index: 100;
  cursor: pointer;
  position: absolute;
  right: 86px;
  top: 21px; }
  @media (min-width: 1200px) {
    .toggle-xs-btn {
      position: relative;
      margin: 16px 20px 0 0;
      top: 0;
      right: 0; } }
  .toggle-xs-btn a {
    overflow: hidden;
    background: transparent;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border: 3px solid #000;
    line-height: 1.5;
    border-radius: 22px;
    height: 22px;
    width: 22px;
    display: block;
    position: relative; }
    .toggle-xs-btn a:after {
      content: '';
      position: absolute;
      width: 50%;
      height: 100%;
      background: #000;
      top: 0;
      right: 0; }

/* --- Search Button --- */
.search-xs {
  width: 24px;
  height: 24px;
  z-index: 100;
  cursor: pointer;
  position: absolute;
  right: 40px;
  top: 20px; }
  .search-xs a:after {
    position: absolute;
    width: 24px;
    height: 24px;
    content: "";
    background-image: url("../../img/front/icon-search-solid.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }

/* --- Burger Button --- */
.burger {
  width: 20px;
  height: 20px;
  z-index: 100;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 20px; }

.burger .inner {
  width: 24px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -7px 0 0 -9px; }

.burger .inner .icon-bar {
  width: 100%;
  height: 3px;
  position: absolute;
  right: 0;
  background: #111111;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.burger .inner .icon-bar.top {
  top: 0; }

.burger .inner .icon-bar.middle {
  top: 50%;
  margin-top: -1px; }

.burger .inner .icon-bar.bottom {
  bottom: 0;
  width: 60%; }

.burger .inner:hover .icon-bar {
  width: 100%; }

.burger {
  font-size: 19px;
  vertical-align: middle;
  padding-right: 10px; }

/* --- Dark Layout --- */
.layout-dark .burger .inner .icon-bar {
  background: #fff; }
.layout-dark .search-xs a:after {
  filter: invert(98%) sepia(5%) saturate(629%) hue-rotate(187deg) brightness(117%) contrast(100%); }
.layout-dark .toggle-xs-btn a {
  border: 3px solid #fff; }
  .layout-dark .toggle-xs-btn a:after {
    background: #fff; }
@media (min-width: 1200px) {
  .layout-dark #header .header-layout {
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff; } }
@media (min-width: 1200px) {
  .layout-dark #header .header-layout .header-primary {
    border-left: 3px solid #fff; } }
.layout-dark #header .header-layout .header-primary .menu-primary {
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff; }
  @media (min-width: 1200px) {
    .layout-dark #header .header-layout .header-primary .menu-primary {
      border: none; } }
@media (min-width: 1200px) {
  .layout-dark #header .header-layout .header-secondary {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff; } }
@media (min-width: 1200px) {
  .layout-dark #header .header-layout .header-secondary .menu-secondary {
    border-left: 3px solid #fff; } }

/* -----------------------------------------------------------------
    - Footer
----------------------------------------------------------------- */
.footer-nav li {
  margin-bottom: 30px; }
  .footer-nav li a {
    font-size: 30px;
    line-height: 30px;
    color: rgba(124, 124, 124, 0.1);
    font-weight: 500;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .footer-nav li a:hover {
      text-decoration: none;
      color: #ededed; }

.has-pad-left {
  padding-left: 20px; }

.footer-content {
  border-top: 3px solid #000;
  padding-top: 25px; }

.site-footer {
  position: relative;
  padding-bottom: 30px;
  margin-top: 40px;
  font-weight: 500; }
  @media (min-width: 1025px) {
    .site-footer {
      padding-bottom: 60px;
      margin-top: 100px; } }

.footer-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  /*justify-content: flex-end;*/ }
  .footer-menu li {
    display: inline-block;
    margin-right: 15px;
    padding-bottom: 10px; }
    @media (min-width: 1025px) {
      .footer-menu li:before {
        content: "";
        display: inline-block;
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background-color: #000;
        vertical-align: middle;
        margin-right: 15px; } }
    .footer-menu li:first-of-type:before {
      display: none; }
    .footer-menu li:last-of-type {
      margin-right: 0; }
    .footer-menu li a {
      font-size: 13px;
      letter-spacing: .5px;
      text-transform: uppercase;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
      display: inline-block; }
      .footer-menu li a:hover {
        text-decoration: none;
        opacity: 1; }

.copyright-text {
  line-height: 1.4; }

#sendinblue-form h2 {
  margin-bottom: 15px; }
#sendinblue-form p {
  line-height: 20px;
  margin-bottom: 10px; }
#sendinblue-form .sib-form {
  padding: 15px 0 0 0; }
  #sendinblue-form .sib-form .input:not(textarea), #sendinblue-form .sib-form .sib-form .input__button {
    height: calc(3.5rem - 2px); }
  #sendinblue-form .sib-form .input:first-child, #sendinblue-form .sib-form .sib-form .input__affix:first-child {
    padding-left: 1rem; }
  #sendinblue-form .sib-form .sib-form-message-panel {
    padding: 0;
    border: 0; }
    #sendinblue-form .sib-form .sib-form-message-panel .sib-form-message-panel__inner-text {
      text-align: left; }
    #sendinblue-form .sib-form .sib-form-message-panel#success-message {
      color: #89b61d; }
    #sendinblue-form .sib-form .sib-form-message-panel#error-message {
      color: #e4081b; }
  #sendinblue-form .sib-form #sib-container {
    background: none;
    margin: 0 auto;
    padding: 0; }
    #sendinblue-form .sib-form #sib-container .entry__error {
      color: #e4081b; }
    #sendinblue-form .sib-form #sib-container .sib-form-block {
      padding: 0; }
      #sendinblue-form .sib-form #sib-container .sib-form-block .entry__field {
        border: 3px solid #000;
        border-radius: 0;
        margin: 0; }
      #sendinblue-form .sib-form #sib-container .sib-form-block .sib-form-block__button-with-loader {
        min-height: 50px;
        min-width: 200px;
        background: #000;
        color: #fff;
        transition: 0.3s; }
        #sendinblue-form .sib-form #sib-container .sib-form-block .sib-form-block__button-with-loader:hover {
          background: #93b33f; }
        #sendinblue-form .sib-form #sib-container .sib-form-block .sib-form-block__button-with-loader path {
          fill: white; }

aside.corner-notifications {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999; }
  aside.corner-notifications .notification {
    position: relative;
    background: #fff;
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.16);
    width: calc(100% - 30px);
    padding: 30px;
    margin-left: 15px; }
    aside.corner-notifications .notification h4, aside.corner-notifications .notification p {
      color: #000 !important; }
    aside.corner-notifications .notification a {
      display: inline-block;
      margin-right: 15px;
      text-decoration: underline;
      font-weight: 500;
      margin-bottom: 10px; }
      aside.corner-notifications .notification a#accept-cookies {
        color: #89b51e; }
      aside.corner-notifications .notification a#refuse-cookies {
        color: #e4091b; }
    aside.corner-notifications .notification p {
      line-height: 25px;
      margin: 20px 0; }
  @media (min-width: 991px) {
    aside.corner-notifications {
      -ms-box-orient: horizontal;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -moz-flex;
      display: -webkit-flex;
      display: flex; }
      aside.corner-notifications .notification {
        width: 500px;
        padding: 30px;
        margin-left: 30px; }
        aside.corner-notifications .notification a#refuse-cookies {
          float: right; } }

/* -----------------------------------------------------------------
    - Lists
----------------------------------------------------------------- */
ul {
  padding: 0; }
  ul li {
    list-style: none; }

.nav-recap li {
  display: inline-block;
  padding-bottom: 15px;
  padding-right: 15px; }

ol.breadcrumb {
  list-style: none;
  background: none;
  padding: 50px 0 20px 0;
  margin: 0; }
  ol.breadcrumb li {
    display: inline;
    font-size: 13px;
    font-weight: 500; }
    ol.breadcrumb li + li:before {
      padding: 4px 0 4px 8px;
      content: "/\00a0"; }
    ol.breadcrumb li a {
      position: relative;
      padding-bottom: 6px; }
      ol.breadcrumb li a:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: #000;
        transform: scaleX(0);
        transform-origin: right;
        transition: transform .2s ease-out; }
      ol.breadcrumb li a:hover:after {
        transform: scaleX(1);
        transform-origin: left; }

body.layout-dark ol.breadcrumb a:after {
  background: #fff; }

/* -----------------------------------------------------------------
    - Buttons
----------------------------------------------------------------- */
.btn {
  position: relative;
  display: inline-block;
  padding: 0;
  border-radius: 0;
  background: none; }
  .btn.focus, .btn:focus {
    outline: 0;
    box-shadow: none; }
  .btn span {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    padding: 18px 38px 18px 10px;
    display: inline-block;
    background: transparent no-repeat center center;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    @media (min-width: 1025px) {
      .btn span {
        font-size: 18px;
        padding: 18px 78px 18px 30px; } }
  .btn.btn-arrow:after {
    position: absolute;
    top: 22px;
    right: 20px;
    content: "";
    background-image: url("../../img/front/icon-arrow-right-regular.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 18px;
    height: 12px; }
    @media (min-width: 1025px) {
      .btn.btn-arrow:after {
        right: 30px; } }
  .btn.btn-outline.btn-square span {
    padding: 15px 20px; }
  .btn.btn-outline span {
    padding: 15px 48px 15px 20px;
    border: 3px solid #000; }
    @media (min-width: 1025px) {
      .btn.btn-outline span {
        padding: 15px 78px 15px 30px; } }
  .btn.btn-outline:hover {
    background: #000; }
  .btn.btn-primary {
    border: none; }
    .btn.btn-primary span {
      background: #000;
      color: #fff; }
    .btn.btn-primary:after {
      position: absolute;
      top: 22px;
      right: 20px;
      content: "";
      background-image: url("../../img/front/icon-arrow-right-regular-white.svg");
      background-size: 100%;
      background-position: center;
      background-repeat: no-repeat;
      width: 18px;
      height: 12px; }
      @media (min-width: 1025px) {
        .btn.btn-primary:after {
          right: 30px; } }
    .btn.btn-primary:hover span {
      background: #93b43f; }
    .btn.btn-primary.btn-search:after {
      background-image: url("../../img/front/icon-search-solid-white.svg");
      top: 16px;
      width: 20px;
      height: 20px; }
  .btn.btn-prev:after {
    position: absolute;
    top: 18px;
    left: 20px;
    content: "";
    background-image: url("../../img/front/icon-chevron-left-solid.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 12px;
    height: 19px; }
    @media (min-width: 1025px) {
      .btn.btn-prev:after {
        right: 30px; } }
  .btn.btn-prev span {
    padding: 15px 20px 15px 48px; }
  @media (min-width: 1025px) {
    .btn.btn-prev span {
      padding: 18px 30px 18px 78px; } }
  .btn.btn-next:after {
    position: absolute;
    top: 18px;
    right: 20px;
    content: "";
    background-image: url("../../img/front/icon-chevron-right-solid.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 12px;
    height: 19px; }
    @media (min-width: 1025px) {
      .btn.btn-next:after {
        right: 30px; } }
  .btn.theme-music:hover {
    background: linear-gradient(180deg, #c7051f, #E30624); }
  .btn.theme-music:hover span {
    background: url("../../img/front/theme-music-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
  .btn.theme-theater:hover {
    background: linear-gradient(180deg, #f57a00, #f39700); }
  .btn.theme-theater:hover span {
    background: url("../../img/front/theme-theater-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
  .btn.theme-dance:hover {
    background: linear-gradient(180deg, #80176E, #981b83); }
  .btn.theme-dance:hover span {
    background: url("../../img/front/theme-dance-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
  .btn.theme-other:hover {
    background: linear-gradient(180deg, #008c99, #00a4b3); }
  .btn.theme-other:hover span {
    background: url("../../img/front/theme-other-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
  .btn:hover span {
    color: #fff; }
  .btn:hover.btn-outline span {
    border: 3px solid transparent; }
  .btn:hover:after {
    animation: animate-arrow-right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }
  .btn:hover.btn-prev:after {
    background-image: url("../../img/front/icon-chevron-left-solid-white.svg"); }
  .btn:hover.btn-next:after {
    background-image: url("../../img/front/icon-chevron-right-solid-white.svg"); }

a {
  position: relative; }
  a.focus, a:focus {
    outline: 0;
    box-shadow: none; }
  a.u-effect {
    padding-bottom: 6px; }
    a.u-effect:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background: #000;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .2s ease-out; }
    a.u-effect:hover:after {
      transform: scaleX(1);
      transform-origin: left; }

button.focus, button:focus {
  outline: 0;
  box-shadow: none; }
button.btn {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 16px 48px 16px 20px;
  display: inline-block;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background: #000;
  color: #fff;
  position: relative; }
  @media (min-width: 1025px) {
    button.btn {
      padding: 16px 78px 16px 30px; } }
  button.btn.btn-primary {
    border: 2px solid #000; }
  button.btn.btn-outline {
    border: 2px solid #000; }
  button.btn.btn-arrow:after {
    position: absolute;
    top: 18px;
    right: 20px;
    content: "";
    background-image: url("../../img/front/icon-arrow-right-regular-white.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 18px;
    height: 12px; }
    @media (min-width: 1025px) {
      button.btn.btn-arrow:after {
        right: 30px; } }
  button.btn.btn-search:after {
    background-image: url("../../img/front/icon-search-solid-white.svg");
    top: 16px;
    width: 20px;
    height: 20px; }
button:hover.btn.btn-primary {
  background: #93b43f !important;
  border: 2px solid #93b43f !important; }

.btns-arrows {
  display: inline-block; }
  .btns-arrows a {
    display: inline-block;
    width: 24px;
    height: 24px; }
    .btns-arrows a:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 24px;
      height: 24px;
      background-repeat: no-repeat; }
    .btns-arrows a.prev:after {
      background-image: url("../../img/front/icon-chevron-left-solid.svg"); }
    .btns-arrows a.next:after {
      background-image: url("../../img/front/icon-chevron-right-solid.svg"); }
    .btns-arrows a:hover.prev:after {
      background-image: url("../../img/front/icon-chevron-left-solid-blank.svg"); }
    .btns-arrows a:hover.next:after {
      background-image: url("../../img/front/icon-chevron-right-solid-blank.svg"); }

body.layout-dark .btns-arrows a.prev:after {
  background-image: url("../../img/front/icon-chevron-left-solid-white.svg"); }
body.layout-dark .btns-arrows a.next:after {
  background-image: url("../../img/front/icon-chevron-right-solid-white.svg"); }
body.layout-dark .btns-arrows a:hover.prev:after {
  background-image: url("../../img/front/icon-chevron-left-solid-blank.svg"); }
body.layout-dark .btns-arrows a:hover.next:after {
  background-image: url("../../img/front/icon-chevron-right-solid-blank.svg"); }
body.layout-dark button.btn-primary {
  background: #fff;
  border: 3px solid #fff;
  color: #121212; }
  body.layout-dark button.btn-primary.btn-search:after {
    background-image: url("../../img/front/icon-search-solid.svg"); }
body.layout-dark button.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular.svg"); }
body.layout-dark button:hover.btn-primary {
  background: #93b43f; }
body.layout-dark .btn.btn-primary {
  background: #fff; }
  body.layout-dark .btn.btn-primary.btn-arrow:after {
    background-image: url("../../img/front/icon-arrow-right-regular.svg"); }
body.layout-dark .btn.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }
body.layout-dark .btn.btn-prev:after {
  background-image: url("../../img/front/icon-chevron-left-solid-white.svg"); }
body.layout-dark .btn.btn-next:after {
  background-image: url("../../img/front/icon-chevron-right-solid-white.svg"); }
body.layout-dark .btn:hover.btn-primary span {
  background: #93b43f; }
body.layout-dark .bg-white .btn.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular.svg"); }
body.layout-dark .bg-white .btn:hover.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }
body.layout-dark #header .btn.btn-search:after {
  background-image: url("../../img/front/icon-search-solid.svg"); }
body.layout-dark a.u-effect:after {
  background: #fff; }

/* ---------------------------------
    - Pagination
--------------------------------- */
.pagination-range {
  float: right;
  font-size: 15px;
  font-weight: 500; }

.pagination {
  display: inline-flex;
  flex-wrap: wrap;
  text-align: center; }
  .pagination > span a {
    display: block;
    padding: 11px;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-weight: 500;
    border: 2px solid transparent; }
    .pagination > span a:hover {
      border: 2px solid #000; }
  .pagination > li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex; }
    .pagination > li > a {
      padding: 9px;
      min-width: 42px;
      font-weight: 600;
      line-height: 1.35;
      margin-right: 10px;
      margin-bottom: 10px;
      -webkit-transition: .35s ease-in-out;
      -moz-transition: .35s ease-in-out;
      transition: .35s ease-in-out;
      border: 2px solid transparent; }
      .pagination > li > a:hover {
        border: 2px solid #000; }
    .pagination > li > span {
      padding: 9px;
      min-width: 42px;
      font-weight: 600;
      line-height: 1.35;
      margin-right: 10px;
      margin-bottom: 10px;
      -webkit-transition: .35s ease-in-out;
      -moz-transition: .35s ease-in-out;
      transition: .35s ease-in-out;
      border: 2px solid transparent; }
      .pagination > li > span:hover {
        border: 2px solid #000; }
  .pagination span.sr-only {
    display: none; }
  .pagination > .disabled > a {
    opacity: 0.4; }
    .pagination > .disabled > a:focus {
      opacity: 0.4; }
    .pagination > .disabled > a:hover {
      opacity: 0.4; }
  .pagination > .disabled > span {
    opacity: 0.4; }
    .pagination > .disabled > span:focus {
      opacity: 0.4; }
    .pagination > .disabled > span:hover {
      opacity: 0.4; }
  .pagination > .active > a {
    color: #fff;
    border: 2px solid #000;
    background: #000; }
    .pagination > .active > a:focus {
      color: #fff;
      border: 2px solid #000;
      background: #000; }
    .pagination > .active > a:hover {
      color: #fff;
      border: 2px solid #000;
      background: #000; }
  .pagination > .active > span {
    color: #fff;
    border: 2px solid #000;
    background: #000; }
    .pagination > .active > span:focus {
      color: #fff;
      border: 2px solid #000;
      background: #000; }
    .pagination > .active > span:hover {
      color: #fff;
      border: 2px solid #000;
      background: #000; }

/* -----------------------------------------------------------------
    - Widgets
----------------------------------------------------------------- */
.quick-filters li {
  padding-bottom: 3px; }
.quick-filters a {
  position: relative;
  display: block;
  background: #fff;
  padding: 19px 78px 19px 30px; }
  .quick-filters a span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    -webkit-transition: color 0.3s;
    -o-transition: color 0.3s;
    transition: color 0.3s; }
    .quick-filters a span.period {
      color: #999999;
      font-size: 14px;
      font-weight: 400;
      padding-top: 8px; }
  .quick-filters a:after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 30px;
    content: "";
    background-image: url("../../img/front/icon-arrow-right-regular.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 18px;
    height: 12px; }
  .quick-filters a.inverted {
    background: #000;
    color: #fff; }
    .quick-filters a.inverted:after {
      background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }
  .quick-filters a:hover:after {
    animation: animate-arrow-right 0.4s cubic-bezier(0.77, 0, 0.175, 1); }

#calendar {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 30px; }
  #calendar .header {
    height: 50px;
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 100; }
    #calendar .header h1 {
      margin: 0;
      padding: 0;
      font-size: 16px;
      line-height: 50px;
      letter-spacing: 1px; }
  #calendar .left {
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    top: 50%;
    margin-top: -7.5px;
    cursor: pointer;
    border-width: 7.5px 10px 7.5px 0;
    border-color: transparent #a09fa0 transparent transparent;
    left: 20px; }
  #calendar .right {
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    top: 50%;
    margin-top: -7.5px;
    cursor: pointer;
    border-width: 7.5px 0 7.5px 10px;
    border-color: transparent transparent transparent #a09fa0;
    right: 20px; }
  #calendar .month {
    opacity: 0; }
  #calendar .month.new {
    -webkit-animation: fadeIn 1s ease-out;
    opacity: 1; }
  #calendar .month.in.next {
    -webkit-animation: moveFromTopFadeMonth .4s ease-out;
    -moz-animation: moveFromTopFadeMonth .4s ease-out;
    animation: moveFromTopFadeMonth .4s ease-out;
    opacity: 1; }
  #calendar .month.out.next {
    -webkit-animation: moveToTopFadeMonth .4s ease-in;
    -moz-animation: moveToTopFadeMonth .4s ease-in;
    animation: moveToTopFadeMonth .4s ease-in;
    opacity: 1; }
  #calendar .month.in.prev {
    -webkit-animation: moveFromBottomFadeMonth .4s ease-out;
    -moz-animation: moveFromBottomFadeMonth .4s ease-out;
    animation: moveFromBottomFadeMonth .4s ease-out;
    opacity: 1; }
  #calendar .month.out.prev {
    -webkit-animation: moveToBottomFadeMonth .4s ease-in;
    -moz-animation: moveToBottomFadeMonth .4s ease-in;
    animation: moveToBottomFadeMonth .4s ease-in;
    opacity: 1; }
  #calendar .day {
    display: inline-block;
    width: 14%;
    padding: 2px 0;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    position: relative;
    z-index: 100; }
    #calendar .day .day-events {
      list-style: none;
      margin-top: 3px;
      text-align: center;
      height: 12px;
      line-height: 6px;
      overflow: hidden; }
      #calendar .day .day-events span {
        vertical-align: top;
        display: inline-block;
        padding: 0;
        margin: 0;
        width: 5px;
        height: 5px;
        line-height: 5px;
        margin: 0 1px; }
  #calendar .day.today {
    font-weight: 900; }
  #calendar .day.other {
    color: #dddddd; }
    #calendar .day.other .day-name {
      color: #dddddd; }
  #calendar .day-name {
    font-size: 9px;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: #aaaaaa;
    letter-spacing: .7px; }
  #calendar .day-number {
    font-size: 14px;
    letter-spacing: 1.5px; }
  #calendar .blue {
    background: #9ccaeb; }
  #calendar .orange {
    background: #f7a700; }
  #calendar .green {
    background: #99c66d; }
  #calendar .yellow {
    background: #f9e900; }
  #calendar .category_music {
    background: #E30624; }
  #calendar .category_dance {
    background: #80176E; }
  #calendar .category_other {
    background: #009BA9; }
  #calendar .category_theater {
    background: #F39700; }
  #calendar .category_children {
    background: #CCCCCC; }
  #calendar .details {
    position: relative;
    width: 100%;
    background: #000;
    color: #fff;
    margin-top: 5px; }
  #calendar .details.in {
    -webkit-animation: moveFromTopFade .5s ease both;
    -moz-animation: moveFromTopFade .5s ease both;
    animation: moveFromTopFade .5s ease both; }
  #calendar .details.out {
    -webkit-animation: moveToTopFade .5s ease both;
    -moz-animation: moveToTopFade .5s ease both;
    animation: moveToTopFade .5s ease both; }
    #calendar .details.out .events {
      -webkit-animation: fadeOutShrink .4s ease both;
      -moz-animation: fadeOutShink .4s ease both;
      animation: fadeOutShink .4s ease both; }
  #calendar .arrow {
    position: absolute;
    top: -5px;
    left: 50%;
    margin-left: -2px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 5px 5px 5px;
    border-color: transparent transparent #000 transparent;
    transition: all 0.7s ease; }
  #calendar .events {
    padding: 7px 0;
    margin-bottom: 4px;
    overflow-y: auto;
    overflow-x: hidden; }
  #calendar .events.in {
    -webkit-animation: fadeIn .3s ease both;
    -moz-animation: fadeIn .3s ease both;
    animation: fadeIn .3s ease both;
    -webkit-animation-delay: .3s;
    -moz-animation-delay: .3s;
    animation-delay: .3s; }
  #calendar .events.out {
    -webkit-animation: fadeOut .3s ease both;
    -moz-animation: fadeOut .3s ease both;
    animation: fadeOut .3s ease both; }
  #calendar .event {
    font-size: 14px;
    line-height: 22px;
    letter-spacing: .5px;
    padding: 2px 16px;
    vertical-align: top; }
    #calendar .event span {
      display: inline-block;
      padding: 0 0 0 7px;
      font-size: 14px; }
  #calendar .event.empty {
    color: #eee; }
  #calendar .event-category {
    height: 10px;
    width: 10px;
    display: inline-block;
    margin: 6px 0 0;
    vertical-align: top; }
  #calendar .legend {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30px;
    background: #3c3c3c;
    line-height: 30px; }
  #calendar .entry {
    position: relative;
    padding: 0 0 0 25px;
    font-size: 13px;
    display: inline-block;
    line-height: 30px;
    background: transparent; }
    #calendar .entry:after {
      position: absolute;
      content: '';
      height: 5px;
      width: 5px;
      top: 12px;
      left: 14px; }
  #calendar .entry.blue:after {
    background: #9ccaeb; }
  #calendar .entry.orange:after {
    background: #f7a700; }
  #calendar .entry.green:after {
    background: #99c66d; }
  #calendar .entry.yellow:after {
    background: #f9e900; }

.page.spectacle.theme-music #calendar .day.today {
  color: #E30624; }

.page.spectacle.theme-theater #calendar .day.today {
  color: #F39700; }

.page.spectacle.theme-dance #calendar .day.today {
  color: #80176E; }

.page.spectacle.theme-other #calendar .day.today {
  color: #009BA9; }

body.layout-dark .sidebar-content a {
  color: #121212; }
body.layout-dark .spectacle-sidebar a.btn span {
  color: #121212;
  border: 3px solid #000; }
body.layout-dark .spectacle-sidebar a.btn.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular.svg"); }
body.layout-dark .spectacle-sidebar a:hover.btn span {
  color: #fff; }
body.layout-dark .spectacle-sidebar a:hover.btn.btn-arrow:after {
  background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }

/* -----------------------------------------------------------------
    - Showcase Layouts
----------------------------------------------------------------- */
/* --- Carousel --- */
.colova-portfolio-showcase {
  width: 100%; }
  @media (min-width: 1200px) {
    .colova-portfolio-showcase {
      max-height: 420px; } }
  @media (min-width: 1440px) {
    .colova-portfolio-showcase {
      max-height: 520px; } }
  @media (min-width: 1600px) {
    .colova-portfolio-showcase {
      max-height: 580px; } }

.colova-portfolio-showcase video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

.fullscreen {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  overflow: hidden; }

.cp-title-slide {
  position: relative;
  height: 100vh;
  width: 70vw; }

.cp-title {
  opacity: 0.5;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.cp-title:hover {
  opacity: 1; }

.back-titles .cp-title {
  opacity: 1; }

.cp-title-touch {
  width: 33vw; }

.cp-title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: 7.5vw;
  margin: 0;
  font-weight: 700;
  color: #fff;
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cp-title-touch .cp-title {
  font-size: 60px; }

.images-swiper {
  width: 100%;
  height: 100%; }

.cp-titles {
  z-index: 55;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.cp-titles-touch {
  opacity: 1; }

.cp-titles-images {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  overflow: hidden;
  height: 55vh;
  width: 50vw;
  z-index: 44;
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cp-image-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 1.3s;
  -o-transition: all 1.3s;
  transition: all 1.3s; }

.cp-image-wrapper img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

.swiper-slide-active .cp-image-wrapper {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.cp-titles-image {
  overflow: hidden; }

.cp-titles-image .slide-bgimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover; }

.cp-toggle {
  opacity: 1; }

.slide-anim {
  -webkit-animation-name: slideAnim;
  animation-name: slideAnim;
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

@-webkit-keyframes slideAnim {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05); } }
@keyframes slideAnim {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05); } }
.back-titles {
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: 0;
  z-index: 33; }

.discover-p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 55vh;
  width: 50vw;
  z-index: 999;
  pointer-events: none; }

.discover-p-link {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 400%);
  -ms-transform: translate(-50%, 400%);
  transform: translate(-50%, 400%);
  font-size: 12px;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  letter-spacing: 2px;
  pointer-events: all; }

.discover-p-link::before {
  background: #fff; }

/* --- Vertical --- */
.colova-portfolio-showcase {
  background: #fff; }

.swiper-container {
  height: 100%; }

.cv-images-swiper {
  width: 100%; }

.cv-theme-images .cv-images-swiper {
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cv-images {
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cv-images-back {
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cv-titles-image,
.cv-image-wrapper,
.cv-image-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1);
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s; }

.cv-image-wrapper {
  position: relative; }

.cv-image-wrapper .slide-bgimg {
  width: 100%;
  height: 100%; }

.cv-image-wrapper .genre-img {
  opacity: 0.7; }

.cv-image-wrapper img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

.slide-bgimg .ticket-dots {
  position: absolute;
  top: 0;
  width: 3px;
  height: 100%;
  left: 49px;
  background: url("../../img/front/ticket-dots.svg"); }

.slide-bgimg .ticket-dots.before:before {
  content: "";
  position: absolute;
  left: -8px;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background-color: #F5F4EF;
  top: -10px; }

.cv-titles-image {
  overflow: hidden; }

.cv-titles {
  position: relative;
  overflow: initial; }

.cv-meta {
  position: relative;
  height: 100%;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  opacity: 0; }

.cv-title {
  margin: 0;
  font-size: 50px;
  font-weight: 700;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  line-height: 110px; }

.cv-summary {
  width: 60%;
  margin-top: 20px;
  margin-bottom: 60px;
  font-size: 14px;
  line-height: 25px; }

.cv-discover {
  font-size: 30px;
  text-decoration: none;
  letter-spacing: 1px;
  font-weight: 500; }

.swiper-slide-active .cv-meta {
  opacity: 1; }

.cv-slide-control {
  position: absolute;
  right: 0;
  width: 180px;
  height: 50px;
  background: #000;
  z-index: 99;
  text-align: center;
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s;
  pointer-events: none; }
  @media (min-width: 1200px) {
    .cv-slide-control {
      bottom: 131px; } }
  @media (min-width: 1440px) {
    .cv-slide-control {
      bottom: 168px; } }
  @media (min-width: 1600px) {
    .cv-slide-control {
      bottom: 181px; } }

.cv-slide-fraction {
  position: relative;
  width: auto;
  bottom: inherit;
  align-items: center;
  justify-content: center;
  display: flex; }

.cv-slide-pagination {
  position: relative;
  pointer-events: all;
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap; }

.cv-slide-pagination i {
  font-size: 13px;
  cursor: pointer;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }

.cv-slide-prev, .cv-slide-next {
  width: 40px;
  height: 50px;
  background-size: 10px;
  background-position: center;
  background-repeat: no-repeat;
  outline: none; }

.cv-slide-prev {
  background-image: url("../../img/front/chevron-left-regular-white.svg"); }

.cv-slide-next {
  background-image: url("../../img/front/chevron-right-regular-white.svg"); }

.cv-slide-fraction span {
  font-size: 18px;
  line-height: 26px;
  color: #fff;
  vertical-align: middle;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }

.cv-slide-fraction span.swiper-pagination-current:before, .cv-slide-fraction span.swiper-pagination-total:before {
  content: '0';
  padding-right: 1px; }

.swiper-button-disabled {
  opacity: .4; }

.bar_progress {
  width: 30px;
  background-color: rgba(255, 255, 255, 0.4);
  height: 2px;
  position: relative;
  margin: 0 10px; }

.bar_progress .bar_ing {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  margin: 0;
  padding: 0;
  background-color: #fff; }

.slide-theme {
  position: relative;
  height: 182px; }
  @media (min-width: 1200px) {
    .slide-theme {
      height: 131px; } }
  @media (min-width: 1440px) {
    .slide-theme {
      height: 168px; } }
  @media (min-width: 1600px) {
    .slide-theme {
      height: 182px; } }

.slide-theme .cv-title-slide {
  padding-right: 180px; }

.slide-theme .cv-titles-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 180px;
  height: 182px;
  padding: 0 !important; }
  @media (min-width: 1200px) {
    .slide-theme .cv-titles-image {
      height: 131px; } }
  @media (min-width: 1440px) {
    .slide-theme .cv-titles-image {
      height: 168px; } }
  @media (min-width: 1600px) {
    .slide-theme .cv-titles-image {
      height: 182px; } }

.slide-theme .card-summary {
  padding-bottom: 20px; }

.slide-theme .theme-title {
  position: relative;
  font-size: 40px;
  color: #fff;
  font-weight: 300;
  width: 100%; }
  @media (min-width: 1200px) {
    .slide-theme .theme-title {
      font-size: 30px; } }
  @media (min-width: 1440px) {
    .slide-theme .theme-title {
      font-size: 40px; } }

.slide-theme .theme-title span {
  display: inline-block;
  border-bottom: 3px solid #fff;
  font-weight: 400; }

.slide-theme .theme-title:after {
  position: absolute;
  top: 50%;
  right: 0;
  content: "";
  background-image: url("../../img/front/icon-arrow-right-regular-white.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  height: 13px;
  width: 20px; }

.slide-theme:hover .theme-title:after {
  animation: animate-arrow-right 0.4s cubic-bezier(0.77, 0, 0.175, 1); }

.swiper-wrapper .card.card-spectacle {
  padding-right: 0; }
  .swiper-wrapper .card.card-spectacle:hover img {
    transform: scale(1.03); }

.swiper-wrapper {
  max-height: 580px; }
  @media (min-width: 1200px) {
    .swiper-wrapper {
      max-height: 420px; } }
  @media (min-width: 1440px) {
    .swiper-wrapper {
      max-height: 520px; } }
  @media (min-width: 1600px) {
    .swiper-wrapper {
      max-height: 580px; } }
  .swiper-wrapper a.card.card-spectacle:hover {
    -ms-transform: none;
    -webkit-transform: none;
    transform: none; }

.swiper-wrapper .card.card-spectacle .card-body {
  padding: 30px; }

.swiper-wrapper .card.card-spectacle .card-body:before {
  top: 108px; }

.swiper-wrapper .card.card-spectacle .card-title {
  font-size: 26px;
  line-height: 34px;
  margin-bottom: 10px; }
  @media (min-width: 1200px) {
    .swiper-wrapper .card.card-spectacle .card-title {
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      line-clamp: 3;
      -webkit-line-clamp: 3; } }
  @media (min-width: 1440px) {
    .swiper-wrapper .card.card-spectacle .card-title {
      line-clamp: 4;
      -webkit-line-clamp: 4; } }

.swiper-wrapper .card.card-spectacle .card-subtitle {
  font-size: 20px;
  line-height: 26px;
  font-weight: 600; }

.swiper-wrapper .card.card-spectacle .card-date {
  position: relative;
  top: inherit;
  right: inherit;
  margin-bottom: 30px; }

.swiper-wrapper .card.card-spectacle .card-description {
  font-size: 15px;
  line-height: 26px; }

.swiper-wrapper .card.card-spectacle .card-description {
  line-clamp: 4;
  -webkit-line-clamp: 4; }
  @media (min-width: 1440px) {
    .swiper-wrapper .card.card-spectacle .card-description {
      line-clamp: 6;
      -webkit-line-clamp: 6; } }

.swiper-wrapper .card.card-spectacle .card-text {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500; }

.swiper-wrapper .card.card-spectacle .card-location {
  font-size: 17px;
  line-height: 26px;
  font-weight: 500; }

.swiper-wrapper .card.card-spectacle .card-tags {
  position: absolute;
  bottom: 0;
  padding-bottom: 0;
  padding-right: 30px; }

.card-body-wrapper {
  position: relative;
  height: 100%; }

/* -----------------------------------------------------------------
    - Cards
----------------------------------------------------------------- */
.card-img {
  position: relative;
  height: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  border-radius: 0; }
  .card-img img {
    transform: scale(1); }
  .card-img .ticket-dots {
    position: absolute;
    top: 0;
    width: 3px;
    height: 100%;
    left: 49px;
    background: url("../../img/front/ticket-dots.svg"); }
  .card-img .ticket-dots.before:before {
    content: "";
    position: absolute;
    left: -8px;
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background-color: #F5F4EF;
    top: -10px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
  .card-img .ticket-dots.after:after {
    content: "";
    position: absolute;
    left: -8px;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background-color: #F5F4EF;
    display: none;
    bottom: -10px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }

.card {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  height: 100%;
  border: none;
  border-radius: 0;
  transition: all .3s;
  -webkit-transition: all .3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

.card-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1px;
  padding: 30px;
  color: #121212; }

.card-title {
  margin-bottom: 18px;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  position: relative;
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s; }

.card-subtitle {
  font-size: 14px;
  line-height: 21px;
  margin-bottom: 30px;
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s; }

.card-text {
  font-size: 14px;
  line-height: 21px;
  margin-bottom: 30px;
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s;
  font-size: 14px;
  line-height: 21px;
  margin-bottom: 30px;
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s; }

.card-location {
  font-size: 14px;
  line-height: 21px;
  margin-bottom: 30px;
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s; }

.card-img-top {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%; }

.card-img-bottom {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%; }

.empty-thumb {
  position: absolute;
  width: 100%;
  height: 100%; }
  .empty-thumb:after {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; }
  .empty-thumb .bg-pattern-cubes {
    width: 100%;
    height: 100%; }
  .empty-thumb .label-theme {
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 10px 20px;
    color: rgba(255, 255, 255, 0.7);
    transform: translateX(-50%) translateY(-50%);
    font-size: 18px; }
  .empty-thumb.bg-theme-music .label-theme {
    background: #E30624; }
  .empty-thumb.bg-theme-theater .label-theme {
    background: #F39700; }
  .empty-thumb.bg-theme-dance .label-theme {
    background: #80176E; }
  .empty-thumb.bg-theme-other .label-theme {
    background: #009BA9; }

.pattern-cubes {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 1; }

.tags {
  position: relative;
  padding-bottom: 30px;
  padding-right: 30px;
  width: 100%; }
  .tags:after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    background-image: url("../../img/front/icon-arrow-right-regular.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 13px;
    width: 20px; }
  .tags li {
    font-size: 13px;
    margin-right: 15px;
    display: inline-block; }
    .tags li:before {
      content: "";
      display: inline-block;
      width: 5px;
      height: 10px;
      background-color: #000;
      vertical-align: middle;
      margin-right: 5px;
      margin-top: -3px; }
    .tags li:last-of-type {
      margin-right: 0; }
  .tags li.theme-music:before {
    background-color: #E30624; }
  .tags li.theme-theater:before {
    background-color: #F39700; }
  .tags li.theme-dance:before {
    background-color: #80176E; }
  .tags li.theme-other:before {
    background-color: #009BA9; }
  .tags li.theme-children:before {
    background-color: #CCCCCC; }
  .tags li.theme-sub-theme:before {
    background-color: #CCCCCC; }

.genres {
  margin-top: 10px;
  color: #fff; }
  .genres li {
    font-size: 13px;
    line-height: 1.4;
    margin-right: 15px;
    display: inline-block; }

.card.card-theme .card-summary {
  font-size: 20px;
  line-height: 26px;
  color: #fff; }
  @media (min-width: 1200px) {
    .card.card-theme .card-summary {
      font-size: 18px;
      line-height: 24px; } }
  @media (min-width: 1440px) {
    .card.card-theme .card-summary {
      font-size: 20px;
      line-height: 26px; } }
.card.card-theme > div {
  padding: 35px 40px 0 40px; }
  @media (min-width: 1200px) {
    .card.card-theme > div {
      padding: 22px 40px 0; } }
  @media (min-width: 1440px) {
    .card.card-theme > div {
      padding: 35px 40px 0 40px; } }

.card.card-theme.theme-music {
  background: linear-gradient(180deg, #c7051f, #E30624); }
  .card.card-theme.theme-music > div {
    background: url("../../img/front/theme-music-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.card.card-theme.theme-theater {
  background: linear-gradient(180deg, #f57a00, #f39700); }
  .card.card-theme.theme-theater > div {
    background: url("../../img/front/theme-theater-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.card.card-theme.theme-dance {
  background: linear-gradient(180deg, #80176E, #981b83); }
  .card.card-theme.theme-dance > div {
    background: url("../../img/front/theme-dance-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.card.card-theme.theme-other {
  background: linear-gradient(180deg, #008c99, #00a4b3); }
  .card.card-theme.theme-other > div {
    background: url("../../img/front/theme-other-cubes.svg") repeat 20px 20px;
    background-size: 70px; }

.card.card-spectacle.card-thumbnail {
  padding-right: 0; }
  .card.card-spectacle.card-thumbnail .card-img {
    position: relative;
    height: auto; }
    .card.card-spectacle.card-thumbnail .card-img .ticket-dots {
      left: 38px; }
  .card.card-spectacle.card-thumbnail .card-body:before {
    left: 20px;
    width: 40px; }
  .card.card-spectacle.card-thumbnail .card-title {
    font-size: 19px;
    line-height: 26px; }

.card.card-spectacle.card-inverted .card-body {
  background: #000; }
.card.card-spectacle.card-inverted .card-title {
  color: #fff; }
.card.card-spectacle.card-inverted .card-text {
  color: #fff; }
.card.card-spectacle.card-inverted .card-description {
  color: #fff; }
.card.card-spectacle.card-inverted .card-tags {
  color: #fff; }
  .card.card-spectacle.card-inverted .card-tags:after {
    background-image: url("../../img/front/icon-arrow-right-regular-white.svg"); }

.card.card-spectacle .image-wrapper {
  height: 100%; }
.card.card-spectacle .card-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 30px;
  height: 100%;
  position: relative; }
  .card.card-spectacle .card-body:before {
    content: "";
    position: absolute;
    left: 20px;
    width: 40px;
    top: 44px;
    height: 3px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  @media (min-width: 992px) {
    .card.card-spectacle .card-body:before {
      left: 15px;
      width: 80px; } }
.card.card-spectacle .card-description {
  font-size: 15px;
  line-height: 23px;
  margin-bottom: 30px;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 6;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical; }
.card.card-spectacle .card-tags {
  position: relative;
  width: 100%;
  padding-right: 30px; }
  .card.card-spectacle .card-tags:after {
    position: absolute;
    bottom: 4px;
    right: 0;
    content: "";
    background-image: url("../../img/front/icon-arrow-right-regular.svg");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 13px;
    width: 20px; }
  .card.card-spectacle .card-tags li {
    font-size: 13px;
    margin-right: 15px;
    display: inline-block;
    line-height: 1.6; }
    .card.card-spectacle .card-tags li:before {
      content: "";
      display: inline-block;
      width: 5px;
      height: 10px;
      background-color: #000;
      vertical-align: middle;
      margin-top: -3px; }
    .card.card-spectacle .card-tags li:last-of-type {
      margin-right: 0; }
  .card.card-spectacle .card-tags li.theme-music:before {
    background-color: #E30624; }
  .card.card-spectacle .card-tags li.theme-theater:before {
    background-color: #F39700; }
  .card.card-spectacle .card-tags li.theme-dance:before {
    background-color: #80176E; }
  .card.card-spectacle .card-tags li.theme-other:before {
    background-color: #009BA9; }
  .card.card-spectacle .card-tags li.theme-children:before {
    background-color: #CCCCCC; }
  .card.card-spectacle .card-tags li.theme-sub-theme:before {
    background-color: #CCCCCC; }
.card.card-spectacle .card-time {
  position: absolute;
  width: 54px;
  top: 0;
  right: 0;
  height: 100%; }
  .card.card-spectacle .card-time .card-time-rotate {
    position: absolute;
    white-space: nowrap;
    top: 30px;
    left: 18px;
    border: 0;
    margin-left: 0px;
    margin-top: 0px;
    text-align: right;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: translateX(-100%) rotateZ(-90deg);
    -ms-transform: translateX(-100%) rotate(-90deg);
    transform: translateX(-100%) rotateZ(-90deg);
    z-index: 2; }
.card.card-spectacle .card-date {
  position: absolute;
  top: 0;
  right: 30px;
  color: #fff;
  font-size: 15px; }
  .card.card-spectacle .card-date span {
    padding: 8px 10px;
    display: inline-block; }
  .card.card-spectacle .card-date li {
    padding: 8px 10px;
    display: inline-block;
    margin-right: 3px; }

.card.card-spectacle.has-description .card-description {
  position: absolute;
  top: 33px;
  width: calc(100% - 80px);
  opacity: 0;
  -webkit-transition: .35s ease-in-out 0s;
  -moz-transition: .35s ease-in-out 0s;
  transition: .35s ease-in-out 0s; }

.card.card-spectacle.theme-music .card-time {
  background: linear-gradient(180deg, #c7051f, #E30624); }
  .card.card-spectacle.theme-music .card-time .pattern-cubes {
    background: url("../../img/front/theme-music-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
.card.card-spectacle.theme-music .card-body:before {
  background: #E30624; }
.card.card-spectacle.theme-music .card-date span {
  background: #E30624; }
.card.card-spectacle.theme-music .card-date li {
  background: #E30624; }
.card.card-spectacle.theme-music .card-location {
  color: #E30624; }

.card.card-spectacle.theme-theater .card-time {
  background: linear-gradient(180deg, #f57a00, #f39700); }
  .card.card-spectacle.theme-theater .card-time .pattern-cubes {
    background: url("../../img/front/theme-theater-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
.card.card-spectacle.theme-theater .card-body:before {
  background: #F39700; }
.card.card-spectacle.theme-theater .card-date span {
  background: #F39700; }
.card.card-spectacle.theme-theater .card-date li {
  background: #F39700; }

.card.card-spectacle.theme-dance .card-time {
  background: linear-gradient(180deg, #80176E, #981b83); }
  .card.card-spectacle.theme-dance .card-time .pattern-cubes {
    background: url("../../img/front/theme-dance-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
.card.card-spectacle.theme-dance .card-body:before {
  background: #80176E; }
.card.card-spectacle.theme-dance .card-date span {
  background: #80176E; }
.card.card-spectacle.theme-dance .card-date li {
  background: #80176E; }

.card.card-spectacle.theme-other .card-time {
  background: linear-gradient(180deg, #008c99, #00a4b3); }
  .card.card-spectacle.theme-other .card-time .pattern-cubes {
    background: url("../../img/front/theme-other-cubes.svg") repeat 20px 20px;
    background-size: 70px; }
.card.card-spectacle.theme-other .card-body:before {
  background: #009BA9; }
.card.card-spectacle.theme-other .card-date span {
  background: #009BA9; }
.card.card-spectacle.theme-other .card-date li {
  background: #009BA9; }

a.card.card-spectacle:hover {
  -ms-transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px); }
  a.card.card-spectacle:hover .card-tags:after {
    animation: animate-arrow-right 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
  a.card.card-spectacle:hover .card-img img {
    transform: scale(1.03); }

a.card.card-spectacle.has-description:hover .card-title {
  opacity: 0;
  -webkit-transition: .35s ease-in-out 0s;
  -moz-transition: .35s ease-in-out 0s;
  transition: .35s ease-in-out 0s; }
a.card.card-spectacle.has-description:hover .card-text {
  opacity: 0;
  -webkit-transition: .35s ease-in-out 0s;
  -moz-transition: .35s ease-in-out 0s;
  transition: .35s ease-in-out 0s; }
a.card.card-spectacle.has-description:hover .card-description {
  opacity: 1;
  -webkit-transition: .35s ease-in-out .35s;
  -moz-transition: .35s ease-in-out .35s;
  transition: .35s ease-in-out .35s; }

.card.card-article .image-wrapper {
  min-width: 160px;
  height: 100%; }
.card.card-article .image-wrapper.card-img-right {
  margin: 30px 0;
  height: 180px; }
.card.card-article .card-date {
  font-size: 13px;
  line-height: 18px;
  margin-bottom: 10px; }
.card.card-article .card-tags {
  padding-bottom: 30px;
  font-size: 12px;
  line-height: 16px; }
.card.card-article:hover {
  -ms-transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px); }

@media (min-width: 992px) {
  .card.card-spectacle {
    padding-right: 54px; }

  .card.card-article .image-wrapper {
    min-width: 120px; }

  .card-img .ticket-dots.after:after {
    display: block; } }
.card.card-spectacle.card-horizontal {
  padding-right: 0; }
  .card.card-spectacle.card-horizontal .card-img {
    position: relative;
    height: auto; }
    .card.card-spectacle.card-horizontal .card-img .ticket-dots {
      left: 38px; }
  .card.card-spectacle.card-horizontal .card-body:before {
    left: 20px;
    width: 40px; }

@media (min-width: 992px) {
  .card.card-spectacle.card-horizontal {
    position: relative;
    width: 100%;
    min-height: 1px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: row;
    padding-right: 54px; }
    .card.card-spectacle.card-horizontal .card-img, .card.card-spectacle.card-horizontal .card-body {
      ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%; }
    .card.card-spectacle.card-horizontal .card-body:before {
      left: 15px;
      width: 80px; } }
/* -----------------------------------------------------------------
    - Page spectacle
----------------------------------------------------------------- */
.spectacle-weekday {
  display: inline-block;
  font-size: 30px;
  font-weight: 300;
  padding: 0 0 20px 0; }
  .spectacle-weekday span {
    font-weight: 700;
    display: block; }
  .spectacle-weekday div {
    display: inline-block;
    position: relative;
    line-height: 1.4;
    padding: 0 0 20px 0; }
    .spectacle-weekday div.btns-arrows {
      padding-left: 20px; }
  @media (min-width: 1025px) {
    .spectacle-weekday {
      font-size: 40px; }
      .spectacle-weekday span {
        display: inline-block; } }

.spectacle-date {
  font-size: 18px; }
  .spectacle-date span {
    font-size: 24px;
    font-weight: 700; }
  .spectacle-date div {
    display: inline-block;
    position: relative;
    float: left;
    padding: 40px 0 45px 0;
    line-height: 24px; }
  .spectacle-date .weekday {
    min-width: 120px; }
    .spectacle-date .weekday p {
      text-align: right;
      margin-right: 40px; }
  .spectacle-date .day {
    padding-left: 40px;
    border-left: 1px solid #ccc; }
    .spectacle-date .day:after {
      position: absolute;
      content: '';
      top: 0;
      left: -50vw;
      display: block;
      width: 50vw;
      height: 3px;
      background: #000; }

.page.spectacle .spectacle-banner {
  overflow: hidden; }
  @media (min-width: 1025px) {
    .page.spectacle .spectacle-banner {
      padding-left: 120px; } }
  .page.spectacle .spectacle-banner img {
    max-height: 566px; }
  .page.spectacle .spectacle-banner .img-copyright {
    padding-top: 10px;
    font-size: 12px;
    line-height: 2;
    opacity: .6; }
  .page.spectacle .spectacle-banner .card-img {
    max-height: 566px; }
  .page.spectacle .spectacle-banner .card.card-spectacle {
    padding-right: 0; }
    .page.spectacle .spectacle-banner .card.card-spectacle .image-wrapper.empty-thumb {
      height: 150px; }
      .page.spectacle .spectacle-banner .card.card-spectacle .image-wrapper.empty-thumb .bg-pattern-cubes {
        height: 150px;
        background-repeat: repeat; }
  .page.spectacle .spectacle-banner .vertical-date {
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 500;
    color: #fff; }
    .page.spectacle .spectacle-banner .vertical-date .vertical-date-wrapper {
      padding: 30px 0; }
      .page.spectacle .spectacle-banner .vertical-date .vertical-date-wrapper div {
        display: block; }
      .page.spectacle .spectacle-banner .vertical-date .vertical-date-wrapper span {
        display: block;
        font-size: 12px;
        padding: 2px 0; }
      .page.spectacle .spectacle-banner .vertical-date .vertical-date-wrapper span.day {
        font-size: 30px;
        line-height: 0.8;
        padding: 4px 0; }
      .page.spectacle .spectacle-banner .vertical-date .vertical-date-wrapper div.splitter-date {
        padding: 8px 0; }
@media (min-width: 1025px) {
  .page.spectacle .spectacle-sidebar.margin-negative {
    margin-top: -155px; } }
.page.spectacle .spectacle-sidebar .sidebar-header {
  background: #000;
  padding: 40px; }
.page.spectacle .spectacle-sidebar .sidebar-content {
  background: #fff;
  padding: 40px; }
.page.spectacle .spectacle-sidebar .sidebar-title {
  font-size: 25px;
  line-height: 34px;
  color: #fff;
  margin: 0; }
.page.spectacle .spectacle-sidebar .tags {
  padding: 20px 0 0 0; }
  .page.spectacle .spectacle-sidebar .tags li {
    color: #fff; }
.page.spectacle .spectacle-sidebar .sidebar-info li {
  padding-bottom: 35px;
  margin-bottom: 35px;
  border-bottom: 1px dashed #000; }
  .page.spectacle .spectacle-sidebar .sidebar-info li.no-border {
    border: none;
    padding: 0;
    margin: 0; }
.page.spectacle .spectacle-sidebar .sidebar-info .sidebar-info-label {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  padding-bottom: 30px; }
.page.spectacle .spectacle-sidebar .sidebar-info .sidebar-info-details {
  font-size: 14px;
  line-height: 21px; }
.page.spectacle .paragraph {
  font-size: 18px;
  line-height: 32px;
  padding-bottom: 40px; }
  @media (min-width: 1025px) {
    .page.spectacle .paragraph {
      font-size: 20px; } }

/* --- Map --- */
.location-map {
  position: relative; }
  @media (min-width: 1200px) {
    .location-map {
      padding-bottom: 120px; } }

#map {
  margin: 0;
  padding: 0;
  border: 0;
  position: relative;
  width: 100%;
  height: 300px; }
  @media (min-width: 1200px) {
    #map {
      position: absolute;
      top: 0;
      right: 0;
      width: calc(100% - 180px);
      height: 100%; } }
  #map .marker {
    background-size: cover;
    width: 60px;
    height: 52px;
    cursor: pointer; }
    #map .marker.music, #map .marker.theater, #map .marker.dance, #map .marker.other, #map .marker.children, #map .marker.blank {
      background-size: 40px;
      background-repeat: no-repeat;
      background-position: right 0 top; }
    #map .marker.music {
      background-image: url("../../img/marker-music.svg"); }
    #map .marker.theater {
      background-image: url("../../img/marker-theater.svg"); }
    #map .marker.dance {
      background-image: url("../../img/marker-dance.svg"); }
    #map .marker.other {
      background-image: url("../../img/marker-other.svg"); }
    #map .marker.children {
      background-image: url("../../img/marker-children.svg"); }
    #map .marker.blank {
      background-image: url("../../img/marker-blank.svg"); }

.pin-wrap {
  position: absolute;
  width: 50px;
  height: 50px;
  margin-top: -60.7106781187px;
  margin-left: -25px;
  -webkit-transform-origin: 50% 60.7106781187% 0;
  transform-origin: 50% 60.7106781187% 0; }

.pin {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  margin-left: -25px;
  -webkit-transform-origin: 50% 60.7106781187% 0;
  transform-origin: 50% 60.7106781187% 0; }
  .pin:after {
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    content: '';
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    border: 10px solid #f93c11;
    border-radius: 50% 50% 50% 50%; }
  .pin:before {
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    content: '';
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    border: 8px solid #d22b05;
    border-radius: 50% 50% 50% 0; }

.shadow {
  position: absolute; }

.shadow::after {
  position: absolute;
  left: -125px;
  display: block;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  content: '';
  -webkit-transform: rotateX(55deg);
  transform: rotateX(55deg);
  border-radius: 50%;
  box-shadow: rgba(0, 0, 0, 0.5) 100px 0 20px; }

.pulse {
  position: absolute;
  margin-top: -25px;
  margin-left: -25px;
  -webkit-transform: rotateX(55deg);
  transform: rotateX(55deg); }

.pulse::after {
  display: block;
  width: 50px;
  height: 50px;
  content: '';
  -webkit-animation: pulsate 1s ease-out;
  animation: pulsate 1s ease-out;
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  opacity: 0;
  border-radius: 50%;
  box-shadow: 0 0 1px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 6px 3px #f93c11; }

@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0; } }
@keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    opacity: 0; } }
/* --- Mapbox --- */
.mapboxgl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right {
  display: none !important; }

.mapboxgl-ctrl-group:not(:empty) {
  box-shadow: none; }

.calendar-no-event {
  border-top: 1px solid #dcdbd7;
  padding: 30px 0; }

/* -----------------------------------------------------------------
    - Article page
----------------------------------------------------------------- */
#redaction-view .paragraph p {
  margin-bottom: 50px; }

.page.article h1 {
  position: relative; }
  @media (min-width: 1200px) {
    .page.article h1 {
      padding-left: 130px; }
      .page.article h1:before {
        content: "";
        position: absolute;
        left: 0;
        top: 38px;
        width: 90px;
        height: 3px; } }
.page.article .h3 {
  line-height: 40px;
  margin-bottom: 0; }
.page.article .paragraph {
  font-size: 18px;
  line-height: 24px; }
  @media (min-width: 1025px) {
    .page.article .paragraph {
      font-size: 20px;
      line-height: 32px; } }
.page.article .paragraph {
  padding-bottom: 40px; }
.page.article.theme-blank .h1:before {
  background-color: #93b43f; }
.page.article.theme-blank blockquote {
  color: #93b43f; }
.page.article.theme-music .h1:before {
  background-color: #E30624; }
.page.article.theme-music blockquote {
  color: #E30624; }
.page.article.theme-theater .h1:before {
  background-color: #F39700; }
.page.article.theme-theater blockquote {
  color: #F39700; }
.page.article.theme-dance .h1:before {
  background-color: #80176E; }
.page.article.theme-dance blockquote {
  color: #80176E; }
.page.article.theme-other .h1:before {
  background-color: #009BA9; }
.page.article.theme-other blockquote {
  color: #009BA9; }

/* -----------------------------------------------------------------
    - Edito
----------------------------------------------------------------- */
.page.edito h1 {
  position: relative; }
  @media (min-width: 1200px) {
    .page.edito h1 {
      padding-left: 130px; }
      .page.edito h1:before {
        content: "";
        position: absolute;
        left: 0;
        top: 38px;
        width: 90px;
        height: 3px; } }
.page.edito .paragraph {
  padding-bottom: 40px; }
.page.edito.theme-blank .h1:before {
  background-color: #93b43f; }
.page.edito.theme-music .h1:before {
  background-color: #E30624; }
.page.edito .theme-column {
  height: 200px; }
.page.edito .theme-letter {
  font-size: 30px;
  padding: 10px;
  position: absolute;
  bottom: 0;
  color: #fff; }
@media (min-width: 768px) {
  .page.edito .padding-related-content {
    padding-left: 130px; } }
.page.edito .padding-related-content .paragraph {
  font-size: 14px; }
.page.edito .Location-map-info {
  background: #fff;
  padding: 40px; }

/* -----------------------------------------------------------------
    - Actions
----------------------------------------------------------------- */
/* --- Site actions --- */
#site-actions {
  position: fixed;
  top: 130px;
  left: 3%;
  z-index: 999; }
  #site-actions a {
    margin-top: 20px;
    opacity: 0;
    width: 22px;
    height: 22px;
    display: block;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    margin-bottom: 20px; }
    #site-actions a.active {
      margin-top: 0;
      opacity: 0.8; }
    #site-actions a:after {
      position: absolute;
      width: 22px;
      height: 22px;
      content: "";
      background-repeat: no-repeat; }
    #site-actions a.btn-actions-up:after {
      background-image: url("../../img/front/icon-long-arrow-up-regular.svg"); }
    #site-actions a.btn-actions-search:after {
      width: 16px;
      height: 16px;
      background-image: url("../../img/front/icon-search-solid.svg"); }
    #site-actions a:hover.btn-actions-up:after {
      background-image: url("../../img/front/icon-long-arrow-up-regular-blank.svg"); }
    #site-actions a:hover.btn-actions-search:after {
      background-image: url("../../img/front/icon-search-solid-blank.svg"); }

.has-sticky-header-enabled #site-actions {
  top: 150px; }

.sidebar-enabled:not(.rtl) #site-actions {
  left: calc(20px + 3%); }

@media screen and (max-width: 1900px) {
  #site-actions a .tooltip {
    display: none; } }
/* --- Share actions --- */
#site-share {
  right: 65px;
  position: fixed;
  bottom: 35px;
  transform-origin: right bottom;
  margin-right: -15px;
  z-index: 999;
  transform: rotate(-90deg) translateX(100%); }
  #site-share .site-share {
    display: inline-block;
    opacity: 0;
    transform: translate3d(15px, 0, 0);
    visibility: hidden;
    transition: transform 200ms cubic-bezier(0.39, 0.575, 0.565, 1), opacity 400ms cubic-bezier(0.39, 0.575, 0.565, 1), visibility 400ms linear; }
    #site-share .site-share:not(:last-child):not(:first-child):after {
      content: " - ";
      margin-right: 5px; }
  #site-share .site-share.re.active {
    opacity: 0;
    transform: translate3d(-15px, 0, 0);
    visibility: hidden; }
  #site-share .site-share.active {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0); }
  #site-share a {
    font-size: 1.09375rem; }
    #site-share a > small {
      font-size: 1em;
      margin-left: 1px; }
  #site-share a.fb:hover {
    color: #3b5998; }
  #site-share a.fb small {
    color: #3b5998; }
  #site-share a.tw:hover {
    color: #1da1f2; }
  #site-share a.tw small {
    color: #1da1f2; }
  #site-share a.pint:hover {
    color: #bd081c; }
  #site-share a.pint small {
    color: #bd081c; }
  #site-share a.px:hover {
    color: #34bf49; }
  #site-share a.px small {
    color: #34bf49; }
  #site-share a.dr:hover {
    color: #ea4c89; }
  #site-share a.dr small {
    color: #ea4c89; }
  #site-share a.in:hover {
    color: #5851db; }
  #site-share a.in small {
    color: #5851db; }
  #site-share a.li:hover {
    color: #0077b5; }
  #site-share a.li small {
    color: #0077b5; }
  #site-share a.snd:hover {
    color: #ff8800; }
  #site-share a.snd small {
    color: #ff8800; }
  #site-share a.be:hover {
    color: #1769ff; }
  #site-share a.be small {
    color: #1769ff; }
  #site-share a.yt:hover {
    color: #ff0000; }
  #site-share a.yt small {
    color: #ff0000; }
  #site-share .info {
    margin-right: 5px;
    font-size: 70%;
    opacity: .6; }

#site-share.enabled-icons {
  padding-bottom: 10px; }
  #site-share.enabled-icons .site-share:not(:first-child) {
    margin: 0 10px;
    position: relative;
    top: 3px; }
  #site-share.enabled-icons .site-share:after {
    display: none !important; }
  #site-share.enabled-icons a {
    transform: rotate(90deg);
    width: 35px;
    text-align: center; }
    #site-share.enabled-icons a svg path {
      stroke: none !important; }
    #site-share.enabled-icons a span.icon {
      position: relative; }
  #site-share.enabled-icons a.fb:hover svg path {
    fill: #3b5998; }
  #site-share.enabled-icons a.tw:hover svg path {
    fill: #55acee; }
  #site-share.enabled-icons a.tw .icon {
    top: -1px; }
  #site-share.enabled-icons a.pin:hover svg path {
    fill: #bd081c; }
  #site-share.enabled-icons a.px:hover svg path {
    fill: #34bf49; }
  #site-share.enabled-icons a.dr:hover svg path {
    fill: #ea4c89; }
  #site-share.enabled-icons a.in:hover svg path {
    fill: #5851db; }
  #site-share.enabled-icons a.in:hover svg circle {
    stroke: #5851db; }
  #site-share.enabled-icons a.li:hover svg path {
    fill: #0077b5; }
  #site-share.enabled-icons a.snd:hover svg path {
    fill: #ff8800; }
  #site-share.enabled-icons a.be:hover svg path {
    fill: #1769ff; }
  #site-share.enabled-icons a.be .icon {
    top: -4px; }
  #site-share.enabled-icons a.yt:hover svg path {
    fill: #ff0000; }

body.layout-dark #site-actions a.btn-actions-up:after {
  background-image: url("../../img/front/icon-long-arrow-up-regular-white.svg"); }
body.layout-dark #site-actions a.btn-actions-search:after {
  background-image: url("../../img/front/icon-search-solid-white.svg"); }
body.layout-dark #site-actions a:hover.btn-actions-up:after {
  background-image: url("../../img/front/icon-long-arrow-up-regular-blank.svg"); }
body.layout-dark #site-actions a:hover.btn-actions-search:after {
  background-image: url("../../img/front/icon-search-solid-blank.svg"); }

/* -----------------------------------------------------------------
    - form
----------------------------------------------------------------- */
input, select {
  color: #000;
  border: 1px solid #000;
  margin-bottom: 5px;
  background-color: #fff; }

label {
  color: #000;
  line-height: 1.4; }

.input-group {
  margin-bottom: 20px; }

input.form-control {
  padding: 15px 30px;
  border: 2px solid #000;
  border-radius: 0;
  margin-bottom: 20px; }

.datepicker .input-group-append {
  position: relative; }
  .datepicker .input-group-append:before {
    position: absolute;
    content: '';
    top: 20px;
    right: 10px;
    background-image: url("../../img/front/icon-sort-down-solid.svg");
    background-repeat: no-repeat;
    width: 12px;
    height: 12px; }

.tail-select {
  margin-bottom: 20px;
  font-family: 'roboto mono', monospace; }

.tail-select .select-label .label-inner {
  color: #495057; }

::-webkit-input-placeholder {
  /* edge */
  color: #495057;
  font-size: 14px; }

:-ms-input-placeholder {
  /* internet explorer 10-11 */
  color: #495057;
  font-size: 14px; }

::placeholder {
  color: #495057;
  font-size: 14px; }

.form-group {
  margin: 0; }

#search-form {
  background: #fff;
  padding: 20px; }
  @media (min-width: 768px) {
    #search-form {
      padding: 40px; } }
  #search-form label {
    width: auto;
    font-weight: 600; }
  #search-form .btn-search {
    padding: 15px 78px 15px 30px;
    border: 3px solid #000;
    font-size: 18px;
    font-weight: 700;
    background: #000;
    color: #fff;
    text-transform: none; }

/* --- tail selectbox --- */
.tail-select .select-label {
  padding: 15px 30px;
  border: 2px solid #000;
  border-radius: 0; }
  .tail-select .select-label .label-inner {
    padding: 0; }

/* --- checkbox --- */
#custom-checkbox-bloc-search {
  padding-left: 20px;
  margin-bottom: 30px; }

.custom-checkbox {
  margin-right: 10px; }
  @media (min-width: 1025px) {
    .custom-checkbox {
      margin-right: 20px; } }
  .custom-checkbox .custom-control-label::before {
    color: #fff;
    width: 1.7rem;
    height: 1.7rem; }
  .custom-checkbox .custom-control-input::after {
    color: #fff;
    width: 1.7rem;
    height: 1.7rem; }
  .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 0; }
  .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    width: 1.7rem;
    height: 1.7rem; }
  .custom-checkbox label {
    padding: 8px 10px; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #93b43f; }

.custom-checkbox.theme-music .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #e30624; }

.custom-checkbox.theme-theater .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #ee9300; }

.custom-checkbox.theme-dance .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #80176e; }

.custom-checkbox.theme-other .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #009ba9; }

.custom-checkbox.theme-children .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #9a9a9a; }

.tail-select .select-label .label-count {
  margin: 0 10px 0 0;
  font-size: 15px;
  padding: 4px 8px;
  background-color: #93b43f; }

#annonce {
  margin-top: 50px; }
  #annonce .annonce_form_bloc {
    border-top: 1px solid #dcdbd7;
    padding-top: 0; }
    #annonce .annonce_form_bloc .note {
      color: #93b43f; }
    #annonce .annonce_form_bloc .slim {
      border: 2px solid #000; }
    #annonce .annonce_form_bloc label {
      margin: 30px 0 15px 0; }
    #annonce .annonce_form_bloc input.form-control {
      margin-bottom: 0; }
    #annonce .annonce_form_bloc textarea {
      min-height: 150px;
      width: 100%;
      padding: 15px 30px;
      border: 2px solid #000;
      border-radius: 0; }
    #annonce .annonce_form_bloc textarea::-webkit-input-placeholder {
      color: #717981; }
    #annonce .annonce_form_bloc textarea:-moz-placeholder {
      /* Firefox 18- */
      color: #717981; }
    #annonce .annonce_form_bloc textarea::-moz-placeholder {
      /* Firefox 19+ */
      color: #717981; }
    #annonce .annonce_form_bloc textarea:-ms-input-placeholder {
      color: #717981; }
    #annonce .annonce_form_bloc number {
      min-height: 150px;
      width: 100%;
      padding: 15px 30px;
      border: 2px solid #000;
      border-radius: 0; }
    #annonce .annonce_form_bloc .custom-checkbox label {
      margin: 0; }

.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover {
  background-color: #93b43f;
  border-radius: 0; }

.bootstrap-datetimepicker-widget table td.today:before {
  border-bottom-color: #93b43f; }

.bootstrap-datetimepicker-widget table td {
  border-radius: 0; }

.bootstrap-datetimepicker-widget table thead tr:first-child th:hover, .bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
  background: transparent; }

.bootstrap-datetimepicker-widget .table thead th {
  border-bottom: 2px solid #000;
  border-top: none; }

.bootstrap-datetimepicker-widget.dropdown-menu {
  width: auto;
  border: 3px solid #000;
  border-radius: 0; }
.bootstrap-datetimepicker-widget .table td, .bootstrap-datetimepicker-widget .table th {
  padding: 10px;
  text-align: center; }

.bootstrap-datetimepicker-widget table thead tr:first-child th {
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  .bootstrap-datetimepicker-widget table thead tr:first-child th.prev {
    background-image: url("../../img/front/icon-chevron-left-solid.svg");
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: center; }
  .bootstrap-datetimepicker-widget table thead tr:first-child th.next {
    background-image: url("../../img/front/icon-chevron-right-solid.svg");
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: center; }
  .bootstrap-datetimepicker-widget table thead tr:first-child th:hover.prev {
    background-image: url("../../img/front/icon-chevron-left-solid-blank.svg"); }
  .bootstrap-datetimepicker-widget table thead tr:first-child th:hover.next {
    background-image: url("../../img/front/icon-chevron-right-solid-blank.svg"); }

.annonce_form_bloc {
  margin-bottom: 60px; }

body.layout-dark label {
  color: #fff; }
body.layout-dark #search-form label {
  color: #121212; }
body.layout-dark .slim-label {
  color: #000; }

/* -----------------------------------------------------------------
    - Image
----------------------------------------------------------------- */
img.responsive {
  width: 100%; }

.image-wrapper {
  width: 100%;
  position: relative; }
  .image-wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }

.image-wrapper.ar-16-9 {
  padding-top: 60%; }

.image-wrapper.ar-5-3 {
  padding-top: 60%; }

.image-wrapper.ar-3-2 {
  padding-top: 66.66666667%; }

.image-wrapper.ar-4-5 {
  padding-top: 125%; }

.image-wrapper.image-lightbox {
  cursor: pointer; }

.image-wrapper.parallax-image {
  overflow: hidden; }
  .image-wrapper.parallax-image img {
    -webkit-transition: all .1s ease;
    -o-transition: all .1s ease;
    transition: all 0.1s ease; }

@media (min-width: 992px) {
  .image-wrapper.ar-16-9 {
    padding-top: 60%; } }
/* -----------------------------------------------------------------
    - Modal
----------------------------------------------------------------- */
/**
 * Overlay
 * -- only show for tablet and up
 */
@media only screen and (min-width: 40em) {
  .modal-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1); }

  .modal-overlay.active {
    opacity: 1;
    visibility: visible; } }
/**
 * Modal
 */
.modal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 auto;
  background-color: #fff;
  color: #121212;
  width: 600px;
  max-width: 75rem;
  min-height: 20rem;
  padding: 40px;
  opacity: 0;
  overflow-y: auto;
  visibility: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: scale(1.2);
  transition: all 0.6s cubic-bezier(0.55, 0, 0.1, 1); }
  .modal .btn {
    width: 100%;
    text-align: left;
    color: #121212; }
    .modal .btn span {
      min-width: 178px;
      width: 100%; }
    .modal .btn:first-of-type {
      margin-bottom: 20px; }
  @media (min-width: 768px) {
    .modal .btn {
      width: auto;
      text-align: left; }
      .modal .btn span {
        min-width: 178px;
        width: auto; }
      .modal .btn:first-of-type {
        margin-bottom: 0; }
    .modal .border-before {
      position: relative; }
      .modal .border-before:before {
        content: '';
        position: absolute;
        left: 0;
        width: 3px;
        height: 100%;
        background: #000; } }

body.layout-dark .modal .btn.btn-outline span {
  border: 3px solid #000; }
body.layout-dark .modal .logo {
  display: initial; }

.modal .close-modal {
  position: absolute;
  cursor: pointer;
  top: -10px;
  right: 0;
  opacity: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1);
  transition-delay: 0.3s;
  z-index: 1; }

.modal .close-modal svg {
  width: 1.75em;
  height: 1.75em; }
  .modal .close-modal svg path {
    stroke-width: 2; }

.modal .modal-content {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1);
  transition-delay: 0.3s;
  border: none; }

.modal.active {
  visibility: visible;
  opacity: 1;
  transform: scale(1); }

.modal.active .modal-content {
  opacity: 1; }

.modal.active .close-modal {
  transform: translateY(10px);
  opacity: 1; }

/**
 * Mobile styling
 */
@media only screen and (max-width: 39.9375em) {
  .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    border-radius: 0;
    transform: scale(1.1); }

  .close-modal {
    right: 20px !important; } }
/* -----------------------------------------------------------------
    - Hamburger
----------------------------------------------------------------- */
.nav .close-nav {
  position: absolute;
  top: 0;
  right: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.nav .close-nav::before,
.nav .close-nav::after {
  content: '';
  position: absolute;
  background: #ffffff; }

.nav .close-nav::before {
  width: 3px;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -1px; }

.nav .close-nav::after {
  width: 100%;
  height: 3px;
  top: 50%;
  left: 0;
  margin-top: -1px; }

.nav .close-nav:hover::before {
  -webkit-animation: header-close-1 0.3s linear;
  animation: header-close-1 0.3s linear; }

.nav .close-nav:hover::after {
  -webkit-animation: header-close-2 0.3s linear;
  animation: header-close-2 0.3s linear; }

.nav.visible {
  top: 0; }

@keyframes header-close-1 {
  49% {
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%); }
  50% {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0; }
  51% {
    opacity: 1; } }
@keyframes header-close-2 {
  49% {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  50% {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    opacity: 0; }
  51% {
    opacity: 1; } }
.hamburger-menu {
  width: 100%;
  height: 100%;
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 1000;
  background: #000;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.3, 0.2, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.3, 0.2, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.3, 0.2, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.3, 0.2, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.3, 0.2, 1);
  overflow: hidden;
  padding: 20px; }
  @media (min-width: 768px) {
    .hamburger-menu {
      padding: 40px; } }
  .hamburger-menu .container {
    position: relative;
    height: 100%; }
  .hamburger-menu ul {
    display: block; }
    .hamburger-menu ul li {
      display: block; }
  .hamburger-menu a {
    display: block;
    color: #fff;
    padding: 10px 0; }
    .hamburger-menu a span {
      color: #fff; }

.hamburger-menu .logo-search-menu {
  position: absolute;
  top: 0;
  left: 0;
  margin: 50px 0 0 15px; }
  .hamburger-menu .logo-search-menu img {
    width: 290px;
    -webkit-transition: opacity .2s ease-in-out 0s;
    transition: opacity .2s ease-in-out 0s; }

.hamburger-menu .close-search-menu {
  position: absolute;
  top: 0;
  right: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.hamburger-menu .close-search-menu::before,
.hamburger-menu .close-search-menu::after {
  content: '';
  position: absolute;
  background: #ffffff; }

.hamburger-menu .close-search-menu::before {
  width: 2px;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -1px; }

.hamburger-menu .close-search-menu::after {
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  margin-top: -1px; }

.hamburger-menu .close-search-menu:hover::before {
  -webkit-animation: header-close-1 0.3s linear;
  animation: header-close-1 0.3s linear; }

.hamburger-menu .close-search-menu:hover::after {
  -webkit-animation: header-close-2 0.3s linear;
  animation: header-close-2 0.3s linear; }

.hamburger-menu.visible {
  top: 0; }

.hamburger-menu .menu-primary {
  flex-grow: 1;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000; }
  @media (min-width: 1025px) {
    .hamburger-menu .menu-primary {
      border-top: none;
      border-bottom: none;
      margin-top: 0; } }
  .hamburger-menu .menu-primary .menu-link {
    font-size: 30px;
    font-weight: 700; }
    @media (min-width: 768px) {
      .hamburger-menu .menu-primary .menu-link {
        font-size: 40px; } }
    @media (min-width: 1025px) {
      .hamburger-menu .menu-primary .menu-link {
        font-size: 18px; } }
    .hamburger-menu .menu-primary .menu-link:before {
      content: "";
      display: inline-block;
      width: 7px;
      height: 13px;
      vertical-align: middle;
      margin-right: 7px;
      margin-top: -4px; }
  .hamburger-menu .menu-primary .menu-link.theme-music:before {
    background-color: #E30624; }
  .hamburger-menu .menu-primary .menu-link.theme-theater:before {
    background-color: #F39700; }
  .hamburger-menu .menu-primary .menu-link.theme-dance:before {
    background-color: #80176E; }
  .hamburger-menu .menu-primary .menu-link.theme-other:before {
    background-color: #009BA9; }
  .hamburger-menu .menu-primary .menu-link.theme-children:before {
    background-color: #CCCCCC; }
  .hamburger-menu .menu-primary li {
    margin-right: 30px; }
    .hamburger-menu .menu-primary li:last-of-type {
      margin-right: 0; }
.hamburger-menu .menu-secondary .menu-link {
  font-size: 18px; }
  @media (min-width: 768px) {
    .hamburger-menu .menu-secondary .menu-link {
      font-size: 24px; } }
  @media (min-width: 1025px) {
    .hamburger-menu .menu-secondary .menu-link {
      font-size: 13px; } }

/* -----------------------------------------------------------------
    - General Styles
----------------------------------------------------------------- */
body, html {
  font-size: 14px;
  line-height: 1; }

dl, ol, p, ul {
  margin-bottom: 0; }

body {
  margin: 0;
  font-family: 'Roboto Mono', monospace;
  background-color: #F5F4EF;
  color: #121212;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

a {
  color: #121212;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  a:hover {
    text-decoration: none;
    color: initial; }
  a.white {
    color: #fff; }

#content {
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  height: 0;
  margin-top: 50px;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s; }
  #content.reveal-in {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    overflow: initial;
    height: initial; }

@media (min-width: 1440px) {
  .page-content {
    margin-top: 40px; } }

.page-headline {
  position: fixed;
  top: -40px;
  right: 0;
  font-size: 100px;
  color: #ECEBE7;
  z-index: -1; }
  .page-headline > span {
    display: block;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
    overflow: hidden;
    line-height: 0.8; }

.related-content {
  padding-top: 20px;
  border-top: 3px solid transparent; }
  .related-content .image-wrapper {
    margin-bottom: 20px; }

.related-content.related-opinion p {
  line-height: 14px;
  line-height: 19px;
  text-transform: uppercase;
  font-weight: 500;
  padding-bottom: 10px;
  letter-spacing: .3px; }
.related-content.related-opinion h3 {
  font-size: 24px;
  line-height: 32px; }

.theme-blank .related-content {
  border-color: #93b43f; }
.theme-blank .related-content.related-opinion p {
  color: #93b43f; }

.theme-music .related-content {
  border-color: #E30624; }
.theme-music .related-content.related-opinion p {
  color: #E30624; }

.theme-dance .related-content {
  border-color: #80176E; }
.theme-dance .related-content.related-opinion p {
  color: #80176E; }

.theme-theater .related-content {
  border-color: #F39700; }
.theme-theater .related-content.related-opinion p {
  color: #F39700; }

.theme-other .related-content {
  border-color: #009ba9; }
.theme-other .related-content.related-opinion p {
  color: #009ba9; }

.box-footer {
  margin-top: 20px; }

.border-bottom {
  border-bottom: 3px solid #000 !important; }

.sticky-wrapper {
  padding-bottom: 40px; }

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: -1px;
  z-index: 5;
  background: #F5F4EF;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

/* --- Dark layout --- */
body.layout-dark {
  background: #121212;
  color: #fff; }
  body.layout-dark .border-bottom {
    border-bottom: 3px solid #fff !important; }
  body.layout-dark .bg-white {
    color: #121212; }
    body.layout-dark .bg-white .border-bottom {
      border-bottom: 3px solid #000 !important; }
  body.layout-dark .sticky {
    background: #121212; }
  body.layout-dark .logo-title {
    color: #fff; }
  body.layout-dark a {
    color: #fff; }
  body.layout-dark .btn.btn-primary span {
    background: #fff;
    color: #121212; }
  body.layout-dark .page-headline > span {
    opacity: 0.04; }
  body.layout-dark .caption {
    color: rgba(255, 255, 255, 0.49); }
  body.layout-dark .card-img .ticket-dots.after:after {
    background-color: #121212; }
  body.layout-dark .card-img .ticket-dots.before:before {
    background-color: #121212; }
  body.layout-dark .slide-bgimg .ticket-dots.before:before {
    background-color: #000; }
  body.layout-dark .quick-filters a span {
    color: #121212; }
  body.layout-dark .quick-filters a.inverted span {
    color: #fff; }
  body.layout-dark .btn.btn-outline span {
    border: 3px solid #fff; }
  body.layout-dark .btn:hover.btn-outline span {
    border: 3px solid transparent; }
  body.layout-dark .footer-content {
    border-top: 3px solid #fff; }
  body.layout-dark .spectacle .spectacle-sidebar {
    color: #121212; }
  body.layout-dark .spectacle-date .day:after {
    background: #fff; }
  body.layout-dark .pagination a:hover {
    border: 2px solid #fff; }
  body.layout-dark .pagination > .active > a {
    border: 2px solid #fff;
    background: #fff;
    color: #121212; }
    body.layout-dark .pagination > .active > a:focus {
      border: 2px solid #fff;
      background: #fff;
      color: #121212; }
    body.layout-dark .pagination > .active > a:hover {
      border: 2px solid #fff;
      background: #fff;
      color: #121212; }
  body.layout-dark .pagination > .active > span {
    border: 2px solid #fff;
    background: #fff;
    color: #121212; }
    body.layout-dark .pagination > .active > span:focus {
      border: 2px solid #fff;
      background: #fff;
      color: #121212; }
    body.layout-dark .pagination > .active > span:hover {
      border: 2px solid #fff;
      background: #fff;
      color: #121212; }
  body.layout-dark .logo {
    display: none; }
  body.layout-dark .logo.logo-white {
    display: block; }

.redac-separator {
  margin-top: 50px; }

.rotate-svg-180 {
  transform: rotate(180deg); }

.fancybox-button svg path {
  fill: #ffff;
  stroke-width: 3; }

.fancybox-button--arrow_left {
  position: relative; }
  .fancybox-button--arrow_left:before {
    left: 10px; }
  .fancybox-button--arrow_left svg {
    margin-left: 10px;
    width: 30px; }

.fancybox-button--arrow_right svg {
  margin-right: 22px;
  width: 30px; }

.fancybox-caption {
  border: none; }

/*# sourceMappingURL=styles.css.map */
