*,
*:before,
*:after {
  box-sizing: border-box;
}
html {
  font-size: 11.25pt;
}
html[data-size="tiny"] {
  font-size: 9pt;
}
html[data-size="big"] {
  font-size: 13.5pt;
}
.icon-adult:before,
.icon-child:before,
.icon-clock:before,
.icon-scene:before,
.icon-curtains:before,
.icon-star:before {
  content: ' ';
  background: center no-repeat;
  background-size: contain;
  height: 1em;
}
.icon-adult:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22.58'><defs><style>.a{fill:none;stroke:%23595c54;stroke-miterlimit:10;}</style></defs><path class='a' d='M16.72,3.24A2.74,2.74,0,1,1,14,.5,2.74,2.74,0,0,1,16.72,3.24Zm.78,8a3.5,3.5,0,1,0-7,0s0,10.83,0,10.83h7S17.5,11.26,17.5,11.24ZM4,.5A2.74,2.74,0,1,0,6.72,3.24,2.74,2.74,0,0,0,4,.5ZM7.5,11.24a3.5,3.5,0,1,0-7,0s0,10.83,0,10.83h7S7.5,11.26,7.5,11.24Z'/></svg>");
}
.icon-child:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.44 17.58'><defs><style>.a{fill:none;stroke:%23595c54;stroke-miterlimit:10;}</style></defs><path class='a' d='M16.74,3.24A2.74,2.74,0,1,1,14,.5,2.74,2.74,0,0,1,16.74,3.24Zm.76,8a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S17.5,11.26,17.5,11.24ZM9.06,1.36V5.13l1.89-1.89Zm9.89,3.78V1.36L17.06,3.24ZM14,.5a2.74,2.74,0,1,0,2.74,2.74A2.74,2.74,0,0,0,14,.5Zm3.5,10.74a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S17.5,11.26,17.5,11.24ZM4,.5A2.74,2.74,0,1,0,6.74,3.24,2.74,2.74,0,0,0,4,.5ZM7.5,11.24a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S7.5,11.26,7.5,11.24Zm0,0a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S7.5,11.26,7.5,11.24Z'/></svg>");
}
.icon-clock:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.08 26.08'><defs><style>.a{fill:none;stroke:%23595c54;stroke-miterlimit:10;}</style></defs><title>clock</title><circle class='a' cx='13.04' cy='13.04' r='12.54'/><circle class='a' cx='13.04' cy='13.04' r='9.34'/><line class='a' x1='12.86' y1='13.59' x2='12.86' y2='8.22'/><line class='a' x1='12.7' y1='13.43' x2='18.07' y2='13.43'/></svg>");
}
.icon-scene:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37.29 19.6'><defs><style>.a{fill:none;stroke:%231d1d1b;stroke-miterlimit:10;}</style></defs><path class='a' d='M20.38,5.44a1.69,1.69,0,1,0-3.38,0V8.49h3.38Z'/><line class='a' x1='18.72' y1='9.62' x2='18.72' y2='12.66'/><line class='a' x1='17.24' y1='9.71' x2='15.87' y2='11.62'/><line class='a' x1='20.28' y1='9.71' x2='21.65' y2='11.62'/><path class='a' d='M26.61,4a1.69,1.69,0,0,0-2.39,2.39l2.16,2.16,2.39-2.39Z'/><line class='a' x1='28.4' y1='8.16' x2='30.55' y2='10.31'/><line class='a' x1='27.41' y1='9.27' x2='27.79' y2='11.59'/><line class='a' x1='29.56' y1='7.12' x2='31.88' y2='7.5'/><path class='a' d='M10.59,4A1.69,1.69,0,1,1,13,6.42L10.82,8.58,8.43,6.19Z'/><line class='a' x1='8.8' y1='8.16' x2='6.65' y2='10.31'/><line class='a' x1='9.8' y1='9.27' x2='9.41' y2='11.59'/><line class='a' x1='7.64' y1='7.12' x2='5.32' y2='7.5'/><polyline class='a' points='0.5 19.6 0.5 0.5 36.79 0.5 36.79 19.6'/></svg>");
}
.icon-curtains:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30.97 22.91'><defs><style>.a{fill:none;stroke:%23595c54;stroke-miterlimit:10;}</style></defs><polygon class='a' points='30.44 22.41 0.5 22.41 0.5 0.5 15.29 0.5 30.44 0.5 30.44 22.41'/><path class='a' d='M.5,17.52a17.67,17.67,0,0,0,15-17H.5Z'/><path class='a' d='M30.47,17.52a17.67,17.67,0,0,1-15-17h15Z'/><polygon class='a' points='3.83 22.32 0.5 22.32 0.5 16.99 3.83 22.32'/><polygon class='a' points='27.13 22.32 30.47 22.32 30.47 16.99 27.13 22.32'/></svg>");
}
.icon-star:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27.87 26.51'><defs><style>.a{fill:none;stroke:%23595c54;stroke-miterlimit:10;}</style></defs><polygon class='a' points='13.94 1.13 17.91 9.18 26.8 10.47 20.37 16.74 21.89 25.6 13.94 21.42 5.99 25.6 7.51 16.74 1.07 10.47 9.96 9.18 13.94 1.13'/></svg>");
}
input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.15;
  min-height: 1.5rem;
  outline: none;
  border: 1px solid;
  background-color: transparent;
  display: inline-block;
  vertical-align: middle;
}
input[type="radio"],
input[type="checkbox"] {
  min-height: initial;
}
body {
  margin: 0;
  padding: 0;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  color: #000;
  background: #fff url(../images/bg.jpg) center top;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:hover[class^="icon-"],
a:hover[class*=" icon-"] {
  text-decoration: none;
}
a img {
  border: none;
}
img {
  vertical-align: middle;
  max-width: 100%;
}
strong {
  font-weight: 900;
  color: #595c54;
}
hr {
  border: 0;
  margin: 1rem 0;
  background: #595c54;
  height: 1px;
}
hr.fancy {
  margin: 3rem 0;
  height: 7px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") left center no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") right center no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 1180px'%3E%3Crect x='0' y='0' width='1180px' height='3' fill='#595c54'/%3E%3C/svg%3E") left center no-repeat;
  background-size: 7px 7px, 7px 7px, 1180px 3px;
}
table {
  border: none;
  border-collapse: collapse;
}
table td {
  border: 3px solid #595c54;
  padding: .5rem 1rem;
}
button,
.button {
  display: inline-block;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 1em;
}
button.orange,
.button.orange {
  border-color: #e75015;
  background: #e75015;
  color: #fff;
}
button.grey,
.button.grey {
  border-color: #595c54;
  background: #595c54;
  color: #fff;
}
.siteContent {
  display: block;
}
.wrapper {
  margin: 0 auto;
  box-sizing: border-box;
  max-width: 1180px;
  padding-left: 1rem;
  padding-right: 1rem;
}
.orange {
  color: #e75015;
}
.big {
  font-size: 1.2em;
}
.picture {
  padding: .5rem;
  border: 3px solid #595c54;
  background: #fff;
  display: inline-block;
}
.card {
  border: 3px solid #595c54;
  background: #fff;
  box-shadow: 10px 10px 0 -3px #fff, 10px 10px 0 0 #595c54;
  padding-top: 1.5rem;
  padding-bottom: .5rem;
  display: block;
  margin-bottom: 3rem;
  position: relative;
}
.card .title {
  display: block;
  font-size: 1.2rem;
  text-transform: uppercase;
  color: #e75015;
  font-weight: 700;
  text-align: center;
}
.card .title.n {
  text-transform: none;
  text-align: left;
}
.card .content {
  padding: 1rem;
}
.card .content .photo img {
  width: 100%;
}
.card .content .photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1rem;
}
.card .content .photos > * {
  margin-left: 1rem;
  width: calc(50% - 1rem);
}
.card .content .text {
  padding: 1rem;
  text-align: justify;
  font-weight: 300;
}
.card .more {
  position: absolute;
  right: 2rem;
  bottom: 0;
  background: #e75015;
  font-weight: 900;
  font-size: 1.3rem;
  text-align: center;
  display: block;
  width: 2.4rem;
  line-height: 2.2rem;
  height: 2.2rem;
  color: #fff;
}
.card.h {
  -webkit-transition-property: border-color, background-color, white;
  transition-property: border-color, background-color, white;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
}
.card.h:hover,
.card.active {
  border-color: #e75015;
  background-color: #e75015;
}
.card.h:hover .title,
.card.active .title {
  color: #fff;
}
.card:hover {
  text-decoration: none;
}
.card.transparent {
  border-color: transparent;
  background-color: transparent;
  box-shadow: none;
}
.card.transparent .title {
  color: #000;
}
.card.title,
.siteContent .wrapper aside.nav .card {
  padding: 1rem;
}
.card.title .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.46666667rem;
  min-height: 4rem;
  line-height: 1.1;
}
.cards .card:before,
.card.hooked:before,
.card.pinned:before,
.cards .card:after,
.card.hooked:after,
.card.pinned:after {
  content: '';
  pointer-events: none;
  position: absolute;
  top: calc(-3rem + 7px);
  left: 1rem;
  right: 1rem;
}
.cards .card:before,
.card.hooked:before,
.card.pinned:before {
  height: 3.5rem;
  border: solid #595c54;
  border-width: 0 3px;
}
.cards .card:after,
.card.hooked:after,
.card.pinned:after {
  content: '';
  top: calc(1rem - 4px);
  left: calc(1rem - 2px);
  right: calc(1rem - 2px);
  height: 7px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") left center no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") right center no-repeat;
}
.cards .card.pinned:after,
.card.hooked.pinned:after,
.card.pinned.pinned:after {
  top: calc(-3rem + 4px);
  height: 4rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") left top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") right top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") left bottom no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") right bottom no-repeat;
  background-size: 7px;
}
.cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* cancel .card right margin */
  margin-left: -2rem;
}
.cards.c3 .card {
  margin-left: 3rem;
  width: 100%;
}
.cards.c3 .card:nth-child(1):before {
  border-width: 0 0 3px 0;
}
@media (min-width: 425px) {
  .cards.c3 .card {
    width: calc(50% - 3rem);
  }
  .cards.c3 .card:nth-child(-n+2):before {
    border-width: 0 0 3px 0;
  }
}
@media (min-width: 640px) {
  .cards.c3 .card {
    width: calc(33% - 3rem);
  }
  .cards.c3 .card:nth-child(-n+3):before {
    border-width: 0 0 3px 0;
  }
}
.cards.c4 .card {
  margin-left: 3rem;
  width: 100%;
}
.cards.c4 .card:nth-child(1):before {
  border-width: 0 0 3px 0;
}
@media (min-width: 425px) {
  .cards.c4 .card {
    width: calc(50% - 3rem);
  }
  .cards.c4 .card:nth-child(-n+2):before {
    border-width: 0 0 3px 0;
  }
}
@media (min-width: 640px) {
  .cards.c4 .card {
    width: calc(25% - 3rem);
  }
  .cards.c4 .card:nth-child(-n+4):before {
    border-width: 0 0 3px 0;
  }
}
.siteHeader {
  background: url(../images/bg.jpg) center top;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0);
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  will-change: top;
}
.siteHeader .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-top: 48px;
  padding-bottom: 12px;
  position: relative;
}
.siteHeader #nav-toggle {
  display: none;
  cursor: pointer;
  padding: 10px 35px 15px 0;
  position: relative;
  box-sizing: border-box;
  vertical-align: middle;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-left: 2rem;
}
.siteHeader #nav-toggle span,
.siteHeader #nav-toggle span:before,
.siteHeader #nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 5px;
  width: 35px;
  background: #000;
  position: absolute;
  display: block;
  content: '';
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  left: 0;
}
.siteHeader #nav-toggle span:before {
  top: -10px;
}
.siteHeader #nav-toggle span:after {
  top: 10px;
}
.siteHeader .logo {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 220px;
}
.siteHeader .logo:hover {
  text-decoration: none;
}
.siteHeader .logo img {
  vertical-align: bottom;
  width: 70px;
}
.siteHeader .logo > span {
  display: inline-block;
  font-size: 1.33333333rem;
  text-transform: uppercase;
  font-weight: 900;
  color: #595c54;
  line-height: 1;
}
.siteHeader .logo > span > span {
  display: block;
}
.siteHeader .menu {
  -webkit-box-flex: 10;
      -ms-flex: 10 10 auto;
          flex: 10 10 auto;
  font-size: 1.06666667rem;
}
.siteHeader .menu a {
  font-weight: 400;
  display: inline-block;
  padding: 0 0.6em;
}
.siteHeader .menu a.active {
  text-transform: uppercase;
  font-weight: 900;
  color: #e75015;
}
.siteHeader .o {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 150px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.siteHeader .o > * {
  padding: .4rem 0;
}
.siteHeader .o .lang {
  margin-right: 1rem;
}
.siteHeader .o .lang a {
  display: inline-block;
  padding: 0 .4rem;
}
.siteHeader .o .lang a.active {
  color: #e75015;
}
.siteHeader .o .lang a + a {
  border-left: 1px solid #000;
}
.siteHeader .o .size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.siteHeader .o .size > * {
  padding: 0 .2rem;
  line-height: 1;
}
.siteHeader .o .size > * * {
  pointer-events: none;
}
.siteHeader .o .size *:nth-child(1) {
  font-size: 9pt;
}
.siteHeader .o .size *:nth-child(2) {
  font-size: 11.25pt;
}
.siteHeader .o .size *:nth-child(3) {
  font-size: 13.5pt;
}
.siteHeader .o .social {
  width: 100%;
  text-align: right;
  font-size: 1.3rem;
  line-height: 1;
}
.siteHeader .o .social > *:first-child {
  vertical-align: middle;
  font-size: 3rem;
  color: #e75015;
}
.siteHeader .o .social > *:first-child:before {
  margin-right: 0;
}
.siteHeader.fixed {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-position: center -70px;
}
.siteHeader.fixed .wrapper {
  padding-top: 1rem;
}
.siteHeader.fixed .logo img {
  width: 40px;
  margin-right: 30px;
}
@media (max-width: 768px) {
  .siteHeader .wrapper {
    padding-top: 1rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .siteHeader #nav-toggle {
    display: inline-block;
  }
  .siteHeader .o,
  .siteHeader .menu {
    z-index: 100;
    background: url(../images/bg.jpg) 150px center;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    /*noinspection CssOverwrittenProperties*/
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    pointer-events: none;
  }
  .siteHeader .o {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    z-index: 101;
  }
  .siteHeader .o .social {
    width: auto;
  }
  .siteHeader .menu {
    padding-top: 4rem;
  }
  .siteHeader .menu a {
    display: block;
    text-align: center;
    padding: .5rem 0;
  }
  .siteHeader.nav-active {
    box-shadow: 0;
  }
  .siteHeader.nav-active .o,
  .siteHeader.nav-active .menu {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    pointer-events: auto;
  }
  .siteHeader.nav-active .menu {
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  }
  .siteHeader.nav-active #nav-toggle span {
    background-color: transparent;
  }
  .siteHeader.nav-active #nav-toggle span:before,
  .siteHeader.nav-active #nav-toggle span:after {
    top: 0;
  }
  .siteHeader.nav-active #nav-toggle span:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .siteHeader.nav-active #nav-toggle span:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
