/* Mixins */
/* BEGIN reset */
body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
}
th,
td {
  text-align: left;
  vertical-align: top;
}
h1,
h2,
h3,
h4,
p,
ul,
ol {
  margin-top: 0;
  margin-bottom: 15px;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}
input,
textarea {
  outline: none;
}
a {
  text-decoration: none;
}
a:hover,
a:hover small {
  text-decoration: none;
}
.accessibility {
  position: absolute;
  display: block;
  overflow: hidden;
  text-indent: -999px;
}
/* END reset */
/* BEGIN typography */
body,
th,
td,
input,
textarea,
select {
  line-height: 20px;
  font-size: 14px;
  font-family: 'lato', sans-serif;
  color: #373737;
  font-weight: 400;
}
.ie6 body,
.ie6 th,
.ie6 td,
.ie6 input,
.ie6 textarea,
.ie6 select {
  font-weight: normal;
}
.ie6 body,
.ie6 th,
.ie6 td,
.ie6 input,
.ie6 textarea,
.ie6 select {
  font-family: Arial, sans-serif;
}
body td,
th td,
td td,
input td,
textarea td,
select td {
  font-size: 13px;
}
strong,
b {
  font-weight: 700;
}
.ie6 strong,
.ie6 b {
  font-weight: bold;
}
h1 {
  line-height: 42px;
  font-size: 30px;
  font-weight: 400;
}
.ie6 h1 {
  font-weight: normal;
}
h2 {
  line-height: 29px;
  font-size: 24px;
  font-weight: 400;
}
.ie6 h2 {
  font-weight: normal;
}
h3 {
  line-height: 24px;
  font-size: 18px;
  font-weight: 700;
}
.ie6 h3 {
  font-weight: bold;
}
h4 {
  margin: 0;
  line-height: 21px;
  font-size: 14px;
  font-weight: 700;
}
.ie6 h4 {
  font-weight: bold;
}
a {
  color: #3385ae;
}
a:hover {
  color: #0d5579;
}
small {
  display: inline-block;
  line-height: 17px;
  font-size: 12px;
}
.ie7 small,
.ie6 small {
  display: inline;
  zoom: 1;
}
a small {
  cursor: pointer;
}
/* END typography */
/* BEGIN screen styles */
@media screen {
  html {
    background: #080300;
    -webkit-font-smoothing: antialiased;
  }
  body {
    background: white;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
  }
  .print-only {
    display: none !important;
  }
  input.placeholder {
    color: #a9a9a2;
  }
  /* Icons ---------- */
  a.icon {
    display: inline-block;
    height: 36px;
    line-height: 36px;
    background-repeat: no-repeat;
    background-position: right center;
  }
  a.icon.icon-reverse {
    background-position: left center;
  }
  a.icon.events {
    padding-right: 44px;
    background-image: url(../image/icon-events.png?v=2);
    background-size: 34px 32px;
  }
  a.icon.information {
    padding-right: 55px;
    background-image: url(../image/icon-information.png);
    background-size: 45px 30px;
  }
  a.icon.calendar {
    padding-right: 40px;
    background-image: url(../image/icon-calendar.png?v=2);
    background-size: 30px 30px;
  }
  a.icon.calendar-add {
    padding-right: 49px;
    background-image: url(../image/icon-calendar-add.png);
    background-size: 39px 36px;
  }
  .ie6 a.icon.calendar-add {
    background-image: url(../image/icon-calendar-add.jpg);
  }
  a.icon.tickets {
    padding-right: 34px;
    background-image: url(../image/icon-tickets.png);
    background-size: 24px 19px;
  }
  .ie6 a.icon.tickets {
    background-image: url(../image/icon-tickets.jpg);
  }
  a.icon.email {
    background-image: url(../image/icon-email.png);
    background-size: 24px 16px;
  }
  a.icon.print {
    background-image: url(../image/icon-print.png);
    background-size: 24px 19px;
    margin-top: 10px;
  }
  a.icon.email,
  a.icon.print {
    height: 19px;
    line-height: 19px;
    padding-left: 36px;
  }
  a.icon.video {
    padding-right: 46px;
    background-image: url(../image/play.png);
    background-size: 36px 36px;
  }
  .ie7 a.icon,
  .ie6 a.icon {
    display: inline;
  }
  /* Contact location map ---------- */
  #location-map {
    background: url(../image/hero-home.png) repeat-x;
  }
  #location-map .inner {
    background: url(../image/hero-image-shade.jpg) no-repeat center top;
  }
  #location-map .container {
    position: relative;
    background: white;
  }
  #location-map .map {
    height: 350px;
  }
  #location-map ul.locations {
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    list-style-type: none;
    width: 100%;
    height: 85px;
    background: transparent url(../image/slider-title.png);
    background: rgba(8, 3, 0, 0.3) none;
  }
  #location-map li {
    float: left;
    height: 85px;
    line-height: 85px;
  }
  #location-map li a {
    padding: 0 20px;
    color: white;
    font-size: 20px;
    font-weight: 700;
    border-left: 2px solid rgba(255, 255, 255, 0.6);
    opacity: 0.6;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
  .ie6 #location-map li a {
    font-weight: bold;
  }
  #location-map li a:hover {
    text-decoration: none;
    opacity: 1;
  }
  #location-map li.active a {
    opacity: 1;
  }
  #location-map li.first a {
    border-left: 0;
  }
  #location-map a.large {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: 0;
    display: block;
    padding: 0 20px;
    height: 85px;
    line-height: 85px;
    color: white;
    font-weight: 700;
  }
  .ie6 #location-map a.large {
    font-weight: bold;
  }
  /* Header ---------- */
  header {
    position: relative;
    z-index: 50;
    background: #080300 url(../image/banner.jpg) no-repeat center bottom;
    background-size: 2540px 145px;
  }
  header:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 5;
    right: 0;
    top: 0;
    width: 50%;
    height: 145px;
    background: url(../image/header.png) repeat-x left bottom;
  }
  header .container {
    position: relative;
    z-index: 10;
    height: 145px;
    background: url(../image/banner.jpg) no-repeat center bottom;
    background-size: 2540px 145px;
  }
  header a.logo {
    position: absolute;
    z-index: 50;
    left: -5px;
    top: 52px;
    display: block;
    width: 266px;
    height: 50px;
  }
  header a.logo img {
    display: block;
  }
  .ie6 header a.logo img {
    width: 266px;
    height: 60px;
  }
  .ie header a.logo {
    position: relative;
  }
  header form {
    position: absolute;
    z-index: 60;
    right: 0;
    top: 30px;
  }
  header form input.text {
    padding: 5px 15px;
    width: 190px;
    background: #424242;
    color: #868686;
    border: 0;
    font-size: 12px;
    text-transform: uppercase;
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
  }
  header form input.text.placeholder {
    color: #8a8a8a;
  }
  header form input.text::-webkit-input-placeholder {
    color: #8a8a8a;
  }
  .ie header form input.text {
    padding: 3px 15px 7px;
  }
  header form input.image {
    position: absolute;
    right: 10px;
    top: 10px;
    color: white;
  }
  .ie header form input.image {
    top: 6px;
  }
  header nav {
    position: absolute;
    right: 0;
    bottom: 25px;
  }
  header nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  header nav li {
    float: left;
    padding: 0 20px;
  }
  header nav li.active a,
  header nav li.hover a {
    color: white;
  }
  header nav a {
    color: #6c6c6c;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    -webkit-transition: color 0.3s ease-out;
    -moz-transition: color 0.3s ease-out;
    -o-transition: color 0.3s ease-out;
    transition: color 0.3s ease-out;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
  .ie6 header nav a {
    font-weight: bold;
  }
  header nav a:hover {
    color: #9f9f9f;
    text-decoration: none;
  }
  /* Sliders ---------- */
  .slider {
    position: relative;
  }
  .slider ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .slider a {
    color: white;
  }
  .slider h2 span.text {
    display: block;
  }
  .slider h2 span.date {
    display: inline-block;
    padding-left: 10px;
    line-height: 18px;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
  }
  .ie6 .slider h2 span.date {
    font-weight: normal;
  }
  .slider img {
    vertical-align: top;
  }
  .slider .slides li {
    position: relative;
    display: none;
    overflow: hidden;
    width: 100%;
    text-align: center;
  }
  .slider .slides li.pos {
    position: absolute;
    left: 0;
    top: 0;
  }
  .slider .slides li.active {
    display: block;
  }
  .slider .slides li.jsactive {
    z-index: 10;
  }
  .ie6 .slider .slides li {
    height: 350px;
  }
  .slider .slides li .short-title {
    display: none;
  }
  .slider .slides li h2 {
    position: absolute;
    left: 50%;
    bottom: 0;
    margin: 0;
    width: 978px;
  }
  .slider .slides li h2 span.text {
    position: relative;
    left: -50%;
    display: block;
    width: 938px;
    margin: 0 auto;
    padding: 0 20px;
    height: 85px;
    line-height: 85px;
    background: transparent url(../image/slider-title.png);
    background: rgba(8, 3, 0, 0.4) none;
    color: white;
    font-size: 38px;
    font-weight: 400;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    text-align: left;
  }
  .ie6 .slider .slides li h2 span.text {
    font-weight: normal;
  }
  .slider .slides li h2 span.text strong {
    font-size: 38px;
    font-weight: 400;
  }
  .ie6 .slider .slides li h2 span.text strong {
    font-weight: normal;
  }
  .ie6 .slider .slides li h2 span.text {
    height: 65px;
    line-height: 65px;
    padding-top: 20px;
    background: transparent none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#30080300,endColorstr=#30080300);
  }
  .slider .slides li.full {
    height: 350px;
    background-color: black;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 350px;
  }
  .slider .slides li.full h2 {
    left: 0;
    width: 100%;
    background: transparent url(../image/slider-title.png);
    background: rgba(8, 3, 0, 0.5) none;
  }
  .ie6 .slider .slides li.full h2 {
    background: transparent none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#30080300,endColorstr=#30080300);
  }
  .slider .slides li.full h2 span.text {
    left: 0;
    background: transparent none;
  }
  .slider .slides li a.cover {
    position: absolute;
    z-index: 50;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .slider .slides li a.tickets {
    position: absolute;
    z-index: 100;
    left: 50%;
    bottom: 22px;
    display: block;
    margin-left: 400px;
    padding-top: 28px;
    background: url(../image/icon-tickets-gold.png) no-repeat center top;
    background-size: 32px 26px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
  }
  .ie6 .slider .slides li a.tickets {
    font-weight: normal;
  }
  .slider .slides li img.banner {
    position: absolute;
    z-index: 10;
    left: 50%;
    top: 0;
    display: block;
    margin: -5px 0 0 -494px;
  }
  .slider .indicators {
    position: absolute;
    z-index: 100;
    left: 50%;
    bottom: -18px;
  }
  .slider .indicators li {
    position: relative;
    left: -50%;
    float: left;
    margin: 0 -4px;
  }
  .slider .indicators a {
    float: left;
    padding: 15px;
  }
  .slider .indicators span {
    position: relative;
    overflow: hidden;
    float: left;
    width: 10px;
    height: 10px;
  }
  .slider .indicators img {
    position: relative;
    display: block;
  }
  .slider .indicators .active img {
    top: -10px;
  }
  /* Gallery images ---------- */
  #content .content #gallery {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  #content .content #gallery li {
    float: left;
    width: 222px;
    margin: 0 0 30px 30px;
  }
  #content .content #gallery li.desktop-break {
    margin-left: 0;
    clear: both;
  }
  #content .content #gallery img {
    display: block;
  }
  #content.cols .content #gallery li {
    width: 208px;
  }
  #content.cols .content #gallery li.desktop-break {
    margin-left: 30px;
    clear: none;
  }
  #content.cols .content #gallery li.tablet-break {
    margin-left: 0;
    clear: both;
  }
  /* Hero image ---------- */
  #hero .image,
  #hero .slider {
    height: 350px;
  }
  .ie6 #hero .image,
  .ie6 #hero .slider {
    position: relative;
    overflow: hidden;
  }
  #hero .intro {
    background: #f1f2f0 url(../image/heading-shade.png) no-repeat center bottom;
    border-top: 20px solid white;
  }
  #hero .intro .content {
    padding: 25px 20px 10px;
  }
  .ie6 #hero .intro {
    background-image: none;
  }
  #hero .intro h3 {
    margin: 0;
  }
  #hero .image {
    position: relative;
    height: 350px;
    background-color: black;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto 350px;
  }
  #hero .image .heading {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: transparent url(../image/slider-title.png);
    background: rgba(8, 3, 0, 0.3) none;
  }
  .ie6 #hero .image .heading {
    background: transparent none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#30080300,endColorstr=#30080300);
  }
  #hero .image .container {
    margin: 0 auto;
  }
  #hero .image h2 {
    color: white;
    height: 80px;
    line-height: 80px;
    padding: 0 20px;
    margin: 0;
    font-size: 36px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  }
  .ie6 #hero .image h2 {
    background: transparent none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#30080300,endColorstr=#30080300);
  }
  .home #hero {
    background: url(../image/hero-home.png) repeat-x left top;
  }
  .home #hero .inner {
    background: url(../image/hero-image-shade.jpg) no-repeat center bottom;
  }
  /* Main ---------- */
  #main .inner1 {
    background: url(../image/main.png) repeat-x;
  }
  #main .inner1 .inner2 {
    background: url(../image/heading-shade.png) no-repeat center 75px;
  }
  .ie6 #main .inner1 .inner2 {
    background-image: url(../image/main.png);
  }
  /* Forms ---------- */
  #content form div.input,
  footer form div.input {
    margin-bottom: 5px;
  }
  #content form div.errors,
  footer form div.errors {
    padding: 5px 10px;
    border: 3px solid red;
    font-weight: 700;
  }
  .ie6 #content form div.errors,
  .ie6 footer form div.errors {
    font-weight: bold;
  }
  #content form label,
  footer form label {
    display: block;
  }
  #content form label.inline,
  footer form label.inline {
    display: inline;
  }
  #content form input.text,
  footer form input.text,
  #content form input.email,
  footer form input.email,
  #content form input.number,
  footer form input.number,
  #content form input.tel,
  footer form input.tel,
  #content form textarea,
  footer form textarea {
    padding: 4px;
    border: 1px solid #e3e3e3;
    -moz-box-shadow: inset 0 0 3px 3px #f3f3f3;
    -webkit-box-shadow: inset 0 0 3px 3px #f3f3f3;
    box-shadow: inset 0 0 3px 3px #f3f3f3;
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
  }
  #content form input.text,
  footer form input.text,
  #content form input.email,
  footer form input.email,
  #content form input.tel,
  footer form input.tel {
    width: 300px;
  }
  #content form input.number,
  footer form input.number {
    width: 100px;
    -webkit-appearance: none;
  }
  #content form textarea,
  footer form textarea {
    width: 500px;
    height: 100px;
  }
  #content form textarea.small,
  footer form textarea.small {
    width: 300px;
  }
  #content form input.error,
  footer form input.error {
    padding: 3px;
    border: 2px solid red;
    color: red;
  }
  footer form {
    padding-left: 19px;
  }
  footer form div.input {
    margin-bottom: 1px;
  }
  footer form input.text,
  footer form input.email,
  footer form input.tel {
    width: 168px;
    margin-left: 7px;
  }
  footer form input.email {
    width: 248px;
  }
  footer form .btn {
    margin: 5px 0 15px 5px;
  }
  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  ::selection {
    background: #cce7ef;
  }
  ::-moz-selection {
    background: #cce7ef;
  }
  /* Buttons ---------- */
  .btn {
    margin: 0;
    padding: 7px 20px;
    background: #4c4c4c;
    color: #eee;
    border: 0;
    cursor: pointer;
  }
  .btn:hover {
    color: white;
    text-decoration: none;
  }
  footer .btn {
    background: #3385ae;
  }
  /* Page content ---------- */
  #content h1 {
    height: 65px;
    padding-top: 10px;
    margin: 0;
  }
  #content .content {
    padding: 15px 20px 1px;
  }
  #content .content ul,
  #content .content ol {
    margin: 0 0 15px;
    padding: 10px 0 0 20px;
  }
  .app #content .content {
    padding-left: 0;
    padding-right: 0;
  }
  .app #content .content h1 {
    padding-left: 20px;
  }
  .app #content .content .links {
    margin: 19px 20px 0 0;
  }
  #content .content table {
    border-collapse: collapse;
    margin: 0 0 25px;
    padding: 20px;
    background: #f1f3f2;
    width: 100%;
  }
  #content .content table tr th,
  #content .content table tr td {
    padding: 10px 20px 1px;
  }
  #content .content table tr:first-child th,
  #content .content table tr:first-child td {
    padding-top: 20px;
  }
  #content .content table tr:last-child th,
  #content .content table tr:last-child td {
    padding-bottom: 20px;
  }
  #content .content table th {
    font-weight: 700;
    background-color: #e4e6e2;
  }
  .ie6 #content .content table th {
    font-weight: bold;
  }
  #content .content table strong {
    white-space: nowrap;
  }
  #content .content hr {
    clear: both;
    height: 1px;
    margin: 0 0 25px;
    padding: 10px 0 0;
    background: transparent;
    color: transparent;
    border: 0;
    border-bottom: 1px solid #e2e2e2;
  }
  #content .content img.float-left {
    float: left;
    margin: 0 20px 20px 0;
  }
  #content .content img.float-right {
    float: right;
    margin: 0 0 20px 20px;
  }
  #content ul.links {
    float: right;
    margin: 17px 0 14px 0;
    padding: 0 !important;
    list-style-type: none;
  }
  #content ul.links li {
    float: left;
    margin-left: 20px;
  }
  .home #content ul.links {
    margin-top: 0;
  }
  #content .body {
    padding: 30px 0;
    line-height: 20px;
  }
  /* Subnav ---------- */
  .subnav {
    padding-top: 20px;
    margin-bottom: 40px;
  }
  .ie6 .subnav {
    margin-left: -1px;
    padding-bottom: 40px;
  }
  .subnav nav {
    margin-bottom: 20px;
  }
  .subnav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .subnav li {
    position: relative;
    border-bottom: 1px solid #e5e5e5;
  }
  .ie6 .subnav li {
    height: 1px;
  }
  .subnav li a {
    position: relative;
    display: block;
    padding: 10px 20px;
    background: #f9fbf8;
    color: #373737;
    font-size: 14px;
  }
  .subnav li a:hover {
    background: #f1f2f0;
  }
  .subnav li a .ie6 {
    height: 1px;
  }
  .subnav li.large a {
    padding-top: 0;
    padding-bottom: 0;
    height: 39px;
    line-height: 39px;
    font-size: 16px;
    font-weight: 700;
  }
  .ie6 .subnav li.large a {
    font-weight: bold;
  }
  .ie .subnav li.large a {
    font-size: 18px;
  }
  .subnav li.divide {
    padding-bottom: 20px;
  }
  .subnav li.divide a {
    border-bottom: 1px solid #e5e5e5;
  }
  .subnav li.active a,
  .subnav li.hover a {
    background: #f1f3f0;
  }
  .subnav li li,
  .subnav li.large li,
  .subnav li.active li,
  .subnav li.hover li {
    border-bottom: 0;
  }
  .subnav li li a,
  .subnav li.large li a,
  .subnav li.active li a,
  .subnav li.hover li a {
    background: #f1f2f0;
    font-size: 12px;
    padding-left: 30px;
  }
  .subnav li li a:hover,
  .subnav li.large li a:hover,
  .subnav li.active li a:hover,
  .subnav li.hover li a:hover,
  .subnav li li.active a,
  .subnav li.large li.active a,
  .subnav li.active li.active a,
  .subnav li.hover li.active a,
  .subnav li li.hover a,
  .subnav li.large li.hover a,
  .subnav li.active li.hover a,
  .subnav li.hover li.hover a {
    background: #e5e6e4;
  }
  .subnav a.block {
    display: block;
    height: 55px;
    line-height: 55px;
    padding: 0 20px;
    font-size: 20px;
  }
  .subnav a.enquiry {
    background: #2786af url(../image/icon-enquiry.png) no-repeat 170px center;
    background-size: 41px 29px;
    color: white;
    white-space: nowrap;
  }
  .ie6 .subnav a.enquiry {
    background-image: url(../image/icon-enquiry.jpg);
  }
  /* Events list ---------- */
  #content ul.events {
    margin: 0 -20px !important;
    padding: 0;
    list-style-type: none;
  }
  .ie7 #content ul.events,
  .ie6 #content ul.events {
    width: 978px;
  }
  #content ul.events li {
    position: relative;
    margin-bottom: 30px;
  }
  .ie6 #content ul.events li {
    position: relative;
    overflow: hidden;
  }
  #content ul.events img {
    display: block;
    height: auto !important;
  }
  #content ul.events img.banner {
    position: absolute;
    z-index: 10;
    left: -2px;
    top: -2px;
  }
  #content ul.events a {
    color: #373737;
  }
  #content ul.events p {
    margin: 0;
  }
  #content ul.events .desc {
    padding: 10px 15px;
    line-height: 20px;
    background: #e4e6e2;
    border-bottom: 1px solid #f1f3f0;
    color: #616161;
  }
  #content ul.events .desc strong {
    color: #373737;
    font-size: 14px;
    line-height: 20px;
  }
  #content ul.events span.tickets {
    float: right;
    font-size: 12px;
  }
  #content ul.events span.tickets a {
    color: #2ea5c9;
  }
  /* Event content ---------- */
  #content .content #event-content .image {
    position: relative;
    background: #e4e6e2;
  }
  #content .content #event-content .image a.video {
    position: relative;
    display: block;
  }
  #content .content #event-content .image img {
    display: block;
    height: auto !important;
  }
  .ie6 #content .content #event-content .image img {
    width: 726px;
  }
  #content .content #event-content .image img.video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    margin: -25px 0 0 -25px;
  }
  .ie6 #content .content #event-content .image img.video-play {
    width: auto;
  }
  #content .content #event-content .image img.banner {
    position: absolute;
    z-index: 10;
    left: -4px;
    top: -4px;
  }
  #content .content #event-content .image p {
    margin: 0;
    line-height: 20px;
  }
  #content .content #event-content .image .lft {
    float: left;
    padding: 15px 0 15px 20px;
  }
  #content .content #event-content .image .rgt {
    float: right;
    width: 300px;
    padding: 15px 20px 15px 0;
    text-align: right;
  }
  #content .content #event-content .image .rgt .video {
    display: inline-block;
    margin-right: 10px;
  }
  .ie7 #content .content #event-content .image .rgt .video,
  .ie6 #content .content #event-content .image .rgt .video {
    display: inline;
  }
  #content .content #event-content .image #date-popup {
    position: absolute;
    right: 0;
    top: 100%;
    display: none;
    padding: 10px 20px;
    background: #e4e6e2;
    border-width: 0 0 1px 1px;
    border-style: solid;
    border-color: #c0c0c0;
    text-align: left;
  }
  #content .content #event-content .image #date-popup.show {
    display: block;
  }
  #content .content #event-content .text {
    padding: 30px 20px 15px;
  }
  #content .content #event-content .info {
    padding: 15px 20px 1px;
    background: #f1f2f0;
  }
  #content .content #event-content .info td {
    padding-left: 0;
    padding-top: 0;
  }
  #content .content #event-content .info tr:last-child td {
    padding-bottom: 0;
  }
  #content .content #event-content .info strong {
    white-space: nowrap;
  }
  #content .content #event-aside .block {
    margin-bottom: 20px;
  }
  #content .content #event-aside .ticketing-block {
    padding: 20px 20px 5px;
    background: #e4e6e2;
  }
  #content .content #event-aside table th,
  #content .content #event-aside table td {
    padding: 0 5px 0 0;
  }
  #content .content #event-aside a.tickets {
    display: block;
    height: 42px;
    line-height: 40px;
    background: #086b9e url(../image/tickets-link.png) repeat-x;
    background-size: 1px 50px;
    color: white;
    font-size: 20px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    text-align: center;
    margin-top: 10px;
  }
  #content .content #event-aside ul.dates {
    margin: 0;
    padding: 0;
    list-style-type: none;
    white-space: nowrap;
  }
  #content .content #event-aside .fb-like {
    padding-top: 15px;
  }
  #content .content #event-aside .gmap {
    height: 160px;
    border: 1px solid #ccc;
    margin-top: 5px;
  }
  /* Events calendar ---------- */
  #content .content #calendar {
    width: 100%;
    margin-bottom: 35px;
    background: transparent;
    border-collapse: collapse;
  }
  #content .content #calendar tr {
    height: 40px;
  }
  #content .content #calendar th,
  #content .content #calendar td {
    vertical-align: middle;
  }
  #content .content #calendar td {
    padding: 0 20px;
    white-space: nowrap;
  }
  #content .content #calendar td.month {
    padding: 20px;
    font-size: 24px;
  }
  #content .content #calendar td.month-row {
    padding-top: 25px;
  }
  #content .content #calendar td.day,
  #content .content #calendar td.title,
  #content .content #calendar td.location,
  #content .content #calendar td.tickets {
    border-bottom: 5px solid white;
  }
  #content .content #calendar td.day {
    background: #f1f3f0;
  }
  #content .content #calendar td.title,
  #content .content #calendar td.location,
  #content .content #calendar td.tickets {
    background: #f9fbf8;
  }
  #content .content #calendar td.title {
    width: 100%;
  }
  /* Footer ---------- */
  footer {
    font-size: 12px;
    -webkit-font-smoothing: antialiased;
  }
  footer h2 {
    margin: 0;
    font-size: 20px;
  }
  footer h3 {
    margin: 0;
    font-size: 16px;
  }
  footer ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  footer .top {
    position: relative;
    margin-bottom: 30px;
    background: #4c4c4c url(../image/footer-top.png) repeat-x center bottom;
    color: white;
    font-size: 16px;
    white-space: nowrap;
  }
  footer .top p {
    padding: 0 0 5px;
  }
  footer .top h2 {
    padding-top: 15px;
  }
  footer .top .alpha h2,
  footer .top .alpha p {
    padding-left: 20px;
  }
  footer .top a {
    color: #85b6ce;
  }
  footer .top .block {
    display: block;
    width: 190px;
    padding: 20px 0;
    white-space: normal;
  }
  footer .top img {
    float: left;
    margin: 0 10px 20px 0;
  }
  .ie6 footer .top {
    height: 100px;
  }
  .ie6 footer .top img {
    width: 99px;
    height: 65px;
  }
  .ie6 footer .top .last {
    position: absolute;
    right: 0;
    top: 0;
  }
  footer .h3bar {
    background: #f2f2f2;
    width: 100%;
  }
  footer .h3bar .container .h3logo {
    padding-left: 20px;
    padding-top: 15px;
    padding-bottom: 15px;
    float: left;
  }
  footer .h3bar .container .col1,
  footer .h3bar .container .col2,
  footer .h3bar .container .col3 {
    float: left;
    padding-top: 15px;
    padding-left: 30px;
  }
  footer .h3bar .container .col1 img,
  footer .h3bar .container .col2 img,
  footer .h3bar .container .col3 img {
    display: block;
    padding-bottom: 10px;
  }
  footer .h3bar .container .col1 {
    padding-left: 100px;
  }
  footer .h3bar .container .col2 {
    padding-left: 150px;
  }
  footer .h3bar .container .col3 {
    padding-left: 120px;
  }
  footer .nav {
    background: #2d2d2d;
  }
  footer .nav .quicklinks,
  footer .nav .quicklinks a {
    color: #d4d4d4;
  }
  footer .nav .facilities,
  footer .nav .facilities a {
    color: #939393;
  }
  footer .nav .quicklinks a:hover,
  footer .nav .facilities a:hover {
    color: white;
  }
  footer .nav .quicklinks,
  footer .nav .facilities {
    padding: 20px 0;
  }
  footer .nav h3 {
    padding-left: 20px;
  }
  footer .nav li {
    line-height: 18px;
  }
  footer .nav small {
    font-size: 8px;
  }
  footer .base {
    padding: 30px 0 15px;
    background: #080300;
  }
  footer .base p {
    padding-left: 20px;
  }
  footer .base img {
    margin: 0 35px 10px 0;
    vertical-align: middle;
  }
  footer .base p,
  footer .base a {
    color: #616161;
    font-weight: 600;
  }
  footer .base .facebook {
    padding-left: 21px;
    background: url(../image/icon-facebook.png) no-repeat left center;
    background-size: 16px 16px;
    color: #3385ae;
  }
}
/* END screen styles */
/* BEGIN tablet styles */
@media screen and (min-width: 750px) and (max-width: 977px) {
  /* Header ---------- */
  header .logo {
    top: 30px;
  }
  header nav {
    right: auto;
    left: 15px;
  }
  /* Contact location map ---------- */
  #location-map .inner {
    background-image: url(../image/hero-image-shade-tablet.jpg);
  }
  #location-map .map {
    height: 267px;
  }
  #location-map ul.locations {
    height: 65px;
  }
  #location-map li {
    height: 65px;
    line-height: 65px;
  }
  #location-map a.large {
    height: 65px;
    line-height: 65px;
  }
  /* Sliders ---------- */
  .slider {
    width: 768px;
    margin: 0 auto;
  }
  .slider .slides li .long-title {
    display: none;
  }
  .slider .slides li .short-title {
    display: inline;
  }
  .slider .slides li h2 {
    width: 768px;
  }
  .slider .slides li h2 span.text {
    width: 708px;
  }
  .slider .slides li.full {
    height: 274px;
    background-size: auto 274px;
  }
  .slider .slides li a.tickets {
    margin-left: 290px;
  }
  .slider .slides li img.banner {
    margin-left: -384px;
  }
  /* Gallery images ---------- */
  #content .content #gallery li {
    width: 236px;
    margin: 0 0 20px 20px;
  }
  #content .content #gallery li.tablet-break {
    margin-left: 0;
    clear: both;
  }
  #content .content #gallery li.desktop-break {
    margin-left: 20px;
    clear: none;
  }
  #content.cols .content #gallery li {
    width: 216px;
  }
  #content.cols .content #gallery li.tablet-break {
    margin-left: 20px;
    clear: none;
  }
  #content.cols .content #gallery li.tablet-col-break {
    margin-left: 0;
    clear: both;
  }
  /* Hero image ---------- */
  #hero .slider {
    height: auto;
  }
  #hero .image {
    height: 268px;
    background-size: auto 268px;
  }
  #hero .image .container {
    position: relative;
    height: 268px;
  }
  #hero .intro .content {
    padding-left: 30px;
    padding-right: 30px;
  }
  .home #hero .inner {
    background-image: url(../image/hero-image-shade-tablet.jpg);
  }
  .home #hero .image {
    height: auto;
  }
  /* Page content ---------- */
  #content h1 {
    font-size: 32px;
  }
  #content .links {
    display: none;
  }
  .home #content .links {
    display: block;
  }
  /* Forms ---------- */
  #content form input.text,
  #content form input.email,
  #content form input.tel,
  #content form textarea.small {
    width: 280px;
  }
  footer form {
    padding-left: 10px;
  }
  footer form input.text,
  footer form input.tel,
  footer form textarea.small {
    width: 130px;
  }
  footer form input.email {
    width: 168px;
  }
  /* Event content ---------- */
  #event-content .image .lft {
    padding-left: 15px;
  }
  #event-content .image .rgt {
    padding-right: 15px;
  }
  #event-content .text {
    padding-left: 15px;
    padding-right: 15px;
  }
  /* Footer ---------- */
  footer {
    font-size: 10px;
  }
  footer h2 {
    font-size: 16px;
  }
  footer h3 {
    font-size: 14px;
  }
  footer .top {
    font-size: 12px;
  }
  footer .top h2,
  footer .top p {
    padding-left: 13px;
  }
  footer .top h2 {
    padding-top: 5px;
  }
  footer .top p {
    margin-bottom: 5px;
    font-size: 14px;
  }
  footer .top .block {
    width: auto;
    padding: 10px 0;
  }
  footer .top img {
    margin: 0 5px 5px 0;
  }
  footer .h3bar .container .col1,
  footer .h3bar .container .col2,
  footer .h3bar .container .col3 {
    padding-left: 80px;
  }
}
/* END tablet styles */
/* BEGIN mobile styles */
@media screen and (min-width: 0px) and (max-width: 749px) {
  #content .content table,
  #content .content thead,
  #content .content tbody,
  #content .content tfoot,
  #content .content tr,
  #content .content th,
  #content .content td {
    display: block;
    line-height: 1;
  }
  #content .content tr {
    margin-bottom: 15px;
  }
  #content .content table {
    padding: 0 20px 1px;
  }
  #content .content table tr td {
    padding: 0;
  }
  #content .content table tr td:first-child {
    font-weight: 700;
  }
  .ie6 #content .content table tr td:first-child {
    font-weight: bold;
  }
  #content .content table tr:last-child td {
    padding-bottom: 1px;
  }
  #content .content table.data {
    border-width: 0;
  }
  #content .content table.data thead,
  #content .content table.data th {
    display: none;
  }
  #content .content table.data tr {
    margin-bottom: 15px;
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: #ccc;
  }
  #content .content table.data td[data-title]:before {
    content: attr(data-title) ": ";
    display: block;
    font-weight: bold;
  }
  /* Icons ---------- */
  a.icon {
    display: block;
    padding: 0 0 0 80px !important;
    background-position: 30px center;
  }
  a.icon.events {
    background-image: url(../image/icon-events.png);
    background-size: 34px 37px;
  }
  a.icon.information {
    background-image: url(../image/icon-information.png);
    background-size: 39px 30px;
  }
  a.icon.calendar {
    background-image: url(../image/icon-calendar.png);
    background-size: 30px 30px;
  }
  .ie7 a.icon,
  .ie6 a.icon {
    display: inline;
  }
  /* Header ---------- */
  header {
    z-index: 200;
    background-image: none;
  }
  header:after,
  header .container,
  header .container-mobile {
    height: 134px;
  }
  header .container {
    background-image: url(../image/banner-mobile.jpg);
    background-size: 750px 180px;
  }
  header .container-mobile {
    position: relative;
    overflow: visible;
  }
  header a.logo {
    left: 12px;
    top: 30px;
    display: block;
    width: 298px;
    height: 68px;
    background: url(../image/logo-mobile.png) no-repeat;
    background-size: contain;
  }
  header a.logo img {
    display: none;
  }
  header form {
    z-index: 1;
    left: 0;
    top: 100%;
    opacity: 0;
    padding: 10px 20px;
    background: black;
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  header form input.text {
    width: 250px;
  }
  header form input.image {
    right: 30px;
    top: 20px;
  }
  header form.show {
    z-index: 600;
    opacity: 1;
  }
  header form.hide {
    display: none;
  }
  header .search-toggle {
    position: absolute;
    right: 20px;
    bottom: 12px;
    display: block;
    overflow: hidden;
    width: 20px;
    height: 21px;
    background: url(../image/icon-search-mobile.png) no-repeat;
    background-size: 20px 21px;
    text-indent: -999px;
  }
  header nav {
    z-index: 1;
    right: auto;
    left: 0;
    bottom: auto;
    top: 100%;
    opacity: 0;
    width: 100%;
    padding: 0;
    background: black;
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  header nav li {
    float: none;
    border-bottom: 1px solid #333;
  }
  header nav a {
    float: none;
    display: block;
    height: 40px;
    line-height: 40px;
  }
  header nav.show {
    z-index: 600;
    opacity: 1;
  }
  header nav.hide {
    display: none;
  }
  header .nav-toggle {
    position: absolute;
    z-index: 10;
    left: 10px;
    bottom: 4px;
    padding: 10px 10px 10px 40px;
    background: url(../image/icon-menu.png) no-repeat 10px center;
    background-size: 19px 14px;
    color: #969696;
    font-size: 18px;
  }
  /* Contact location map ---------- */
  #location-map .container {
    width: 320px;
    margin: 0 auto;
  }
  #location-map .map {
    height: 260px;
  }
  #location-map ul.locations {
    height: 80px;
    padding-top: 5px;
  }
  #location-map li {
    float: none;
    height: auto;
    line-height: 1;
    padding-top: 5px;
  }
  #location-map li a {
    font-size: 17px;
    border-left: 0;
  }
  #location-map a.large {
    display: none;
  }
  /* Forms ---------- */
  #content form input.text,
  footer form input.text,
  #content form input.email,
  footer form input.email,
  #content form input.tel,
  footer form input.tel,
  #content form textarea,
  footer form textarea,
  #content form textarea.small,
  footer form textarea.small,
  #content form select,
  footer form select {
    width: 100%;
    box-sizing: border-box;
  }
  footer form {
    padding: 10px 20px 1px;
  }
  footer form div.input {
    margin-bottom: 0;
  }
  footer form input.text,
  footer form input.email,
  footer form input.tel {
    width: 100%;
    margin: 0 0 10px 0;
  }
  footer form .btn {
    margin: 0;
  }
  /* Sliders ---------- */
  .slider {
    width: 320px;
    margin: 0 auto;
  }
  .slider .slides li,
  .slider .slides li.full {
    padding-top: 114px;
    background-color: #4f4a49;
    background-size: auto 114px;
  }
  .slider .slides li a,
  .slider .slides li.full a {
    display: block;
    width: 320px;
  }
  .slider .slides li img,
  .slider .slides li.full img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
  }
  .slider .slides li h2,
  .slider .slides li.full h2 {
    position: relative;
    left: 0;
    width: 100%;
    padding: 15px 0 25px;
    background: transparent none !important;
    filter: none;
  }
  .slider .slides li h2 span.text,
  .slider .slides li.full h2 span.text {
    left: 0;
    height: auto;
    width: auto;
    line-height: 1;
    background: transparent none !important;
    filter: none;
    font-size: 20px;
  }
  .slider .slides li h2 span.text strong,
  .slider .slides li.full h2 span.text strong {
    display: block;
  }
  .slider .slides li h2 span.date,
  .slider .slides li.full h2 span.date {
    display: block;
    padding: 5px 0 0 0;
  }
  .slider .slides li img.banner,
  .slider .slides li.full img.banner {
    margin-left: -160px;
    width: 88px;
    height: 88px;
  }
  .slider .indicators {
    left: 0;
    bottom: -23px;
    width: 100%;
    text-align: center;
  }
  .slider .indicators li {
    left: 0;
    float: none;
    display: inline-block;
  }
  /* Gallery images ---------- */
  #content .content #gallery li {
    float: none;
    width: auto !important;
    margin: 0 0 20px !important;
  }
  /* Hero image ---------- */
  #hero .slider {
    height: auto;
  }
  #hero .image {
    position: relative;
    height: 189px;
    background-position: center top;
    background-size: auto 114px;
  }
  #hero .image .container {
    position: relative;
    background: #f9fbf8 url(../image/heading-shade.png) no-repeat center bottom;
  }
  #hero .image h2 {
    position: relative;
    height: auto;
    line-height: 1;
    width: 280px;
    margin: 0 auto;
    padding: 15px 0;
    color: #373737;
  }
  .home #hero {
    background: #5f5b5a none;
  }
  .home #hero .image {
    height: auto;
  }
  .home #hero .inner {
    background: #5f5b5a none;
  }
  /* Main ---------- */
  #main .inner1 {
    background: none;
  }
  #main .inner1 .inner2 {
    background: none;
  }
  /* Page content ---------- */
  #content {
    padding: 0;
  }
  #content h1 {
    height: auto;
    line-height: 1;
    margin-bottom: 10px;
    padding: 20px 20px 15px;
    font-size: 25px;
    background: transparent none;
  }
  #content .content {
    padding: 0;
  }
  #content .content img.float-left,
  #content .content img.float-right {
    float: none;
    margin: 0;
    display: block;
  }
  #content .heading-container {
    margin-bottom: 20px;
    background: url(../image/heading-shade.png) repeat-x center bottom;
  }
  #content ul.links {
    width: 320px;
    float: none;
    margin: 0 auto !important;
  }
  #content ul.links li {
    float: none;
    margin-left: 0;
    border-bottom: 1px solid #e5e5e5;
  }
  #content ul.links a {
    display: block;
    height: 65px;
    line-height: 65px;
    font-size: 20px;
    font-weight: 700;
  }
  .ie6 #content ul.links a {
    font-weight: bold;
  }
  .general #content ul.links {
    display: none;
  }
  #content .body,
  #content .subnav {
    padding: 0 20px;
  }
  /* Events list ---------- */
  #content .content ul.events {
    margin: 40px 0 0 !important;
  }
  /* Events calendar ---------- */
  #content .content #calendar {
    display: block;
    padding: 0;
  }
  #content .content #calendar tbody {
    display: block;
  }
  #content .content #calendar tr {
    display: block;
    height: auto;
    background: #f9fbf8;
  }
  #content .content #calendar tr.clear {
    margin-bottom: 25px;
    padding-bottom: 5px;
  }
  #content .content #calendar td {
    display: block;
    padding: 5px 15px;
    white-space: normal;
  }
  #content .content #calendar td.month {
    clear: both;
    padding: 20px 15px;
    background: white;
    font-size: 24px;
  }
  #content .content #calendar td.month-row {
    padding-top: 20px;
  }
  #content .content #calendar td.day,
  #content .content #calendar td.title,
  #content .content #calendar td.location,
  #content .content #calendar td.tickets {
    border-bottom: 0;
  }
  #content .content #calendar td.day {
    clear: both;
  }
  #content .content #calendar td.title {
    width: auto;
    padding-bottom: 0;
  }
  #content .content #calendar td.title strong {
    font-weight: 400;
  }
  .ie6 #content .content #calendar td.title strong {
    font-weight: normal;
  }
  #content .content #calendar td.location {
    float: left;
    padding-bottom: 8px;
    color: #9b9b9b;
  }
  #content .content #calendar td.tickets {
    float: right;
  }
  #content .content #calendar a.tickets {
    height: auto;
    line-height: 1;
    padding: 0 !important;
    background-image: none;
  }
  /* Event content ---------- */
  #content .content #event-content .image .lft,
  #content .content #event-content .image .rgt {
    float: none;
  }
  #content .content #event-content .image .lft {
    padding: 15px 20px 0;
  }
  #content .content #event-content .image .rgt {
    width: auto;
    padding: 5px 20px 15px;
    text-align: left;
  }
  #content .content #event-content .image .rgt .video {
    display: block;
  }
  #content .content #event-content .image a.icon {
    padding-left: 44px !important;
    background-position: left center;
    text-align: left;
  }
  #content .content #event-content .text {
    padding: 20px 0 15px;
  }
  #content .content #event-content .info {
    padding: 0;
  }
  /* Subnav ---------- */
  .subnav .container-mobile {
    margin-bottom: 40px;
    padding: 0 20px;
  }
  /* Footer ---------- */
  footer {
    margin: 0 auto;
  }
  footer .top {
    white-space: normal;
  }
  footer .top h2 {
    line-height: 24px;
  }
  footer .top p {
    margin-bottom: 0;
  }
  footer .top .block {
    width: auto;
    padding: 0 0 20px 20px;
  }
  footer .top .last {
    padding-bottom: 20px;
  }
  footer .top p,
  footer .top h2 {
    padding-left: 20px;
    padding-right: 40px;
  }
  footer .h3bar .container-mobile .h3logo {
    padding-top: 30px;
    display: block;
    float: none;
  }
  footer .h3bar .container-mobile .col1,
  footer .h3bar .container-mobile .col2,
  footer .h3bar .container-mobile .col3 {
    float: none;
    padding-top: 0px;
    padding-left: 20px;
  }
  footer .h3bar .container-mobile .col1 img,
  footer .h3bar .container-mobile .col2 img,
  footer .h3bar .container-mobile .col3 img {
    display: block;
    padding-bottom: 15px;
  }
  footer .h3bar .container-mobile .col1 {
    padding-top: 30px;
  }
  footer .h3bar .container-mobile .col3 {
    padding-bottom: 20px;
  }
  footer .nav h3 {
    margin-bottom: 10px;
  }
  footer .nav ul {
    padding-left: 20px;
  }
  footer .nav .quicklinks {
    border-bottom: 0;
  }
  footer .nav .facilities {
    background: #262626;
  }
  footer .base {
    padding-bottom: 10px;
  }
  footer .base p {
    margin-bottom: 20px;
  }
  footer .base img {
    display: block;
    margin: 0 0 15px;
  }
}
/* END mobile styles */
/* BEGIN responsive grid */
.clear:after,
.row:after {
  content: '.';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clear,
.row {
  display: inline-block;
}
/* \*/
.clear,
.row {
  display: block;
}
/* */
@media screen {
  body:before {
    content: 'desktop';
    position: absolute;
    visibility: hidden;
  }
  .tablet-only,
  .mobile-only {
    display: none;
  }
  .container {
    width: 978px;
    margin: 0 auto;
  }
  .col,
  .cols {
    float: left;
    margin-left: 30px;
  }
  .col.alpha,
  .cols.alpha,
  .col.alpha-desktop,
  .cols.alpha-desktop {
    clear: left;
    margin-left: 0;
  }
  .col.alpha.no-clear,
  .cols.alpha.no-clear,
  .col.alpha-desktop.no-clear,
  .cols.alpha-desktop.no-clear {
    clear: none;
  }
  .col.pull-right,
  .cols.pull-right {
    float: right;
  }
  .col.one,
  .cols.one,
  .col.one-desktop,
  .cols.one-desktop {
    width: 54px;
  }
  .col.two,
  .cols.two,
  .col.two-desktop,
  .cols.two-desktop {
    width: 138px;
  }
  .col.three,
  .cols.three,
  .col.three-desktop,
  .cols.three-desktop {
    width: 222px;
  }
  .col.four,
  .cols.four,
  .col.four-desktop,
  .cols.four-desktop {
    width: 306px;
  }
  .col.five,
  .cols.five,
  .col.five-desktop,
  .cols.five-desktop {
    width: 390px;
  }
  .col.six,
  .cols.six,
  .col.six-desktop,
  .cols.six-desktop {
    width: 474px;
  }
  .col.seven,
  .cols.seven,
  .col.seven-desktop,
  .cols.seven-desktop {
    width: 558px;
  }
  .col.eight,
  .cols.eight,
  .col.eight-desktop,
  .cols.eight-desktop {
    width: 642px;
  }
  .col.nine,
  .cols.nine,
  .col.nine-desktop,
  .cols.nine-desktop {
    width: 726px;
  }
  .col.ten,
  .cols.ten,
  .col.ten-desktop,
  .cols.ten-desktop {
    width: 810px;
  }
  .col.eleven,
  .cols.eleven,
  .col.eleven-desktop,
  .cols.eleven-desktop {
    width: 894px;
  }
  .col.twelve,
  .cols.twelve,
  .col.twelve-desktop,
  .cols.twelve-desktop {
    width: 978px;
  }
}
@media screen and (min-width: 750px) and (max-width: 977px) {
  body:before {
    content: 'tablet';
  }
  .tablet-hidden {
    display: none;
  }
  .tablet-only {
    display: block;
  }
  .container {
    width: 748px;
  }
  .col,
  .cols {
    margin-left: 20px;
  }
  .col.alpha-desktop,
  .cols.alpha-desktop {
    clear: none;
    margin-left: 20px;
  }
  .col.alpha,
  .cols.alpha,
  .col.alpha-tablet,
  .cols.alpha-tablet {
    clear: left;
    margin-left: 0;
  }
  .col.one,
  .cols.one,
  .col.one-tablet,
  .cols.one-tablet {
    width: 44px;
  }
  .col.two,
  .cols.two,
  .col.two-tablet,
  .cols.two-tablet {
    width: 108px;
  }
  .col.three,
  .cols.three,
  .col.three-tablet,
  .cols.three-tablet {
    width: 172px;
  }
  .col.four,
  .cols.four,
  .col.four-tablet,
  .cols.four-tablet {
    width: 236px;
  }
  .col.five,
  .cols.five,
  .col.five-tablet,
  .cols.five-tablet {
    width: 300px;
  }
  .col.six,
  .cols.six,
  .col.six-tablet,
  .cols.six-tablet {
    width: 364px;
  }
  .col.seven,
  .cols.seven,
  .col.seven-tablet,
  .cols.seven-tablet {
    width: 428px;
  }
  .col.eight,
  .cols.eight,
  .col.eight-tablet,
  .cols.eight-tablet {
    width: 492px;
  }
  .col.nine,
  .cols.nine,
  .col.nine-tablet,
  .cols.nine-tablet {
    width: 556px;
  }
  .col.ten,
  .cols.ten,
  .col.ten-tablet,
  .cols.ten-tablet {
    width: 620px;
  }
  .col.eleven,
  .cols.eleven,
  .col.eleven-tablet,
  .cols.eleven-tablet {
    width: 684px;
  }
  .col.twelve,
  .cols.twelve,
  .col.twelve-tablet,
  .cols.twelve-tablet {
    width: 748px;
  }
}
@media screen and (min-width: 0px) and (max-width: 749px) {
  body:before {
    content: 'mobile';
  }
  .mobile-clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }
  .mobile-clear {
    display: inline-block;
  }
  /* \*/
  .mobile-clear {
    display: block;
  }
  /* */
  .mobile-hidden {
    display: none !important;
  }
  .mobile-only {
    display: block;
  }
  .mobile-block {
    display: block;
  }
  .container {
    width: auto;
  }
  .container-mobile {
    width: 320px;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
  }
  .col,
  .cols {
    float: none;
    margin-left: 0;
  }
  .col.pull-right,
  .cols.pull-right {
    float: none;
  }
  .col.one,
  .cols.one,
  .col.one-desktop,
  .cols.one-desktop,
  .col.two,
  .cols.two,
  .col.two-desktop,
  .cols.two-desktop,
  .col.three,
  .cols.three,
  .col.three-desktop,
  .cols.three-desktop,
  .col.four,
  .cols.four,
  .col.four-desktop,
  .cols.four-desktop,
  .col.five,
  .cols.five,
  .col.five-desktop,
  .cols.five-desktop,
  .col.six,
  .cols.six,
  .col.six-desktop,
  .cols.six-desktop,
  .col.seven,
  .cols.seven,
  .col.seven-desktop,
  .cols.seven-desktop,
  .col.eight,
  .cols.eight,
  .col.eight-desktop,
  .cols.eight-desktop,
  .col.nine,
  .cols.nine,
  .col.nine-desktop,
  .cols.nine-desktop,
  .col.ten,
  .cols.ten,
  .col.ten-desktop,
  .cols.ten-desktop,
  .col.eleven,
  .cols.eleven,
  .col.eleven-desktop,
  .cols.eleven-desktop,
  .col.twelve,
  .cols.twelve,
  .col.twelve-desktop,
  .cols.twelve-desktop {
    width: auto;
  }
}
/* END responsive grid */
/* BEGIN print styles */
@media print {
  /* Hide elements ---------- */
  .print-hide,
  header form,
  header nav,
  header .search-toggle,
  header .nav-toggle,
  #hero,
  aside.subnav,
  #content .links,
  footer .top,
  footer .nav {
    display: none;
  }
  /* Grid ---------- */
  .container {
    width: 900px;
  }
  /* Header ---------- */
  header {
    padding-bottom: 20px;
  }
  header .logo {
    display: block;
    width: 357px;
    height: 141px;
  }
  /* Events list ---------- */
  ul.events {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  ul.events li {
    float: left;
    margin-left: 12px;
    width: 214px;
    margin-bottom: 15px;
    border-width: 0 1px 1px;
    border-style: solid;
    border-color: #f1f3f0;
  }
  ul.events li.alpha,
  ul.events li.alpha-desktop {
    clear: left;
    margin-left: 0;
  }
  ul.events li .desc {
    padding: 0 10px;
  }
  ul.events li a {
    color: #373737;
  }
  ul.events li strong {
    font-size: 16px;
  }
  ul.events li small {
    color: #616161;
  }
  /* Event content ---------- */
  #event-content {
    float: left;
    width: 680px;
  }
  #event-content .image .rgt {
    display: none;
  }
  #event-aside {
    float: right;
    width: 200px;
  }
  #event-aside .block {
    margin-bottom: 15px;
  }
  #event-aside ul.dates {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  /* Events calendar ---------- */
  #calendar {
    width: 100%;
    border-collapse: collapse;
  }
  #calendar tr {
    height: 40px;
  }
  #calendar td {
    padding: 0 20px;
    white-space: nowrap;
  }
  #calendar td.month {
    padding: 20px;
    font-size: 24px;
  }
  #calendar td.month-row {
    padding-top: 25px;
  }
  #calendar td.day,
  #calendar td.title,
  #calendar td.location,
  #calendar td.tickets {
    border-bottom: 1px solid #ccc;
  }
  #calendar td.title {
    width: 100%;
  }
  /* Footer ---------- */
  footer {
    padding-top: 15px;
    border-top: 1px solid #ccc;
    font-size: 12px;
  }
}
/* END print styles */
