/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import '../css/bootstrap-grid.css';
@import '../css/hamburgers.css';
@import '../css/slick.css';
@import '../css/jquery.fancybox.css';
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*Colors*/
/*Classes*/
.clearfix {
  overflow: visible;
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
* {
  scroll-behavior: smooth;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body, html {
  line-height: 16px;
  overflow-x: hidden;
  font-size: 16px;
  font-family: "TexGyreAdventor", sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}

h1 {
  font-size: 2rem;
  line-height: 2rem;
}

h2 {
  font-size: 1.75rem;
  line-height: 1.75rem;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.5rem;
}

h4 {
  font-size: 1.25rem;
  line-height: 1.25rem;
}

h5 {
  font-size: 1.125rem;
  line-height: 1.125rem;
}

h6 {
  font-size: 1rem;
  line-height: 1rem;
}

sup {
  vertical-align: sub;
  font-size: smaller;
  line-height: 0;
}

sub {
  vertical-align: super;
  font-size: smaller;
  line-height: 0;
}

a, a:link, a:focus, a:visited {
  color: #000;
  text-decoration: underline;
}
a:hover, a:link:hover, a:focus:hover, a:visited:hover {
  text-decoration: none;
}

p {
  font-size: 1.3125rem;
  line-height: 2.25rem;
  margin-bottom: 30px;
  color: #1D1D1B;
}

ul {
  margin-bottom: 30px;
  padding-left: 30px;
  list-style: disc;
}
ul li {
  font-size: 1.3125rem;
  line-height: 2.25rem;
  color: #1D1D1B;
}
ul li ul, ul li ol {
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}

ol {
  margin-bottom: 30px;
  padding-left: 30px;
  list-style: decimal;
}
ol li {
  font-size: 1.3125rem;
  line-height: 2.25rem;
  color: #1D1D1B;
}
ol li ul, ol li ol {
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}

strong {
  font-weight: 700;
}

.container {
  width: 90%;
  margin: 0 auto;
  max-width: 1710px;
}
.container.container-wide {
  width: 95%;
  max-width: 1890px;
}
.container.container-thin {
  max-width: 1425px;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.bold {
  font-weight: 700;
}

.loading {
  filter: blur(10px);
  -webkit-filter: blur(10px);
}

.section-header {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 15px;
}
@media only screen and (min-width: 1200px) {
  .section-header {
    font-size: 2.25rem;
    line-height: 2.25rem;
    margin-bottom: 23px;
  }
}

.section-sub-header {
  font-size: 1.25rem;
  line-height: 1.5rem;
  margin-bottom: 23px;
}
@media only screen and (min-width: 1200px) {
  .section-sub-header {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}

.pagination {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers {
  width: 30px;
  height: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.5rem;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 992px) {
  .pagination .page-numbers {
    width: 35px;
    height: 35px;
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1200px) {
  .pagination .page-numbers {
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
.pagination .page-numbers:hover, .pagination .page-numbers.current {
  color: #E84E0F;
}
.pagination .page-numbers.current {
  font-weight: 700;
}
.pagination .page-numbers.dots:hover {
  color: #000;
}
.pagination .page-numbers.prev:hover svg path, .pagination .page-numbers.next:hover svg path {
  stroke: #E84E0F;
}
.pagination .page-numbers.prev svg path, .pagination .page-numbers.next svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@font-face {
  font-family: "TexGyreAdventor";
  src: url("../fonts/texgyreadventor-bold.otf");
  font-weight: 700;
  font-style: "italic";
}
@font-face {
  font-family: "TexGyreAdventor";
  src: url("../fonts/texgyreadventor-bold.otf");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "TexGyreAdventor";
  src: url("../fonts/texgyreadventor-italic.otf");
  font-weight: 400;
  font-style: "italic";
}
@font-face {
  font-family: "TexGyreAdventor";
  src: url("../fonts/texgyreadventor-regular.otf");
  font-weight: 400;
  font-style: normal;
}
.btn, .btn:link, .btn:focus, .btn:visited {
  position: relative;
  display: inline-block;
  background-color: #EDEDED;
  border: none;
  color: #000;
  padding: 9px 45px 14px 45px;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-align: center;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .btn, .btn:link, .btn:focus, .btn:visited {
    padding: 9px 45px 14px 45px;
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 992px) {
  .btn, .btn:link, .btn:focus, .btn:visited {
    padding: 10px 44px 15px 44px;
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1200px) {
  .btn, .btn:link, .btn:focus, .btn:visited {
    padding: 17px 74px 19px 74px;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.btn:hover, .btn:link:hover, .btn:focus:hover, .btn:visited:hover {
  color: #fff;
  background-color: #E84E0F;
}
.btn.btn-with-arrow, .btn:link.btn-with-arrow, .btn:focus.btn-with-arrow, .btn:visited.btn-with-arrow {
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0;
  color: #000;
  background-color: transparent;
}
@media only screen and (min-width: 1200px) {
  .btn.btn-with-arrow, .btn:link.btn-with-arrow, .btn:focus.btn-with-arrow, .btn:visited.btn-with-arrow {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 1600px) {
  .btn.btn-with-arrow, .btn:link.btn-with-arrow, .btn:focus.btn-with-arrow, .btn:visited.btn-with-arrow {
    font-size: 1.5rem;
    line-height: 1.875rem;
  }
}
.btn.btn-with-arrow:hover, .btn:link.btn-with-arrow:hover, .btn:focus.btn-with-arrow:hover, .btn:visited.btn-with-arrow:hover {
  color: #000;
  background-color: transparent;
}
.btn.btn-with-arrow:hover svg, .btn:link.btn-with-arrow:hover svg, .btn:focus.btn-with-arrow:hover svg, .btn:visited.btn-with-arrow:hover svg {
  margin-left: 15px;
}
.btn.btn-with-arrow svg, .btn:link.btn-with-arrow svg, .btn:focus.btn-with-arrow svg, .btn:visited.btn-with-arrow svg {
  margin-top: 5px;
}
.btn.btn-with-arrow.white, .btn:link.btn-with-arrow.white, .btn:focus.btn-with-arrow.white, .btn:visited.btn-with-arrow.white {
  color: #fff;
}
.btn.btn-with-arrow-alt, .btn:link.btn-with-arrow-alt, .btn:focus.btn-with-arrow-alt, .btn:visited.btn-with-arrow-alt {
  font-size: 1rem;
  line-height: 1rem;
  text-transform: uppercase;
  padding: 6px 35px 10px 35px;
  background-color: #E84E0F;
}
.btn.btn-with-arrow-alt:hover, .btn:link.btn-with-arrow-alt:hover, .btn:focus.btn-with-arrow-alt:hover, .btn:visited.btn-with-arrow-alt:hover {
  background-color: #EDEDED;
}
.btn.btn-with-arrow-alt:hover span, .btn:link.btn-with-arrow-alt:hover span, .btn:focus.btn-with-arrow-alt:hover span, .btn:visited.btn-with-arrow-alt:hover span {
  color: #000;
}
.btn.btn-with-arrow-alt:hover svg path, .btn:link.btn-with-arrow-alt:hover svg path, .btn:focus.btn-with-arrow-alt:hover svg path, .btn:visited.btn-with-arrow-alt:hover svg path {
  stroke: #000;
}
.btn.btn-with-arrow-alt span, .btn:link.btn-with-arrow-alt span, .btn:focus.btn-with-arrow-alt span, .btn:visited.btn-with-arrow-alt span {
  color: #fff;
}
.btn.btn-small-bg, .btn:link.btn-small-bg, .btn:focus.btn-small-bg, .btn:visited.btn-small-bg {
  font-size: 1.5rem;
  line-height: 1.5rem;
  text-transform: uppercase;
  padding: 5px 15px 14px 15px;
  background-color: #EDEDED;
}
.btn.btn-small-bg:hover, .btn:link.btn-small-bg:hover, .btn:focus.btn-small-bg:hover, .btn:visited.btn-small-bg:hover {
  background-color: #E84E0F;
}
.btn.btn-small-bg:hover span, .btn:link.btn-small-bg:hover span, .btn:focus.btn-small-bg:hover span, .btn:visited.btn-small-bg:hover span {
  color: #fff;
}
.btn.btn-small-bg:hover svg path, .btn:link.btn-small-bg:hover svg path, .btn:focus.btn-small-bg:hover svg path, .btn:visited.btn-small-bg:hover svg path {
  stroke: #fff;
}
.btn.btn-small-bg svg, .btn:link.btn-small-bg svg, .btn:focus.btn-small-bg svg, .btn:visited.btn-small-bg svg {
  margin-top: 4px;
}
.btn.btn-small-bg span, .btn:link.btn-small-bg span, .btn:focus.btn-small-bg span, .btn:visited.btn-small-bg span {
  color: #000;
}
.btn span, .btn:link span, .btn:focus span, .btn:visited span {
  vertical-align: middle;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.btn svg, .btn:link svg, .btn:focus svg, .btn:visited svg {
  margin-left: 25px;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.btn svg path, .btn:link svg path, .btn:focus svg path, .btn:visited svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

nav {
  background-color: #fff;
  padding: 12px 0;
}
@media only screen and (min-width: 1200px) {
  nav {
    padding: 19px 0;
  }
}
nav .row {
  margin-left: -10px;
  margin-right: -10px;
}
@media only screen and (min-width: 1200px) {
  nav .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
nav .row .col {
  padding-left: 10px;
  padding-right: 10px;
}
@media only screen and (min-width: 1200px) {
  nav .row .col {
    padding-left: 15px;
    padding-right: 15px;
  }
}
nav .logo-wrap {
  display: inline-block;
}
nav .logo-wrap img {
  max-height: 60px;
}
@media only screen and (min-width: 992px) {
  nav .logo-wrap img {
    max-height: 80px;
  }
}
@media only screen and (min-width: 1200px) {
  nav .logo-wrap img {
    max-height: 143px;
  }
}
nav .float-right-wrap {
  float: right;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
}
nav .menu:not(.mobile-menu) {
  list-style: none;
  float: left;
  padding-left: 0;
  margin-bottom: 0;
}
nav .menu:not(.mobile-menu) li {
  float: left;
}
nav .menu:not(.mobile-menu) li.current-menu-item a {
  background-color: #E84E0F;
  color: #fff;
}
nav .menu:not(.mobile-menu) li a {
  display: block;
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 700;
  color: #1D1D1B;
  text-transform: uppercase;
  text-decoration: none;
  padding: 15px 10px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1200px) {
  nav .menu:not(.mobile-menu) li a {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 15px 15px;
  }
}
@media only screen and (min-width: 1600px) {
  nav .menu:not(.mobile-menu) li a {
    padding: 15px 23px;
  }
}
nav .menu:not(.mobile-menu) li a:hover {
  background-color: #E84E0F;
  color: #fff;
}
nav .menu:not(.mobile-menu) li.menu-item-has-children {
  position: relative;
}
nav .menu:not(.mobile-menu) li.menu-item-has-children:hover > .sub-menu {
  display: block;
}
nav .menu:not(.mobile-menu) .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  z-index: 99;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  list-style: none;
  width: 100%;
}
nav .menu:not(.mobile-menu) .sub-menu li {
  width: 100%;
  float: none;
}
nav .menu:not(.mobile-menu) .sub-menu li a {
  display: block;
  width: 100%;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 15px 23px;
  text-align: center;
}
nav .hamburger-inner, nav .hamburger-inner::after, nav .hamburger-inner::before {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  float: left;
}
nav .social-media-wrap {
  float: left;
}
nav .social-media-wrap a {
  display: inline-block;
  margin-left: 10px;
}
@media only screen and (min-width: 1200px) {
  nav .social-media-wrap a {
    margin-left: 20px;
  }
}
nav .social-media-wrap a svg {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
nav .wcag-wrap {
  float: left;
  margin-left: 20px;
}
nav .hamburger {
  padding-right: 0;
}

.sidenav {
  position: fixed;
  background-color: #1D1D1B;
  height: 100vh;
  width: 100%;
  top: 0;
  left: -100%;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 9999;
}
.sidenav.open {
  left: 0px;
}
.sidenav .hamburger {
  position: absolute;
  top: 15px;
  right: 15px;
}
.sidenav .hamburger .hamburger-inner, .sidenav .hamburger .hamburger-inner::after, .sidenav .hamburger .hamburger-inner::before {
  background-color: #fff;
}
.sidenav .top-wrap {
  overflow: hidden;
  border-bottom: 1px solid #303030;
}
.sidenav .top-wrap a.logo-wrap {
  display: block;
  float: left;
  height: 45px;
  width: 100px;
  margin-top: 25px;
  margin-bottom: 25px;
  margin-left: 40px;
}
.sidenav .top-wrap a.logo-wrap img, .sidenav .top-wrap a.logo-wrap svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  fill: #fff;
}
.sidenav .menu-bg-wrap {
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
  height: calc(100% - 67px);
  overflow: scroll;
  padding-top: 60px;
}
.sidenav .menu-bg-wrap.background-sub-menu {
  background-color: #1D1D1B;
}
.sidenav .menu-bg-wrap.background-sub-menu .extra-menu-items {
  display: none;
}
.sidenav .menu-bg-wrap .mobile-menu {
  padding-left: 0;
  list-style: none;
  float: none;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  list-style: none;
}
.sidenav .menu-bg-wrap .mobile-menu li {
  float: none;
  display: block;
  border-bottom: 1px solid #303030;
  padding: 10px 0;
}
.sidenav .menu-bg-wrap .mobile-menu li.menu-item-has-children {
  position: relative;
}
.sidenav .menu-bg-wrap .mobile-menu li.menu-item-has-children > a {
  padding-right: 90px;
}
.sidenav .menu-bg-wrap .mobile-menu li a {
  text-align: left;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: #fff;
  padding: 10px 24px 10px 40px;
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  text-transform: uppercase;
}
.sidenav .menu-bg-wrap .mobile-menu li a:hover {
  background-color: #1D1D1B;
}
.sidenav .menu-bg-wrap .mobile-menu li a .arrow {
  height: 100%;
  width: 90px;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-image: url(../images/chevron-right.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 18px;
  background-color: #1D1D1B;
  border-left: 1px solid #303030;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.sidenav .menu-bg-wrap .mobile-menu li a .arrow:hover {
  background-color: #1D1D1B;
}
.sidenav .menu-bg-wrap .mobile-menu li a .back-arrow {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 90px;
  background-image: url(../images/chevron-left.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 18px;
  background-color: #1D1D1B;
  display: none;
  border-right: 1px solid #303030;
}
.sidenav .menu-bg-wrap .mobile-menu li a.menu-item-going-back {
  margin-left: 0;
  font-weight: 400;
  color: #fff;
  background-color: #1D1D1B;
  position: relative;
  padding-left: 130px;
  padding-right: 40px;
  border-bottom: 1px solid #303030;
}
.sidenav .menu-bg-wrap .mobile-menu li .sub-menu {
  display: none;
  padding-left: 0;
  list-style: none;
}
.sidenav .menu-bg-wrap .mobile-menu li .sub-menu li:last-of-type {
  border-bottom: none;
}
.sidenav .menu-bg-wrap .mobile-menu li .sub-menu li a .arrow {
  background-image: url(../images/chevron-right.svg);
}
.sidenav .menu-bg-wrap .mobile-menu li .sub-menu li a.menu-item-going-back {
  margin-left: 0;
  font-weight: 400;
  color: #fff;
}
.sidenav .menu-bg-wrap .mobile-menu li .sub-menu li .sub-menu li:last-of-type {
  border-bottom: none;
}

footer {
  background-color: #1D1D1B;
  padding: 80px 0 40px 0;
}
footer .footer-top {
  margin-bottom: 20px;
}
footer .footer-title {
  font-size: 1.625rem;
  line-height: 2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 30px;
  float: left;
  padding-left: 30px;
}
@media only screen and (min-width: 768px) {
  footer .footer-title {
    float: none;
    padding-left: 0;
  }
}
footer .logo-wrap {
  margin-bottom: 46px;
  float: left;
}
@media only screen and (min-width: 768px) {
  footer .logo-wrap {
    float: none;
  }
}
footer .logo-wrap .logo {
  display: inline-block;
}
footer p {
  font-size: 1rem;
  line-height: 1.875rem;
  color: #EDEDED;
  margin-bottom: 20px;
}
footer p a, footer p a:link, footer p a:focus, footer p a:visited {
  color: #fff;
}
footer .footer-header {
  font-size: 1rem;
  line-height: 1.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #E84E0F;
  margin-bottom: 15px;
}
footer ul {
  padding-left: 0;
  list-style: none;
}
footer ul li {
  margin-bottom: 5px;
}
footer ul li a, footer ul li a:link, footer ul li a:focus, footer ul li a:visited {
  font-size: 1rem;
  line-height: 1.875rem;
  text-transform: uppercase;
  text-decoration: none;
  color: #EDEDED;
}
footer .row-inside {
  margin-left: -5px;
  margin-right: -5px;
}
footer .row-inside .col {
  padding-left: 5px;
  padding-right: 5px;
}
footer .frame {
  border: 1px solid #E84E0F;
  padding: 16px 18px 20px 18px;
  color: #E84E0F;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 700;
  margin-bottom: 24px;
  max-width: 362px;
}
footer .bar-wrap {
  margin-bottom: 10px;
}
footer .copyright {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #5A5C54;
  margin-bottom: 0;
}
footer .social-media-wrap {
  text-align: center;
  padding-top: 0;
}
@media only screen and (min-width: 768px) {
  footer .social-media-wrap {
    padding-top: 50px;
    text-align: right;
  }
}
footer .social-media-wrap .social-media-icon-wrap {
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  footer .social-media-wrap .social-media-icon-wrap {
    display: block;
    margin-bottom: 40px;
  }
}
footer .social-media-wrap .social-media-icon-single {
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
}
@media only screen and (min-width: 768px) {
  footer .social-media-wrap .social-media-icon-single {
    margin-left: 20px;
    margin-right: 20px;
  }
}
footer .social-media-wrap .social-media-icon-single svg {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
footer .button-wrap {
  margin-bottom: 30px;
}

.top-single-page {
  padding: 62px;
  background-color: #0c0c0c;
  text-align: center;
  border-bottom: 1px solid #BEBEBE;
}
.top-single-page .single-page-title {
  color: #fff;
  text-transform: uppercase;
  font-size: 1.375rem;
  line-height: 1.5rem;
  font-weight: 700;
  position: relative;
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .top-single-page .single-page-title {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 992px) {
  .top-single-page .single-page-title {
    font-size: 1.75rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .top-single-page .single-page-title {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}
.top-single-page .single-page-title::after {
  content: "";
  display: block;
  background-image: url(../images/single-page-decor.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  height: 29px;
  width: 818px;
  left: calc(100% + 25px);
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .top-single-page .single-page-title::after {
    left: calc(100% + 30px);
  }
}
@media only screen and (min-width: 992px) {
  .top-single-page .single-page-title::after {
    left: calc(100% + 40px);
  }
}
@media only screen and (min-width: 1200px) {
  .top-single-page .single-page-title::after {
    left: calc(100% + 60px);
  }
}
@media only screen and (min-width: 1600px) {
  .top-single-page .single-page-title::after {
    left: calc(100% + 80px);
  }
}

.breadcrumbs-wrap {
  padding-top: 10px;
}
.breadcrumbs-wrap.black-bg {
  background-color: #0c0c0c;
}
.breadcrumbs-wrap.gray-bg {
  background-color: #F7F7F7;
}
.breadcrumbs-wrap span, .breadcrumbs-wrap a {
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.875rem;
}
.breadcrumbs-wrap span {
  color: #5A5C54;
}
.breadcrumbs-wrap a {
  color: #BEBEBE;
  text-decoration: none;
}

.top-slider .slide-single {
  position: relative;
  height: calc(100vh - 84px);
}
@media only screen and (min-width: 1200px) {
  .top-slider .slide-single {
    height: 100vh;
  }
}
.top-slider .slide-single > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.top-slider .slide-single .container {
  height: 100%;
}
.top-slider .slide-single .container .flex-wrap {
  height: 100%;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
}
.top-slider .slide-single .slide-header {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  padding: 12px 23px 15px 23px;
  display: inline-block;
  margin-bottom: 28px;
}
@media only screen and (min-width: 1200px) {
  .top-slider .slide-single .slide-header {
    font-size: 4rem;
    line-height: 4rem;
    padding: 18px 23px 25px 23px;
  }
}
.top-slider .slide-single .text-box {
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #1D1D1B;
  background-color: #fff;
  padding: 10px 24px 11px 24px;
  display: inline-block;
  margin-bottom: 28px;
}
@media only screen and (min-width: 1200px) {
  .top-slider .slide-single .text-box {
    font-size: 2.25rem;
    line-height: 2.25rem;
    padding: 15px 29px 15px 29px;
  }
}
.top-slider .slide-single .age-wrap .age-circle {
  width: 80px;
  height: 80px;
  border-radius: 100%;
  background-color: #E84E0F;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  line-height: 2.25rem;
  font-weight: 700;
}
.top-slider .slick-dots {
  position: absolute;
  bottom: 45px;
  list-style: none;
  padding-left: 0;
  left: 6.2%;
}
.top-slider .slick-dots li {
  margin-right: 13px;
  float: left;
}
.top-slider .slick-dots li.slick-active button {
  background-color: #E84E0F;
}
.top-slider .slick-dots li button {
  width: 43px;
  height: 10px;
  border: 1px solid #fff;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
}

.program {
  padding: 45px 0 40px 0;
}
@media only screen and (min-width: 1200px) {
  .program {
    padding: 115px 0 88px 0;
  }
}
.program .section-sub-header {
  margin-bottom: 34px;
}
@media only screen and (min-width: 1200px) {
  .program .section-sub-header {
    margin-bottom: 94px;
  }
}
.program .program-table {
  border-top: 1px solid #BEBEBE;
}
.program .program-table .program-single {
  border-bottom: 1px solid #BEBEBE;
  padding: 15px 18px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.program .program-table .program-single .row {
  margin-left: -10px;
  margin-right: -10px;
}
.program .program-table .program-single .row .col {
  padding-left: 10px;
  padding-right: 10px;
}
.program .program-table .program-single:hover {
  background-color: #000;
}
.program .program-table .program-single:hover .btn.btn-with-arrow {
  color: #fff;
}
.program .program-table .program-single:hover .btn.btn-with-arrow svg path {
  stroke: #fff;
}
.program .program-table .program-single:hover .align-right .time-wrap {
  color: #fff;
}
.program .program-table .program-single:hover .align-right .time-wrap .separator-line {
  background-color: #fff;
}
.program .program-table .program-single:hover .align-right .age-wrap svg path {
  fill: #fff;
}
.program .program-table .program-single .link-wrap {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding-bottom: 10px;
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .link-wrap {
    justify-content: flex-start;
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .btn.btn-with-arrow {
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 1600px) {
  .program .program-table .program-single .btn.btn-with-arrow {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.program .program-table .program-single .btn.btn-with-arrow span {
  text-transform: uppercase;
}
.program .program-table .program-single .btn.btn-with-arrow .first-run {
  display: inline-block;
  text-transform: none;
  background-color: #514692;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 2px 15px 7px 15px;
  margin-left: 24px;
}
@media only screen and (min-width: 768px) {
  .program .program-table .program-single .btn.btn-with-arrow .first-run {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 6px 15px 11px 15px;
  }
}
.program .program-table .program-single .align-right {
  height: 100%;
  display: block;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .program .program-table .program-single .align-right {
    display: flex;
  }
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .align-right {
    justify-content: end;
  }
}
.program .program-table .program-single .align-right .time-wrap {
  display: block;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-align: center;
  margin-top: 5px;
}
@media only screen and (min-width: 768px) {
  .program .program-table .program-single .align-right .time-wrap {
    font-size: 1.5rem;
    line-height: 1.5rem;
    display: inline-block;
    margin-top: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .align-right .time-wrap {
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 1600px) {
  .program .program-table .program-single .align-right .time-wrap {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.program .program-table .program-single .align-right .time-wrap .separator-line {
  display: inline-block;
  width: 1px;
  height: 30px;
  background-color: #5A5C54;
  margin: 0 5px;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
  .program .program-table .program-single .align-right .time-wrap .separator-line {
    height: 50px;
  }
}
.program .program-table .program-single .align-right .age-wrap {
  margin-left: 0;
  display: block;
  text-align: center;
  font-size: 0;
  padding: 10px 0;
}
@media only screen and (min-width: 768px) {
  .program .program-table .program-single .align-right .age-wrap {
    margin-left: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .align-right .age-wrap {
    display: inline-block;
    text-align: left;
    padding: 0;
  }
}
@media only screen and (min-width: 1600px) {
  .program .program-table .program-single .align-right .age-wrap {
    margin-left: 55px;
  }
}
.program .program-table .program-single .align-right .age-wrap .age-circle-wrap {
  display: inline-block;
  vertical-align: middle;
}
.program .program-table .program-single .align-right .age-wrap .age-circle-wrap .age-circle {
  display: inline-block;
  width: 56px;
  height: 56px;
  border-radius: 100%;
  background-color: #E84E0F;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 700;
}
.program .program-table .program-single .align-right .age-wrap svg {
  vertical-align: middle;
  margin-left: 8px;
}
.program .program-table .program-single .align-right .age-wrap svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.program .program-table .program-single .btn:not(.btn-with-arrow), .program .program-table .program-single .btn:link:not(.btn-with-arrow), .program .program-table .program-single .btn:focus:not(.btn-with-arrow), .program .program-table .program-single .btn:visited:not(.btn-with-arrow) {
  display: block;
}
@media only screen and (min-width: 1200px) {
  .program .program-table .program-single .btn:not(.btn-with-arrow), .program .program-table .program-single .btn:link:not(.btn-with-arrow), .program .program-table .program-single .btn:focus:not(.btn-with-arrow), .program .program-table .program-single .btn:visited:not(.btn-with-arrow) {
    display: inline-block;
    font-size: 1rem;
    line-height: 1rem;
    padding: 17px 34px 19px 34px;
  }
}
@media only screen and (min-width: 1600px) {
  .program .program-table .program-single .btn:not(.btn-with-arrow), .program .program-table .program-single .btn:link:not(.btn-with-arrow), .program .program-table .program-single .btn:focus:not(.btn-with-arrow), .program .program-table .program-single .btn:visited:not(.btn-with-arrow) {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 17px 55px 19px 55px;
  }
}
@media only screen and (min-width: 1920px) {
  .program .program-table .program-single .btn:not(.btn-with-arrow), .program .program-table .program-single .btn:link:not(.btn-with-arrow), .program .program-table .program-single .btn:focus:not(.btn-with-arrow), .program .program-table .program-single .btn:visited:not(.btn-with-arrow) {
    padding: 17px 74px 19px 74px;
  }
}
.program .button-wrap.align-right {
  padding-top: 35px;
}
@media only screen and (min-width: 768px) {
  .program .button-wrap.align-right {
    padding-top: 45px;
  }
}

.month-switch {
  text-align: center;
  margin-bottom: 45px;
}
@media only screen and (min-width: 992px) {
  .month-switch {
    margin-bottom: 65px;
  }
}
@media only screen and (min-width: 1200px) {
  .month-switch {
    margin-bottom: 95px;
  }
}
.month-switch .prev-month, .month-switch .next-month {
  vertical-align: middle;
  text-decoration: none;
}
.month-switch .prev-month:hover svg path, .month-switch .next-month:hover svg path {
  stroke: #E84E0F;
}
.month-switch .prev-month svg, .month-switch .next-month svg {
  vertical-align: middle;
}
.month-switch .prev-month svg path, .month-switch .next-month svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.month-switch .month-picker {
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  margin: 0 35px;
  display: none;
  vertical-align: middle;
}
@media only screen and (min-width: 992px) {
  .month-switch .month-picker {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 1200px) {
  .month-switch .month-picker {
    font-size: 1.5rem;
  }
}
.month-switch .month-picker.current {
  display: inline-block;
}

.tiles-full-width .row {
  margin-left: 0;
  margin-right: 0;
}
.tiles-full-width .row .col {
  padding-left: 0;
  padding-right: 0;
}
.tiles-full-width .tile-wrap {
  display: block;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  overflow: hidden;
}
.tiles-full-width .tile-wrap:hover img {
  transform: scale(1.1);
}
.tiles-full-width .tile-wrap:hover .tile-text-wrap .tile-title {
  background-color: #E84E0F;
}
.tiles-full-width .tile-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.tiles-full-width .tile-wrap .tile-text-wrap {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.tiles-full-width .tile-wrap .tile-text-wrap .tile-title {
  padding: 10px 17px 13px 17px;
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
  .tiles-full-width .tile-wrap .tile-text-wrap .tile-title {
    font-size: 1.3125rem;
    line-height: 1.6875rem;
  }
}
@media only screen and (min-width: 992px) {
  .tiles-full-width .tile-wrap .tile-text-wrap .tile-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .tiles-full-width .tile-wrap .tile-text-wrap .tile-title {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}

.news {
  background-color: #F7F7F7;
  padding: 40px 0 36px 0;
}
@media only screen and (min-width: 992px) {
  .news {
    padding: 54px 0 56px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .news {
    padding: 100px 0 56px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .news {
    padding: 154px 0 56px 0;
  }
}
.news .section-header {
  margin-bottom: 40px;
}
@media only screen and (min-width: 992px) {
  .news .section-header {
    margin-bottom: 58px;
  }
}
@media only screen and (min-width: 1200px) {
  .news .section-header {
    margin-bottom: 88px;
  }
}
@media only screen and (min-width: 1600px) {
  .news .section-header {
    margin-bottom: 138px;
  }
}
.news .align-right {
  padding-top: 35px;
  border-top: 1px solid #BEBEBE;
}
@media only screen and (min-width: 992px) {
  .news .align-right {
    padding-top: 62px;
  }
}
.news .row {
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) {
  .news .row {
    margin-bottom: 60px;
  }
}
.news .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 40px;
}

.news-loop .img-wrap {
  display: block;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .news-loop .img-wrap {
    margin-bottom: 27px;
  }
}
.news-loop .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-loop .date {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 15px;
}
@media only screen and (min-width: 1200px) {
  .news-loop .date {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-bottom: 21px;
  }
}
.news-loop .news-title {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .news-loop .news-title {
    margin-bottom: 21px;
  }
}
.news-loop .news-title > a {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
}
@media only screen and (min-width: 1200px) {
  .news-loop .news-title > a {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 15px 26px 17px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .news-loop .news-title > a {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.news-loop .excerpt {
  font-size: 1rem;
  line-height: 1.625rem;
  margin-bottom: 20px;
}
@media only screen and (min-width: 1200px) {
  .news-loop .excerpt {
    font-size: 1.125rem;
    line-height: 2rem;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1600px) {
  .news-loop .excerpt {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.news-loop .button-wrap .btn.btn-with-arrow {
  font-size: 1rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 1200px) {
  .news-loop .button-wrap .btn.btn-with-arrow {
    font-size: 1.3125rem;
    line-height: 1.75rem;
  }
}

.partners {
  padding: 40px 0;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .partners {
    padding: 75px 0;
  }
}
.partners .section-header {
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  .partners .section-header {
    margin-bottom: 75px;
  }
}
.partners .column-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.tickets {
  background-color: #0c0c0c;
  padding: 55px 0 80px 0;
  background-image: url(../images/theater-seats.jpg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1603px;
}
.tickets .tickets-top-texts {
  margin-bottom: 44px;
}
@media only screen and (min-width: 768px) {
  .tickets .tickets-top-texts {
    margin-bottom: 73px;
  }
}
.tickets .tickets-top-texts .tickets-header {
  font-size: 1.25rem;
  line-height: 2.125rem;
  font-weight: 700;
  margin-bottom: 35px;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .tickets .tickets-top-texts .tickets-header {
    font-size: 1.5rem;
    line-height: 2.25rem;
    margin-bottom: 47px;
  }
}
.tickets .tickets-top-texts p {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .tickets .tickets-top-texts p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.tickets .row {
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .tickets .row {
    margin-bottom: 135px;
  }
}
.tickets .row .col {
  padding-left: 20px;
  padding-right: 20px;
}
.tickets .ticket-box-wrap {
  margin-bottom: 55px;
}
@media only screen and (min-width: 1200px) {
  .tickets .ticket-box-wrap {
    margin-bottom: 85px;
  }
}
.tickets .ticket-box-wrap .header-line {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .header-line {
    margin-bottom: 21px;
  }
}
.tickets .ticket-box-wrap .header-line p {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .tickets .ticket-box-wrap .header-line p {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 13px 26px 17px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .tickets .ticket-box-wrap .header-line p {
    font-size: 2rem;
    line-height: 2rem;
  }
}
.tickets .ticket-box-wrap .box {
  background-color: #fff;
  padding: 20px 20px 8px 20px;
}
@media only screen and (min-width: 1600px) {
  .tickets .ticket-box-wrap .box {
    padding: 40px 32px 8px 32px;
  }
}
.tickets .ticket-box-wrap .box .price-line {
  font-size: 1rem;
  line-height: 1.875rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .box .price-line {
    font-size: 1.5rem;
    line-height: 2.875rem;
  }
}
@media only screen and (min-width: 1200px) {
  .tickets .ticket-box-wrap .box .price-line {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 1600px) {
  .tickets .ticket-box-wrap .box .price-line {
    font-size: 1.5rem;
    line-height: 2.875rem;
  }
}
.tickets .ticket-box-wrap .box .price-line:last-of-type {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .box .price-line:last-of-type {
    margin-bottom: 36px;
  }
}
.tickets .ticket-box-wrap .box .price-line .price {
  background-color: #EDEDED;
  display: inline-block;
  padding: 0 5px;
}
.tickets .ticket-box-wrap .box .info {
  padding-top: 25px;
  border-top: 1px solid #BEBEBE;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .box .info {
    padding-top: 40px;
    margin-bottom: 30px;
  }
}
.tickets .ticket-box-wrap .box .info p {
  font-size: 0.875rem;
  line-height: 1.5rem;
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .box .info p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
@media only screen and (min-width: 1200px) {
  .tickets .ticket-box-wrap .box .info p {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .tickets .ticket-box-wrap .box .info p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.tickets .ticket-box-wrap .box .info ul {
  margin-bottom: 0;
}
.tickets .ticket-box-wrap .box .info ul li {
  font-size: 0.875rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 992px) {
  .tickets .ticket-box-wrap .box .info ul li {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
@media only screen and (min-width: 1200px) {
  .tickets .ticket-box-wrap .box .info ul li {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .tickets .ticket-box-wrap .box .info ul li {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.tickets .buy-arrow-wrap .row {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .tickets .buy-arrow-wrap .row {
    margin-bottom: 70px;
  }
}
.tickets .buy-arrow-wrap p {
  font-size: 1.5rem;
  line-height: 3rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .tickets .buy-arrow-wrap p {
    margin-bottom: 0;
  }
}
.tickets .buy-arrow-wrap .arrow-wrap {
  height: 100%;
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .tickets .buy-arrow-wrap .arrow-wrap {
    display: flex;
  }
}
.tickets .bottom-text p {
  font-size: 1rem;
  line-height: 1.875rem;
  color: #EDEDED;
  margin-bottom: 10px;
}
.tickets .bottom-text p a {
  font-size: 1rem;
  line-height: 1.875rem;
  color: #EDEDED;
}

.performances .filters-search-wrap {
  padding: 45px 0 50px 0;
}
@media only screen and (min-width: 1200px) {
  .performances .filters-search-wrap {
    padding: 76px 0 100px 0;
  }
}
.performances .performance-filter {
  float: left;
  margin-right: 42px;
  padding: 3px 10px 5px 10px;
  min-height: 40px;
  text-decoration: none;
  background-color: #EDEDED;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  margin-bottom: 15px;
}
@media only screen and (min-width: 1200px) {
  .performances .performance-filter {
    margin-right: 20px;
  }
}
@media only screen and (min-width: 1600px) {
  .performances .performance-filter {
    margin-bottom: 0;
    padding: 10px 30px 10px 30px;
    min-height: 60px;
  }
}
@media only screen and (min-width: 1920px) {
  .performances .performance-filter {
    margin-right: 42px;
  }
}
.performances .performance-filter:last-of-type {
  margin-right: 0;
}
.performances .performance-filter:hover, .performances .performance-filter.active {
  background-color: #E84E0F;
}
.performances .performance-filter:hover span, .performances .performance-filter.active span {
  color: #fff;
}
.performances .performance-filter:hover svg path, .performances .performance-filter.active svg path {
  fill: #fff;
}
.performances .performance-filter svg {
  vertical-align: middle;
  margin-right: 10px;
  height: 30px;
}
@media only screen and (min-width: 1600px) {
  .performances .performance-filter svg {
    height: 40px;
    margin-right: 31px;
  }
}
.performances .performance-filter svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.performances .performance-filter span {
  vertical-align: middle;
  font-size: 1.25rem;
  line-height: 1.9375rem;
  font-weight: 700;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1600px) {
  .performances .performance-filter span {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}
.performances form {
  position: relative;
}
.performances form input[type=text] {
  font-size: 1.5rem;
  line-height: 2.25rem;
  color: #BEBEBE;
  width: 100%;
  height: 60px;
  padding: 18px 40px 18px 0;
  border: none;
  border-bottom: 1px solid #BEBEBE;
}
@media only screen and (min-width: 1200px) {
  .performances form input[type=text] {
    height: 40px;
    padding: 0px 40px 6px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .performances form input[type=text] {
    height: 60px;
    padding: 18px 40px 18px 0;
  }
}
.performances form button[type=submit] {
  border: none;
  background-color: transparent;
  position: absolute;
  right: 0;
  bottom: 16px;
}
@media only screen and (min-width: 1200px) {
  .performances form button[type=submit] {
    bottom: 10px;
  }
}
@media only screen and (min-width: 1600px) {
  .performances form button[type=submit] {
    bottom: 16px;
  }
}
.performances .posts-wrap {
  padding: 60px 0 45px 0;
  background-color: #F7F7F7;
}
@media only screen and (min-width: 768px) {
  .performances .posts-wrap {
    padding: 96px 0 85px 0;
  }
}
.performances .posts-wrap .row {
  margin-left: -20px;
  margin-right: -20px;
}
.performances .posts-wrap .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 1200px) {
  .performances .posts-wrap .row .col {
    margin-bottom: 80px;
  }
}

.single-performance-loop-wrap .img-wrap {
  display: block;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  margin-bottom: 10px;
}
@media only screen and (min-width: 1600px) {
  .single-performance-loop-wrap .img-wrap {
    margin-bottom: 32px;
  }
}
.single-performance-loop-wrap .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-performance-wrap {
  background-color: #F7F7F7;
  padding: 40px 0 35px 0;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap {
    padding: 50px 0 45px 0;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap {
    padding: 60px 0 55px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap {
    padding: 80px 0 65px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap {
    padding: 120px 0 75px 0;
  }
}
.single-performance-wrap .row {
  margin-left: -20px;
  margin-right: -20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .row {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.single-performance-wrap .row .col {
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .row .col {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .row .col {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .row .col {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.single-performance-wrap .sidebar-section-wrap {
  border-bottom: 1px solid #BEBEBE;
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .sidebar-section-wrap {
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .sidebar-section-wrap {
    margin-bottom: 55px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .sidebar-section-wrap {
    margin-bottom: 76px;
  }
}
.single-performance-wrap .poster-wrap {
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .poster-wrap {
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .poster-wrap {
    margin-bottom: 35px;
  }
}
.single-performance-wrap .poster-wrap img {
  width: 100%;
  height: auto;
}
.single-performance-wrap .title-box {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .title-box {
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-box {
    margin-bottom: 55px;
  }
}
.single-performance-wrap .title-box.member {
  margin-bottom: 14px;
}
.single-performance-wrap .title-box.member > p {
  font-size: 1rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-box.member > p {
    font-size: 1.25rem;
    line-height: 1.25rem;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap .title-box.member > p {
    font-size: 2.25rem;
    line-height: 2.25rem;
    padding: 22px 46px 23px 46px;
  }
}
.single-performance-wrap .title-box > p {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-box > p {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap .title-box > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.single-performance-wrap .member-box {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .member-box {
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .member-box {
    margin-bottom: 42px;
  }
}
.single-performance-wrap .member-box > p {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #1D1D1B;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .member-box > p {
    font-size: 1.125rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap .member-box > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 21px 46px 23px 46px;
  }
}
.single-performance-wrap .text-box {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .text-box {
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .text-box {
    margin-bottom: 34px;
  }
}
.single-performance-wrap .text-box p {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .text-box p {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .text-box p {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}
.single-performance-wrap .text-box p.orange {
  font-weight: 700;
  color: #E84E0F;
}
.single-performance-wrap .age-wrap {
  padding-top: 14px;
  margin-left: 0;
  display: block;
  text-align: left;
  font-size: 0;
  padding: 10px 0;
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .age-wrap {
    display: inline-block;
  }
}
.single-performance-wrap .age-wrap .age-circle-wrap {
  display: inline-block;
  vertical-align: middle;
}
.single-performance-wrap .age-wrap .age-circle-wrap .age-circle {
  display: inline-block;
  width: 56px;
  height: 56px;
  border-radius: 100%;
  background-color: #E84E0F;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 700;
}
.single-performance-wrap .age-wrap svg {
  vertical-align: middle;
  margin-left: 8px;
}
.single-performance-wrap .age-wrap svg path {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.single-performance-wrap .button-wrap {
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .button-wrap {
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .button-wrap {
    margin-bottom: 55px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .button-wrap {
    margin-bottom: 77px;
  }
}
.single-performance-wrap .title-box {
  margin-bottom: 25px;
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-box {
    margin-bottom: 43px;
  }
}
.single-performance-wrap .title-box > p {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-box > p {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap .title-box > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 16px 26px 18px 26px;
  }
}
.single-performance-wrap .content-box-wrap {
  border: 1px solid #BEBEBE;
  background-color: #fff;
  padding: 30px 25px;
  margin-bottom: 46px;
  margin-left: -34px;
  margin-right: -34px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .content-box-wrap {
    margin-left: 0;
    margin-right: 0;
    padding: 35px 25px;
    margin-bottom: 56px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .content-box-wrap {
    padding: 45px 35px;
    margin-bottom: 66px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .content-box-wrap {
    padding: 55px 45px;
    margin-bottom: 76px;
  }
}
@media only screen and (min-width: 1600px) {
  .single-performance-wrap .content-box-wrap {
    padding: 85px 75px;
    margin-bottom: 96px;
  }
}
.single-performance-wrap .title-text-wrap {
  margin-bottom: 36px;
  padding-bottom: 20px;
  border-bottom: 1px solid #BEBEBE;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .title-text-wrap {
    margin-bottom: 36px;
    padding-bottom: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-text-wrap {
    margin-bottom: 46px;
    padding-bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-text-wrap {
    margin-bottom: 86px;
    padding-bottom: 60px;
  }
}
.single-performance-wrap .title-text-wrap:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.single-performance-wrap .title-text-wrap p {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .title-text-wrap p {
    font-size: 1.125rem;
    line-height: 1.5rem;
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-text-wrap p {
    font-size: 1.1875rem;
    line-height: 2.125rem;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-text-wrap p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
    margin-bottom: 35px;
  }
}
.single-performance-wrap .title-text-wrap .title {
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .title-text-wrap .title {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-text-wrap .title {
    font-size: 1.375rem;
    line-height: 1.5rem;
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-text-wrap .title {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-bottom: 45px;
  }
}
.single-performance-wrap .title-text-wrap .download-wrap {
  margin-bottom: 25px;
}
.single-performance-wrap .title-text-wrap .download-wrap a {
  text-decoration: none;
}
.single-performance-wrap .title-text-wrap .download-wrap a:hover span {
  text-decoration: underline;
}
.single-performance-wrap .title-text-wrap .download-wrap a svg {
  vertical-align: middle;
  margin-right: 21px;
}
.single-performance-wrap .title-text-wrap .download-wrap a span {
  font-size: 1rem;
  line-height: 1.5rem;
  vertical-align: bottom;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .title-text-wrap .download-wrap a span {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .title-text-wrap .download-wrap a span {
    font-size: 1.1875rem;
    line-height: 2.125rem;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .title-text-wrap .download-wrap a span {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.single-performance-wrap .gallery-wrap .row {
  margin-left: -20px;
  margin-right: -20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .gallery-wrap .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .gallery-wrap .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .gallery-wrap .row {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.single-performance-wrap .gallery-wrap .row.hidden {
  display: none;
}
.single-performance-wrap .gallery-wrap .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .single-performance-wrap .gallery-wrap .row .col {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .single-performance-wrap .gallery-wrap .row .col {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .single-performance-wrap .gallery-wrap .row .col {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 40px;
  }
}
.single-performance-wrap .gallery-wrap .row .col > a {
  display: block;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
}
.single-performance-wrap .gallery-wrap .row .col > a img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.education {
  background-color: #0c0c0c;
  padding: 55px 0 60px 0;
  background-image: url(../images/case.jpg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1230px;
}
@media only screen and (min-width: 768px) {
  .education {
    padding: 94px 0 60px 0;
  }
}
.education .row {
  margin-left: -21px;
  margin-right: -21px;
}
@media only screen and (min-width: 768px) {
  .education .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .education .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .row {
    margin-left: -21px;
    margin-right: -21px;
  }
}
.education .row .col {
  padding-left: 21px;
  padding-right: 21px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .education .row .col {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 992px) {
  .education .row .col {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .row .col {
    padding-left: 21px;
    padding-right: 21px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .education .row .col {
    margin-bottom: 109px;
  }
}
.education .title-wrap {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .education .title-wrap {
    margin-bottom: 21px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .title-wrap {
    margin-bottom: 47px;
  }
}
.education .title-wrap > a {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
}
@media only screen and (min-width: 1200px) {
  .education .title-wrap > a {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 9px 26px 13px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .education .title-wrap > a {
    font-size: 2rem;
    line-height: 2rem;
  }
}
.education .img-wrap {
  display: block;
  width: 100%;
  padding-top: 27.55%; /* Aspect Ratio */
  position: relative; /* If you want text inside of it */
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .education .img-wrap {
    margin-bottom: 21px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .img-wrap {
    margin-bottom: 47px;
  }
}
.education .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.education .text-wrap {
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.6);
}
@media only screen and (min-width: 768px) {
  .education .text-wrap {
    padding: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .education .text-wrap {
    padding: 25px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .text-wrap {
    padding: 30px;
  }
}
@media only screen and (min-width: 1600px) {
  .education .text-wrap {
    padding: 42px;
  }
}
.education .text-wrap p {
  font-size: 1rem;
  line-height: 1.75rem;
  margin-bottom: 15px;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .education .text-wrap p {
    font-size: 1.125rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 992px) {
  .education .text-wrap p {
    font-size: 1.25rem;
    line-height: 2.1875rem;
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 1200px) {
  .education .text-wrap p {
    font-size: 1.375rem;
    line-height: 2.375rem;
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 1600px) {
  .education .text-wrap p {
    font-size: 1.5rem;
    line-height: 2.75rem;
    margin-bottom: 30px;
  }
}

.projects {
  padding: 40px 0 35px 0;
}
@media only screen and (min-width: 1200px) {
  .projects {
    padding: 45px 0 35px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .projects {
    padding: 92px 0 75px 0;
  }
}
.projects {
  background-color: #F7F7F7;
}
.projects .row {
  margin-left: -20px;
  margin-right: -20px;
}
.projects .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 992px) {
  .projects .row .col {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .projects .row .col {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1600px) {
  .projects .row .col {
    margin-bottom: 108px;
  }
}

.project-loop .img-wrap {
  display: block;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  margin-bottom: 15px;
  border: 1px solid #BEBEBE;
  background-color: #fff;
}
@media only screen and (min-width: 992px) {
  .project-loop .img-wrap {
    margin-bottom: 27px;
  }
}
@media only screen and (min-width: 1200px) {
  .project-loop .img-wrap {
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-loop .img-wrap {
    margin-bottom: 80px;
  }
}
.project-loop .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 35px;
}
.project-loop .project-title {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .project-loop .project-title {
    margin-bottom: 21px;
  }
}
@media only screen and (min-width: 1200px) {
  .project-loop .project-title {
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-loop .project-title {
    margin-bottom: 42px;
  }
}
.project-loop .project-title > a {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
}
@media only screen and (min-width: 1200px) {
  .project-loop .project-title > a {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-loop .project-title > a {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.project-loop .excerpt {
  font-size: 1rem;
  line-height: 1.625rem;
  margin-bottom: 20px;
}
@media only screen and (min-width: 1200px) {
  .project-loop .excerpt {
    font-size: 1.125rem;
    line-height: 2rem;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-loop .excerpt {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.project-loop .button-wrap .btn.btn-with-arrow {
  font-size: 1rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 1200px) {
  .project-loop .button-wrap .btn.btn-with-arrow {
    font-size: 1.3125rem;
    line-height: 1.75rem;
  }
}

.project-single-wrap {
  padding: 40px 0 35px 0;
  background-color: #F7F7F7;
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap {
    padding: 45px 0 35px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .project-single-wrap {
    padding: 81px 0 110px 0;
  }
}
.project-single-wrap .thumbnail-wrap {
  display: block;
  width: 100%;
  padding-top: 45.85%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  border: 1px solid #BEBEBE;
  background-color: #fff;
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px) {
  .project-single-wrap .thumbnail-wrap {
    padding-top: 19.85%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .thumbnail-wrap {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-single-wrap .thumbnail-wrap {
    margin-bottom: 73px;
  }
}
.project-single-wrap .thumbnail-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .thumbnail-wrap img {
    padding: 35px;
  }
}
.project-single-wrap .project-title {
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .project-single-wrap .project-title {
    margin-bottom: 21px;
  }
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .project-title {
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-single-wrap .project-title {
    margin-bottom: 72px;
  }
}
.project-single-wrap .project-title > p {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .project-title > p {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .project-single-wrap .project-title > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}
.project-single-wrap .text-wrap {
  border-bottom: 1px solid #BEBEBE;
  padding-bottom: 20px;
  margin-bottom: 48px;
}
.project-single-wrap .bottom-text a, .project-single-wrap .bottom-text .btn {
  float: left;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 0;
  color: #000;
  background-color: transparent;
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .bottom-text a, .project-single-wrap .bottom-text .btn {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 1600px) {
  .project-single-wrap .bottom-text a, .project-single-wrap .bottom-text .btn {
    font-size: 1.5rem;
    line-height: 1.875rem;
  }
}
.project-single-wrap .bottom-text a span, .project-single-wrap .bottom-text .btn span {
  vertical-align: middle;
}
.project-single-wrap .bottom-text a {
  margin-left: 20px;
}
@media only screen and (min-width: 768px) {
  .project-single-wrap .bottom-text a {
    margin-left: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .project-single-wrap .bottom-text a {
    margin-left: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .project-single-wrap .bottom-text a {
    margin-left: 80px;
  }
}

.about {
  background-color: #0c0c0c;
  padding: 55px 0 60px 0;
  background-image: url(../images/theater-seats.jpg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1230px;
}
@media only screen and (min-width: 768px) {
  .about {
    padding: 94px 0 60px 0;
  }
}
.about .row {
  margin-left: -20px;
  margin-right: -20px;
}
@media only screen and (min-width: 768px) {
  .about .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .about .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .about .row {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.about .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .about .row .col {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 992px) {
  .about .row .col {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .about .row .col {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .about .row .col {
    margin-bottom: 72px;
  }
}
.about .tile-wrap {
  display: block;
  width: 100%;
  padding-top: 48.75%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  position: relative; /* If you want text inside of it */
  overflow: hidden;
  border: 1px solid #BEBEBE;
}
.about .tile-wrap:hover img {
  transform: scale(1.1);
}
.about .tile-wrap:hover .tile-text-wrap .tile-title {
  background-color: #E84E0F;
}
.about .tile-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.about .tile-wrap .tile-text-wrap {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.about .tile-wrap .tile-text-wrap .tile-title {
  padding: 10px 17px 13px 17px;
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
  .about .tile-wrap .tile-text-wrap .tile-title {
    font-size: 1.3125rem;
    line-height: 1.6875rem;
  }
}
@media only screen and (min-width: 992px) {
  .about .tile-wrap .tile-text-wrap .tile-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .about .tile-wrap .tile-text-wrap .tile-title {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}

.team {
  background-color: #0c0c0c;
  padding: 55px 0 10px 0;
  background-image: url(../images/team-bg.jpg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1230px;
}
@media only screen and (min-width: 768px) {
  .team {
    padding: 94px 0 60px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .team {
    padding: 104px 0 80px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .team {
    padding: 120px 0 115px 0;
  }
}
.team .row {
  margin-left: -19px;
  margin-right: -19px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .team .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .team .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .team .row {
    margin-left: -19px;
    margin-right: -19px;
    margin-bottom: 80px;
  }
}
.team .row .col {
  padding-left: 19px;
  padding-right: 19px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .team .row .col {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 992px) {
  .team .row .col {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .team .row .col {
    padding-left: 19px;
    padding-right: 19px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .team .row .col {
    margin-bottom: 72px;
  }
}
.team .actor-wrap {
  display: block;
  width: 100%;
  padding-top: 100%; /* 1:1 Aspect Ratio */
  position: relative; /* If you want text inside of it */
  background-color: #35399a;
}
.team .actor-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.team .actor-wrap .name-wrap {
  position: absolute;
  bottom: 32px;
  left: 0;
}
.team .actor-wrap .name-wrap .name {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 700;
  color: #1D1D1B;
  background-color: #fff;
  padding: 17px 25px 17px 25px;
  margin-bottom: 0;
}

.title-team-wrap {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .title-team-wrap {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 992px) {
  .title-team-wrap {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1200px) {
  .title-team-wrap {
    margin-bottom: 80px;
  }
}
.title-team-wrap .title-team {
  display: inline-block;
  font-size: 1.375rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  padding: 15px 25px 15px 25px;
}
@media only screen and (min-width: 768px) {
  .title-team-wrap .title-team {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}
@media only screen and (min-width: 992px) {
  .title-team-wrap .title-team {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}
@media only screen and (min-width: 1200px) {
  .title-team-wrap .title-team {
    font-size: 2.25rem;
    line-height: 2.25rem;
    padding: 20px 45px 25px 45px;
  }
}

.employees {
  padding: 70px 0 40px 0;
  background-color: #F7F7F7;
}
@media only screen and (min-width: 768px) {
  .employees {
    padding: 80px 0 50px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .employees {
    padding: 90px 0 60px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .employees {
    padding: 160px 0 60px 0;
  }
}
.employees .row {
  margin-left: -20px;
  margin-right: -20px;
}
@media only screen and (min-width: 768px) {
  .employees .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 992px) {
  .employees .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .row {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.employees .row .col {
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 768px) {
  .employees .row .col {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (min-width: 992px) {
  .employees .row .col {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .row .col {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (min-width: 1600px) {
  .employees .row .col {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.employees .department-wrap {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .employees .department-wrap {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 992px) {
  .employees .department-wrap {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1600px) {
  .employees .department-wrap {
    margin-bottom: 90px;
  }
}
.employees .department-wrap .title-line {
  margin-bottom: 11px;
}
.employees .department-wrap .title-line > p {
  display: inline-block;
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background-color: #1D1D1B;
  padding: 15px 25px 15px 25px;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .employees .department-wrap .title-line > p {
    font-size: 1.25rem;
    line-height: 1.5rem;
    padding: 16px 30px 16px 30px;
  }
}
@media only screen and (min-width: 992px) {
  .employees .department-wrap .title-line > p {
    font-size: 1.375rem;
    line-height: 1.5rem;
    padding: 18px 35px 18px 35px;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .department-wrap .title-line > p {
    font-size: 1.125rem;
    line-height: 1.5rem;
    padding: 15px 25px 15px 25px;
  }
}
@media only screen and (min-width: 1600px) {
  .employees .department-wrap .title-line > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 22px 45px 22px 45px;
  }
}
.employees .department-wrap .text-box {
  border: 1px solid #BEBEBE;
  padding: 15px 12px 18px 24px;
  margin-bottom: 16px;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .employees .department-wrap .text-box {
    padding: 16px 15px 19px 26px;
  }
}
@media only screen and (min-width: 992px) {
  .employees .department-wrap .text-box {
    padding: 18px 15px 22px 26px;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .department-wrap .text-box {
    padding: 15px 12px 18px 24px;
  }
}
@media only screen and (min-width: 1600px) {
  .employees .department-wrap .text-box {
    padding: 22px 23px 27px 43px;
  }
}
.employees .department-wrap .text-box p {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .employees .department-wrap .text-box p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 992px) {
  .employees .department-wrap .text-box p {
    font-size: 1.375rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .employees .department-wrap .text-box p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .employees .department-wrap .text-box p {
    font-size: 1.5rem;
    line-height: 2.125rem;
  }
}

.portfolio-wrap .link-wrap {
  margin-bottom: 8px;
}
.portfolio-wrap .link-wrap .btn span {
  text-transform: uppercase;
}
.portfolio-wrap .more-button-wrap {
  padding-top: 40px;
}
.portfolio-wrap .more-button-wrap span {
  line-height: 2.25rem;
}
.portfolio-wrap .more-button-wrap .btn svg, .portfolio-wrap .more-button-wrap .btn:link svg, .portfolio-wrap .more-button-wrap .btn:focus svg, .portfolio-wrap .more-button-wrap .btn:visited svg {
  width: 14px;
  height: 14px;
}
.portfolio-wrap .hidden-portfolio-wrap {
  display: none;
}

.festival {
  padding: 40px 0 35px 0;
  background-color: #F7F7F7;
}
@media only screen and (min-width: 1200px) {
  .festival {
    padding: 45px 0 35px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .festival {
    padding: 62px 0 110px 0;
  }
}

.thumbnail-wrap {
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px) {
  .thumbnail-wrap {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .thumbnail-wrap {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1600px) {
  .thumbnail-wrap {
    margin-bottom: 80px;
  }
}

.title-line {
  margin-bottom: 12px;
}
.title-line:last-of-type {
  margin-bottom: 25px;
}
.title-line > p {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .title-line > p {
    font-size: 1.25rem;
    line-height: 1.25rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .title-line > p {
    font-size: 2.25rem;
    line-height: 2.25rem;
    padding: 21px 26px 24px 26px;
  }
}

.date-line {
  margin-bottom: 16px;
}
.date-line.big-margin-bottom {
  margin-bottom: 40px;
}
@media only screen and (min-width: 1200px) {
  .date-line.big-margin-bottom {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .date-line.big-margin-bottom {
    margin-bottom: 80px;
  }
}
.date-line p {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #1D1D1B;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .date-line p {
    font-size: 1.125rem;
    line-height: 1.125rem;
    padding: 16px 26px 18px 26px;
  }
}
@media only screen and (min-width: 1600px) {
  .date-line p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 21px 26px 23px 26px;
  }
}

.text-wrap {
  margin-bottom: 20px;
}
.text-wrap .title {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  .text-wrap .title {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 1200px) {
  .text-wrap .title {
    font-size: 1.375rem;
    line-height: 2.125rem;
  }
}
@media only screen and (min-width: 1600px) {
  .text-wrap .title {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}
.text-wrap p {
  font-size: 1rem;
  line-height: 1.625rem;
}
@media only screen and (min-width: 768px) {
  .text-wrap p {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 1200px) {
  .text-wrap p {
    font-size: 1.25rem;
    line-height: 2.125rem;
  }
}
@media only screen and (min-width: 1600px) {
  .text-wrap p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}

.program-wrap .title {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 20px;
  border-bottom: 1px solid #BEBEBE;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .program-wrap .title {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .program-wrap .title {
    font-size: 1.375rem;
    line-height: 1.5rem;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .program-wrap .title {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-bottom: 60px;
  }
}

.festival-box {
  border: 1px solid #BEBEBE;
  padding: 15px 12px 18px 24px;
  margin-bottom: 16px;
  background-color: #fff;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .festival-box {
    padding: 16px 15px 19px 26px;
  }
}
@media only screen and (min-width: 992px) {
  .festival-box {
    padding: 18px 15px 22px 26px;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-box {
    padding: 15px 12px 18px 24px;
  }
}
@media only screen and (min-width: 1600px) {
  .festival-box {
    padding: 44px 45px 24px 45px;
  }
}
.festival-box p {
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 2%;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .festival-box p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 992px) {
  .festival-box p {
    font-size: 1.375rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-box p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .festival-box p {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}

.festival-partners {
  padding: 60px 0 20px 0;
}
@media only screen and (min-width: 768px) {
  .festival-partners {
    padding: 70px 0 40px 0;
  }
}
@media only screen and (min-width: 992px) {
  .festival-partners {
    padding: 80px 0 50px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-partners {
    padding: 90px 0 60px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .festival-partners {
    padding: 124px 0 100px 0;
  }
}
.festival-partners .row {
  margin-left: -20px;
  margin-right: -20px;
}
.festival-partners .row .col {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px;
}
.festival-partners .festival-partner-title {
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 35px;
}
@media only screen and (min-width: 768px) {
  .festival-partners .festival-partner-title {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 992px) {
  .festival-partners .festival-partner-title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-partners .festival-partner-title {
    font-size: 1.375rem;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .festival-partners .festival-partner-title {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
}

.festival-gray-bg {
  padding: 60px 0 20px 0;
  background-color: #F7F7F7;
}
@media only screen and (min-width: 1200px) {
  .festival-gray-bg {
    padding: 88px 0;
  }
}
.festival-gray-bg .row .col {
  padding-left: 18px;
  padding-right: 18px;
}
.festival-gray-bg .text-wrap {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media only screen and (min-width: 1200px) {
  .festival-gray-bg .text-wrap .text-wrap-inside {
    padding: 0 40px;
  }
}
@media only screen and (min-width: 768px) {
  .festival-gray-bg .text-wrap .text-wrap-inside .title {
    margin-bottom: 40px;
  }
}
.festival-gray-bg .text-wrap .text-wrap-inside p:not(.title) {
  font-size: 1rem;
  line-height: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .festival-gray-bg .text-wrap .text-wrap-inside p:not(.title) {
    font-size: 1.125rem;
    line-height: 2.125rem;
  }
}
@media only screen and (min-width: 992px) {
  .festival-gray-bg .text-wrap .text-wrap-inside p:not(.title) {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-gray-bg .text-wrap .text-wrap-inside p:not(.title) {
    font-size: 1.3125rem;
    line-height: 2.25rem;
  }
}
.festival-gray-bg .text-wrap .text-section {
  padding-bottom: 10px;
  border-bottom: 1px solid #BEBEBE;
  margin-bottom: 45px;
}
@media only screen and (min-width: 1200px) {
  .festival-gray-bg .text-wrap .text-section {
    margin-bottom: 52px;
  }
}
.festival-gray-bg .text-wrap .text-section:last-of-type {
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 0;
}

.festival-edition {
  padding-top: 50px;
}
.festival-edition .editions-wrap {
  padding-bottom: 30px;
  border-bottom: 1px solid #BEBEBE;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .festival-edition .editions-wrap {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-edition .editions-wrap {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}
.festival-edition .editions-wrap span {
  font-size: 1.125rem;
  line-height: 1.75rem;
  text-transform: uppercase;
  font-weight: 700;
  color: #000;
  display: block;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .festival-edition .editions-wrap span {
    font-size: 1.25rem;
    line-height: 3rem;
    display: inline;
    vertical-align: middle;
    margin-bottom: 0;
    margin-right: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .festival-edition .editions-wrap span {
    font-size: 1.5rem;
    line-height: 3rem;
  }
}
@media only screen and (min-width: 1200px) {
  .festival-edition .editions-wrap span {
    margin-right: 48px;
  }
}
@media only screen and (min-width: 1600px) {
  .festival-edition .editions-wrap span {
    margin-right: 122px;
  }
}
.festival-edition .editions-wrap .btn.btn-small-bg {
  vertical-align: middle;
  margin-bottom: 20px;
  margin-right: 37px;
}
@media only screen and (min-width: 768px) {
  .festival-edition .editions-wrap .btn.btn-small-bg {
    margin-bottom: 0;
  }
}
.festival-edition .editions-wrap .btn.btn-small-bg span {
  display: inline;
  line-height: 1.5rem;
  margin-right: 0;
}

.contact-top {
  background-color: #0c0c0c;
  padding: 40px 0;
}
@media only screen and (min-width: 768px) {
  .contact-top {
    padding: 50px 0;
  }
}
@media only screen and (min-width: 992px) {
  .contact-top {
    padding: 60px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-top {
    padding: 80px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top {
    padding: 130px 0;
  }
}
.contact-top p {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.625rem;
  margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  .contact-top p {
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-bottom: 35px;
  }
}
@media only screen and (min-width: 992px) {
  .contact-top p {
    font-size: 1.3125rem;
    line-height: 1.9375rem;
    margin-bottom: 45px;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-top p {
    font-size: 1.375rem;
    line-height: 2rem;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top p {
    font-size: 1.5rem;
    line-height: 2.125rem;
    margin-bottom: 60px;
  }
}
.contact-top p a {
  color: #fff;
}
.contact-top .title {
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  margin-bottom: 23px;
}
@media only screen and (min-width: 768px) {
  .contact-top .title {
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 992px) {
  .contact-top .title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-top .title {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top .title {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
}
.contact-top .sub-title {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 700;
  margin-bottom: 35px;
  /*@include devices(medium){
      @include font-size(22);
      @include line-height(30);            
  }*/
}
@media only screen and (min-width: 992px) {
  .contact-top .sub-title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-top .sub-title {
    font-size: 1.375rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top .sub-title {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}
.contact-top .orange-title-wrap {
  margin-bottom: 15px;
}
.contact-top .orange-title-wrap > p {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  text-transform: uppercase;
  color: #fff;
  background-color: #E84E0F;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .contact-top .orange-title-wrap > p {
    font-size: 1.375rem;
    line-height: 1.625rem;
    padding: 14px 26px 18px 24px;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top .orange-title-wrap > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 16px 26px 18px 26px;
  }
}
.contact-top .white-title-wrap {
  margin-bottom: 15px;
}
.contact-top .white-title-wrap:last-of-type {
  margin-bottom: 0;
}
.contact-top .white-title-wrap > p {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding: 8px 26px 11px 26px;
  color: #000;
  background-color: #fff;
  text-decoration: none;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) {
  .contact-top .white-title-wrap > p {
    font-size: 1.375rem;
    line-height: 1.625rem;
    padding: 14px 26px 18px 24px;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-top .white-title-wrap > p {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 16px 26px 18px 26px;
  }
}
.contact-top .map-wrap {
  width: 100%;
  height: 100%;
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  .contact-top .map-wrap {
    padding-top: 0;
  }
}
.contact-top .map-wrap iframe {
  width: 100%;
  height: 100%;
}

.contact-columns {
  background-color: #F7F7F7;
  padding: 40px 0 20px 0;
}
@media only screen and (min-width: 992px) {
  .contact-columns {
    padding: 50px 0 30px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-columns {
    padding: 80px 0 40px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-columns {
    padding: 108px 0;
  }
}
@media only screen and (min-width: 1600px) {
  .contact-columns .festival-box {
    margin-bottom: 56px;
  }
}
.contact-columns .festival-box p {
  word-break: break-word;
}/*# sourceMappingURL=main.min.css.map */