.siteFooter .separator {
  position: relative;
  z-index: 2;
  height: 105px;
  background: url(../images/footer-separator.png) center bottom;
}
.siteFooter .sponsors {
  background: #fff;
  padding: 3rem 0;
}
.siteFooter .sponsors .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.siteFooter .sponsors .wrapper > * {
  width: calc((100% / 6) - 1rem);
}
.siteFooter .vcard {
  padding: 2rem 0;
  background: #595c54;
  color: #fff;
  font-size: 0.93333333rem;
}
.siteFooter .vcard .label {
  font-weight: 700;
}
.siteFooter .vcard .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.siteFooter .vcard .wrapper > * {
  padding: 1rem;
}
.siteFooter .vcard .wrapper .l,
.siteFooter .vcard .wrapper .r {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 25%;
          flex: 1 1 25%;
}
.siteFooter .vcard .wrapper .l > *,
.siteFooter .vcard .wrapper .r > * {
  display: block;
}
.siteFooter .vcard .wrapper .c {
  -webkit-box-flex: 10;
      -ms-flex: 10 10 50%;
          flex: 10 10 50%;
  text-align: center;
}
.siteFooter .c .title {
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 900;
}
.siteFooter .c form {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -1rem;
  margin-top: 1rem;
}
.siteFooter .c form > * {
  width: calc(100% / 3 - 1rem);
  margin-left: 1rem;
}
.siteFooter .c form input,
.siteFooter .c form button {
  border: 2px solid #fff;
  padding: .5rem 1rem;
}
.siteFooter .c form input {
  background-color: #fff;
  font-size: 0.93333333rem;
  color: #000;
}
.siteFooter .c form input::-webkit-input-placeholder {
  color: #e75015;
}
.siteFooter .c form input:-ms-input-placeholder {
  color: #e75015;
}
.siteFooter .c form input::placeholder {
  color: #e75015;
}
.siteFooter .c form button {
  background-color: transparent;
  color: #fff;
  font-size: 1.06666667rem;
  font-weight: 700;
  text-transform: uppercase;
}
.siteFooter .createdBy {
  max-width: 220px;
  margin-top: 2rem;
  margin-left: auto;
  padding: 1rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
}
.siteFooter .createdBy .t {
  text-align: right;
  padding-right: 1rem;
}
.siteFooter .createdBy .t > * {
  display: block;
}
@media (max-width: 768px) {
  .vcard .wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .vcard .wrapper .l,
  .vcard .wrapper .r {
    text-align: center;
  }
  .vcard .wrapper form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: .5rem 0;
  }
  .vcard .wrapper form > * {
    width: 100%;
    max-width: 280px;
  }
  .vcard .wrapper form input,
  .vcard .wrapper form button {
    margin: .5rem auto;
  }
  .createdBy {
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .siteContent {
    padding-bottom: 500px;
    margin-bottom: -450px;
  }
  .siteFooter .logo {
    position: relative;
    top: 15px;
    z-index: 3;
    height: 450px;
    max-width: 1180px;
    margin: 0 auto;
    background: url(../images/logo-otl-big.png) right bottom no-repeat;
  }
}
.siteContent .wrapper {
  padding-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
.siteContent .wrapper > * {
  width: 100%;
  position: relative;
}
.siteContent .wrapper > *:before {
  content: '';
  position: absolute;
  top: 10rem;
  right: 10rem;
  left: 10rem;
  bottom: 10rem;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 10rem 10rem rgba(255, 255, 255, 0.8);
  border-radius: 10rem;
  pointer-events: none;
  -webkit-transform: translateY(10px) rotate(5deg);
          transform: translateY(10px) rotate(5deg);
}
.siteContent .wrapper > * > * {
  position: relative;
}
.siteContent .wrapper aside {
  width: 25%;
}
.siteContent .wrapper aside:before {
  display: none;
}
.siteContent .wrapper aside .card {
  margin-right: 2rem;
}
.siteContent .wrapper aside + * {
  width: calc(75% - 2rem);
  margin-left: 2rem;
}
@media (max-width: 768px) {
  .siteContent .wrapper aside {
    width: 100%;
  }
  .siteContent .wrapper aside.nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2rem;
  }
  .siteContent .wrapper aside.nav .card {
    margin: .3rem;
    box-shadow: none;
    width: calc(33% - .6rem);
    padding: .1rem;
    min-height: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .siteContent .wrapper aside.nav .card.jumbo {
    width: calc(100% - .6rem);
  }
  .siteContent .wrapper aside.nav .card .title {
    font-size: 1rem;
  }
  .siteContent .wrapper aside + * {
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 425px) {
  .siteContent .wrapper aside.nav {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .siteContent .wrapper aside.nav .card {
    width: calc(50% - .6rem);
  }
}
.siteContent.index {
  padding-bottom: 3rem;
}
@media (min-width: 768px) {
  .siteContent.index {
    min-height: 900px;
    padding-bottom: 700px;
    background: url(../images/bg-main.png) left bottom no-repeat;
  }
}
article .card.title {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
article .card.title .title {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #595c54;
}
article .card.title.active .title {
  color: #fff;
}
article .tickets-list time,
article .tickets-list-big time {
  width: 120px;
  text-align: center;
  color: #595c54;
}
article .tickets-list time > *,
article .tickets-list-big time > * {
  display: block;
  line-height: 1.1;
}
article .tickets-list time .d,
article .tickets-list-big time .d {
  font-size: 1.8em;
  font-weight: 900;
}
article .tickets-list time .t,
article .tickets-list-big time .t {
  font-size: 1.1em;
  font-weight: 700;
}
article .tickets-list .title,
article .tickets-list-big .title {
  font-size: 1.5em;
  color: #e75015;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
}
article .tickets-list .credits,
article .tickets-list-big .credits {
  color: #000;
  font-weight: 700;
}
article .tickets-list .audience,
article .tickets-list-big .audience,
article .tickets-list .duration,
article .tickets-list-big .duration {
  color: #595c54;
  font-weight: 700;
}
article .tickets-list .audience [class^="icon-"]:before,
article .tickets-list-big .audience [class^="icon-"]:before,
article .tickets-list .duration [class^="icon-"]:before,
article .tickets-list-big .duration [class^="icon-"]:before,
article .tickets-list .audience [class*=" icon-"]:before,
article .tickets-list-big .audience [class*=" icon-"]:before,
article .tickets-list .duration [class*=" icon-"]:before,
article .tickets-list-big .duration [class*=" icon-"]:before {
  font-size: 3rem;
  vertical-align: middle;
  margin-left: 0;
}
article .tickets-list .audience,
article .tickets-list-big .audience,
article .tickets-list .actions,
article .tickets-list-big .actions {
  white-space: nowrap;
}
@media (max-width: 768px) {
  article .tickets-list time,
  article .tickets-list-big time {
    font-size: .8rem;
    padding: 1rem 0;
  }
  article .tickets-list .title,
  article .tickets-list-big .title {
    font-size: 1.1em;
  }
  article .tickets-list .audience,
  article .tickets-list-big .audience,
  article .tickets-list .duration,
  article .tickets-list-big .duration {
    padding-bottom: 0;
    padding-top: 0;
  }
  article .tickets-list .audience [class^="icon-"]:before,
  article .tickets-list-big .audience [class^="icon-"]:before,
  article .tickets-list .duration [class^="icon-"]:before,
  article .tickets-list-big .duration [class^="icon-"]:before,
  article .tickets-list .audience [class*=" icon-"]:before,
  article .tickets-list-big .audience [class*=" icon-"]:before,
  article .tickets-list .duration [class*=" icon-"]:before,
  article .tickets-list-big .duration [class*=" icon-"]:before {
    font-size: 2rem;
  }
}
article .tickets-list {
  width: 100%;
  display: table;
  border-collapse: collapse;
}
article .tickets-list .ticket {
  display: table-row;
}
article .tickets-list .ticket > * {
  border-top: 3px solid #595c54;
  display: table-cell;
  padding: 1rem .5rem;
  vertical-align: middle;
}
@media (max-width: 768px) {
  article .tickets-list {
    display: block;
  }
  article .tickets-list .ticket {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    border-top: 3px solid #595c54;
  }
  article .tickets-list .ticket > * {
    border: 0;
  }
  article .tickets-list .ticket time {
    width: 70px;
    font-size: 0.6em;
  }
  article .tickets-list .ticket .title,
  article .tickets-list .ticket .credits,
  article .tickets-list .ticket .audience,
  article .tickets-list .ticket .actions {
    width: calc(100% - 70px);
  }
  article .tickets-list .ticket .audience,
  article .tickets-list .ticket .duration {
    width: calc(50% - 70px / 2);
  }
  article .tickets-list .ticket .credits,
  article .tickets-list .ticket .audience,
  article .tickets-list .ticket .actions {
    margin-left: 70px;
  }
  article .tickets-list .ticket .credits {
    padding-top: 0;
    padding-bottom: 0;
  }
  article .tickets-list .ticket .actions {
    width: calc(100% - 70px * 2);
  }
  article .tickets-list .ticket .actions > * {
    width: 100%;
    text-align: center;
  }
}
article .tickets-list-big .ticket {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  margin-bottom: 2rem;
}
article .tickets-list-big .ticket .icon-adult:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22.58'><defs><style>.a{fill:none;stroke:%23fff;stroke-miterlimit:10;}</style></defs><path class='a' d='M16.72,3.24A2.74,2.74,0,1,1,14,.5,2.74,2.74,0,0,1,16.72,3.24Zm.78,8a3.5,3.5,0,1,0-7,0s0,10.83,0,10.83h7S17.5,11.26,17.5,11.24ZM4,.5A2.74,2.74,0,1,0,6.72,3.24,2.74,2.74,0,0,0,4,.5ZM7.5,11.24a3.5,3.5,0,1,0-7,0s0,10.83,0,10.83h7S7.5,11.26,7.5,11.24Z'/></svg>");
}
article .tickets-list-big .ticket .icon-child:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.44 17.58'><defs><style>.a{fill:none;stroke:%23fff;stroke-miterlimit:10;}</style></defs><path class='a' d='M16.74,3.24A2.74,2.74,0,1,1,14,.5,2.74,2.74,0,0,1,16.74,3.24Zm.76,8a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S17.5,11.26,17.5,11.24ZM9.06,1.36V5.13l1.89-1.89Zm9.89,3.78V1.36L17.06,3.24ZM14,.5a2.74,2.74,0,1,0,2.74,2.74A2.74,2.74,0,0,0,14,.5Zm3.5,10.74a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S17.5,11.26,17.5,11.24ZM4,.5A2.74,2.74,0,1,0,6.74,3.24,2.74,2.74,0,0,0,4,.5ZM7.5,11.24a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S7.5,11.26,7.5,11.24Zm0,0a3.5,3.5,0,1,0-7,0s0,5.83,0,5.83h7S7.5,11.26,7.5,11.24Z'/></svg>");
}
article .tickets-list-big .ticket .icon-clock:before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.08 26.08'><defs><style>.a{fill:none;stroke:%23fff;stroke-miterlimit:10;}</style></defs><title>clock</title><circle class='a' cx='13.04' cy='13.04' r='12.54'/><circle class='a' cx='13.04' cy='13.04' r='9.34'/><line class='a' x1='12.86' y1='13.59' x2='12.86' y2='8.22'/><line class='a' x1='12.7' y1='13.43' x2='18.07' y2='13.43'/></svg>");
}
article .tickets-list-big .ticket .audience [class^="icon-"]:before,
article .tickets-list-big .ticket .duration [class^="icon-"]:before,
article .tickets-list-big .ticket .audience [class*=" icon-"]:before,
article .tickets-list-big .ticket .duration [class*=" icon-"]:before {
  margin-right: 0;
}
article .tickets-list-big .ticket .bar {
  width: 120px;
  padding: 0;
  background: #595c54;
  border-left: 3px solid #595c54;
  color: #fff;
}
article .tickets-list-big .ticket .bar.orange {
  background: #e75015;
  border-left: 3px solid #e75015;
}
article .tickets-list-big .ticket .info {
  border: 3px solid #595c54;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
article .tickets-list-big .ticket .info .top {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem;
}
article .tickets-list-big .ticket .info .title {
  padding-right: 1rem;
  -webkit-box-flex: 10;
      -ms-flex: 10 1;
          flex: 10 1;
}
article .tickets-list-big .ticket .info .actions {
  -webkit-box-flex: 1;
      -ms-flex: 1 10;
          flex: 1 10;
}
article .tickets-list-big .ticket .info .photo,
article .tickets-list-big .ticket .info .desc {
  width: 50%;
  padding: 1rem;
}
article .tickets-list-big .ticket .info .desc {
  font-size: .9em;
  text-align: justify;
}
article .tickets-list-big .ticket .info .desc .more {
  margin-left: auto;
  background: #e75015;
  font-weight: 900;
  font-size: 1.3rem;
  text-align: center;
  display: block;
  width: 2.4rem;
  line-height: 2.2rem;
  height: 2.2rem;
  color: #fff;
}
article .tickets-list-big .ticket .info.orange {
  border: 3px solid #e75015;
}
article .tickets-list-big .ticket time,
article .tickets-list-big .ticket .audience,
article .tickets-list-big .ticket .duration {
  color: #fff;
  display: block;
  white-space: normal;
  text-align: center;
  margin: 1rem 0;
}
article .tickets-list-big .ticket .audience > *,
article .tickets-list-big .ticket .duration > * {
  display: block;
}
@media (max-width: 768px) {
  article .tickets-list-big .ticket time {
    width: 90px;
  }
}
@media (max-width: 425px) {
  article .tickets-list-big .ticket .info .title {
    padding-right: 0;
  }
  article .tickets-list-big .ticket .info .actions {
    text-align: center;
    padding-top: 1rem;
  }
  article .tickets-list-big .ticket .info .title,
  article .tickets-list-big .ticket .info .actions,
  article .tickets-list-big .ticket .info .photo,
  article .tickets-list-big .ticket .info .desc {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  article .tickets-list-big .ticket .info .photo {
    text-align: center;
  }
}
article.actors .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
article.actors .card .content {
  margin-top: auto;
}
article.actor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
article.actor .card {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
article.actor .c {
  width: calc(100% / 3 - 2rem);
  margin-left: 2rem;
  margin-bottom: 2rem;
}
article.actor .t {
  padding: 0 1rem;
}
@media (max-width: 768px) {
  article.actor {
    margin-left: 0;
  }
  article.actor .c {
    width: 100%;
    max-width: 450px;
    margin: 1rem auto;
  }
}
article.history .entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
article.history .entry .picture,
article.history .entry .text {
  width: 37%;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
article.history .entry .picture img,
article.history .entry .text img {
  width: 100%;
}
article.history .entry .date {
  width: 26%;
}
article.history .entry .text {
  text-align: left;
}
article.history .entry .text > span,
article.history .entry .text > strong {
  display: block;
}
article.history .entry .text hr {
  width: 70%;
  margin: 1rem auto 1rem 0;
}
article.history .entry .text:first-child {
  text-align: right;
}
article.history .entry .text:first-child hr {
  margin-right: 0;
  margin-left: auto;
}
article.history .entry .date {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
}
article.history .entry .date .d {
  width: 100%;
}
article.history .entry .date .d + .d {
  margin-top: 50px;
  position: relative;
}
article.history .entry .date .d + .d:before,
article.history .entry .date .d + .d:after {
  content: '';
  pointer-events: none;
  position: absolute;
}
article.history .entry .date .d + .d:before {
  height: 35px;
  width: 3px;
  background-color: #595c54;
  top: -44px;
  left: calc(50% - 1px);
}
article.history .entry .date .d + .d:after {
  top: -46px;
  left: calc(50% - 3px);
  height: 41px;
  width: 7px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center bottom no-repeat;
}
article.history .entry .date .d > * {
  display: block;
}
article.history .entry .date .y {
  font-size: 1.3em;
  color: #e75015;
  font-weight: 900;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 500'%3E%3Crect x='0' y='0' width='3' height='500' fill='#595c54'/%3E%3C/svg%3E") left top no-repeat;
}
article.history .entry .date:before,
article.history .entry .date:after {
  content: '';
  pointer-events: none;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: 7px;
}
article.history .entry .date:before,
article.history .entry .date:after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 500'%3E%3Crect x='0' y='0' width='3' height='500' fill='#595c54'/%3E%3C/svg%3E") no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") no-repeat;
  background-size: 3px 500px, 7px 7px;
}
article.history .entry .date:before {
  background-position: center bottom 3px, center bottom;
  margin-bottom: 1rem;
}
article.history .entry .date:after {
  background-position: center 3px, center top;
  margin-top: 1rem;
}
article.history .entry:first-child .date:before,
article.history .entry:last-child .date:after {
  background: none;
}
@media (max-width: 768px) {
  article.history .entry {
    margin-bottom: 100px;
    position: relative;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  article.history .entry + .entry:before {
    content: '';
    position: absolute;
    bottom: calc(100% + 10px);
    height: 80px;
    width: 100%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 500'%3E%3Crect x='0' y='0' width='3' height='500' fill='#595c54'/%3E%3C/svg%3E") center top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center bottom no-repeat;
    background-size: 3px 500px, 7px, 7px;
  }
  article.history .entry .date:after,
  article.history .entry .date:before {
    background: none;
  }
  article.history .entry .picture,
  article.history .entry .date {
    margin-bottom: 1rem;
    width: 50%;
    max-width: 250px;
  }
  article.history .entry .picture {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  article.history .entry .date {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  article.history .entry .date .d {
    max-width: 120px;
  }
  article.history .entry .text {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    text-align: left !important;
  }
  article.history .entry .text hr {
    width: 100%;
  }
}
article.tickets .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 700px;
  margin: 2rem auto;
}
article.tickets .prices .title {
  width: 100%;
}
article.tickets .prices .l {
  width: calc(100% / 1.5);
}
article.tickets .prices .r {
  width: calc(100% / 3 - 2rem);
  margin-left: 2rem;
}
article.tickets .prices table {
  width: 100%;
}
article.tickets .prices table td {
  width: 50%;
  font-weight: 700;
  text-align: center;
}
article.tickets .prices table td span[data-mark] {
  position: relative;
}
article.tickets .prices table td span[data-mark]:after {
  position: absolute;
  left: 100%;
  top: 0;
  content: attr(data-mark);
  color: #e75015;
}
article.tickets .prices .card .content .text {
  text-align: center;
}
article.tickets .prices .card .content .text .t {
  font-size: 1.46666667rem;
  font-weight: 900;
}
article.tickets .prices .card .content .text strong {
  font-weight: 700;
}
article.tickets .prices .marks {
  margin-top: 1rem;
}
article.tickets .prices .marks .label {
  color: #e75015;
}
@media (max-width: 768px) {
  article.tickets .prices .r {
    max-width: 300px;
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 auto;
  }
  article.tickets .prices .title {
    width: 100%;
    text-align: center;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  article.tickets .prices .l {
    width: 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
article.repertoire {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -3rem;
  width: calc(100% + 3rem) !important;
}
article.repertoire > *:not(.tickets-list) {
  width: calc(50% - 3rem);
  margin-left: 3rem;
  margin-bottom: 3rem;
}
article.repertoire .calendar {
  font-weight: 700;
  font-size: 1.1em;
}
article.repertoire .calendar .month {
  width: 100%;
}
article.repertoire .calendar .week {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
article.repertoire .calendar .week .day {
  width: calc(100% / 7);
}
article.repertoire .calendar .month .week .day {
  color: #e75015;
  cursor: pointer;
}
article.repertoire .calendar .month .week .day > * {
  display: block;
  padding-top: 100%;
  position: relative;
}
article.repertoire .calendar .month .week .day > *:before {
  content: attr(data-d);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
article.repertoire .calendar .month .week .day {
  border: 0 solid #595c54;
  border-left-width: 3px;
  border-bottom-width: 3px;
}
article.repertoire .calendar .month .week .day:last-child {
  border-right-width: 3px;
}
article.repertoire .calendar .month .week:first-child .day {
  border-top-width: 3px;
}
article.repertoire .calendar .month .week .day.inactive {
  color: #d8d9d6;
  border-left-color: #d8d9d6;
}
article.repertoire .calendar .month .week .day.inactive:last-child {
  border-right-color: #d8d9d6;
}
article.repertoire .calendar .month .week:first-child .day.inactive {
  border-top-color: #d8d9d6;
}
article.repertoire .calendar .month .week:last-child .day.inactive {
  border-bottom-color: #d8d9d6;
}
article.repertoire .calendar .month .week .day + .day.inactive {
  border-left-color: #595c54;
}
article.repertoire .calendar .month .week .day.inactive + .day.inactive {
  border-left-color: #d8d9d6;
}
article.repertoire .calendar .month .week .day.empty {
  color: #595c54;
}
article.repertoire .calendar .month .week .day.gradient {
  background: -webkit-linear-gradient(315deg, #e75015 50%, #595c54 50%);
  background: linear-gradient(135deg, #e75015 50%, #595c54 50%);
  color: #fff;
}
article.repertoire .calendar .month .week .day.grey {
  background: #595c54;
  color: #fff;
}
article.repertoire .calendar .month .week .day.orange {
  background-color: #e75015;
  color: #fff;
}
article.repertoire .calendar .header {
  text-align: center;
}
article.repertoire .calendar .header .month {
  color: #e75015;
  font-weight: 700;
  text-transform: uppercase;
}
article.repertoire .calendar .header .month > * {
  display: inline-block;
  padding: .5rem;
}
article.repertoire .calendar .header .day {
  padding: .5rem;
}
@media (max-width: 768px) {
  article.repertoire > * {
    width: 100%;
    margin-left: 3rem;
    margin-bottom: 3rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  article.repertoire > *:not(.tickets-list) {
    width: 100%;
    margin-left: 3rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  article.repertoire .calendar {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
article.performance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -4rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
article.performance .left,
article.performance .center,
article.performance .right {
  margin-left: 4rem;
  width: calc(33% - 4rem);
}
article.performance .card.title {
  max-width: initial;
}
article.performance .card.title .title {
  text-align: left;
}
article.performance .icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 2rem 0;
}
article.performance .icons > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
article.performance .icons > span > * {
  width: 100%;
  text-align: center;
}
article.performance .icons > span [class^="icon-"]:before,
article.performance .icons > span [class*=" icon-"]:before {
  font-size: 2.5rem;
  vertical-align: middle;
  margin: .5rem 0;
}
article.performance .icons > span .label {
  font-size: .8rem;
  color: #595c54;
  font-weight: 700;
}
article.performance .tickets {
  color: #595c54;
}
article.performance .tickets time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 1rem;
}
article.performance .tickets time > * {
  padding: 0 .5rem;
  line-height: 1;
}
article.performance .tickets time .d,
article.performance .tickets time .t {
  font-size: .9em;
  font-weight: 900;
}
article.performance .tickets time .d {
  border-right: 2px solid;
}
article.performance .tickets time .t {
  border-left: 2px solid;
}
article.performance .tickets .ticket,
article.performance .tickets .more {
  border: 3px solid;
  border-top-width: 0;
  width: 100%;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
article.performance .tickets .ticket .button,
article.performance .tickets .more .button {
  margin-left: auto;
  text-align: center;
}
article.performance .tickets .ticket {
  font-size: .9em;
}
article.performance .tickets .ticket:first-child {
  border-top-width: 3px;
}
article.performance .tickets .more {
  border-color: transparent;
}
article.performance .tickets .more .button {
  font-size: .9rem;
  letter-spacing: -0.5pt;
}
@media (max-width: 1024px) {
  article.performance .left,
  article.performance .center,
  article.performance .right {
    width: calc(50% - 4rem);
  }
}
@media (max-width: 768px) {
  article.performance {
    margin-left: 0;
  }
  article.performance .left,
  article.performance .center,
  article.performance .right {
    width: 100%;
    max-width: 450px;
    margin: 1rem auto;
  }
}
article.projects .project {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1rem;
  margin-bottom: 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
article.projects .project .logo {
  border: 3px solid #595c54;
  margin-right: 3em;
  -ms-flex-item-align: start;
      align-self: flex-start;
  background: #fff center no-repeat;
  background-size: cover;
}
article.projects .project .logo:before {
  content: '';
  display: block;
  padding-top: 100%;
}
article.projects .project .timeline {
  text-align: center;
  position: relative;
}
article.projects .project .timeline:before {
  content: '';
  position: absolute;
  top: 50px;
  bottom: 50px;
  left: 0;
  width: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 500'%3E%3Crect x='0' y='0' width='3' height='500' fill='#595c54'/%3E%3C/svg%3E") center top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center top no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='#595c54'/%3E%3C/svg%3E") center bottom no-repeat;
  background-size: 3px 500px, 7px, 7px;
}
article.projects .project .timeline .m {
  font-size: .85em;
}
article.projects .project .timeline .y,
article.projects .project .desc .title {
  font-size: 1.4em;
  font-weight: 800;
  color: #e75015;
  text-transform: uppercase;
}
article.projects .project .logo {
  width: 80%;
  max-width: 200px;
}
article.projects .project .timeline {
  width: 20%;
}
article.projects .project .desc {
  padding-top: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  article.projects .project .logo {
    width: 25%;
  }
  article.projects .project .timeline {
    width: 10%;
  }
  article.projects .project .desc {
    padding-top: 0;
    width: 65%;
  }
}
article.contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -4rem;
  width: calc(100% + 4rem) !important;
  color: #595c54;
  font-size: 1.1rem;
  font-weight: 600;
}
article.contact > .col {
  display: block;
  width: calc((100% / 3) - 4rem);
  margin-left: 4rem;
  margin-top: 4rem;
}
article.contact > .col.map {
  width: calc(100% + 4rem);
  border: 3px solid;
  padding: 1rem;
  margin-bottom: 4rem;
}
article.contact .vcard .fn,
article.contact .vcard .adr {
  font-weight: 800;
  font-size: 1.4em;
  text-transform: uppercase;
}
article.contact .vcard a .type {
  display: none;
}
article.contact .label {
  font-size: 1.1em;
  font-weight: 700;
  text-transform: uppercase;
}
article.contact .section {
  margin-top: 2rem;
}
article.contact .card .title {
  color: #595c54;
}
article.contact .card .content .text {
  color: #e75015;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 768px) {
  article.contact > .col {
    width: calc((100% / 2) - 4rem);
  }
}
@media (max-width: 550px) {
  article.contact > .col {
    width: calc((100%) + 4rem);
  }
}
