/* -- Global Styles -- */

html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
 
body { 
	font-family: "NeueHaas", arial, sans-serif;	
	font-size: 13px;
	line-height: 19px;
}

a {
	outline: none;
	color: #E62B1E;
	text-decoration: none;
}

a:hover {
	color: #000;
}

p {
	margin: 20px 0;
}

img {
	border: 0;
	user-drag: none; 
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

object {
	padding: 0;
	margin: 0;
	outline: 0;
	border: 0;
	outline: none;
}

blockquote {
	margin: 20px 0;
}

hr {
	height: 1px;
	background: #000;
	color: #000;
	border: 0;	
}



/* -- Forms -- */

form {
	margin: 0;
	padding: 0;
}

form .border {
	display: block;
	margin: 10px 0;
	border: 1px solid #000;
}

label {
	display: block;	
	font-family: "NeueHaasBold";
}

label span {
	color: #AAA;
	font-family: "NeueHaas", arial, sans-serif;
}

input,
textarea {
	outline: none;
}
 
input.input,
textarea.textarea {
	width: 90%;
	max-width: 500px;
	height: 20px;
	margin: 0;
	padding: 5px 5%;
	font-size: 13px;
	line-height: 20px;
	border: 0;
	background: #FFF;
	font-family: "NeueHaas", arial, sans-serif;
}

textarea.textarea {
	height: 100px;
	overflow: auto;
}

.col2 input.input,
.col2 textarea.textarea {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;	
}

label.check-label {
	display: inline-block;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	text-transform: initial;
}

#form-submit {
	padding: 10px 0;
	text-align: center;	
}

#form-submit .button {
	width: 150px;
	margin: auto;	
}

.button {
	width: 100%;
	max-width: 500px;
	height: 30px;
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 30px;
	border: 0;
	background: #000;
	color: #FFF;
	text-align: center;
	font-family: "NeueHaasBold", arial, sans-serif;	
	margin: 0;
	cursor: pointer;
}

/* -- Blocks -- */

.block,
.left,
.right,
.clear,
.autoclear {
	display: block;
	position: relative;
}

.left {
	float: left;
}

.right {
	float: right;
}

.clear {
	clear: both;
	height: 0;
	overflow: hidden;
}

.autoclear {
	width: 100%;
	overflow: hidden;
}

.center {
	text-align: center;
}

.hidden {
	display: none !important;
}

.small {
	font-size: 12px;
	margin: -10px 0;
}

.mobile {
	display: none;
}

.photo-left,
.photo-right,
.photo-center {
	position: relative;
	display: block;
	float: left;
	margin: 5px 10px 5px 0;
}

.photo-right {
	float: right;
	margin: 5px 0 5px 10px;
}

.photo-center {
	float: none;
	margin: 0 auto;
}

.photo-left img,
.photo-right img,
.photo-center img {
	display: block;
	border: 0;
	margin-bottom: 5px;
}

.photo-center img {
	margin-left: auto;
	margin-right: auto;
}

.caption {
	display: block;
	font-size: 10px;

}



/* -- Messages -- */

.flash-success,
.flash-error,
.flash-warning,
.flash-notice {
	display: block;
	padding: 10px;
	margin: 50px 0 25px;
	font-family: "NeueHaasBold";
	text-align: center;
	color: #FFF;
	background: #F06432;
}

.none-found {
	text-align: center;
	padding: 30px 0;
	font-weight: bold;
}



/* -- Wrapper -- */

#wrapper {
	position: relative;
	width: 100%;
	min-height: 100%;
	text-align: center;
}



/* -- Header -- */

#header {
	height: 120px;
	border-bottom: 1px solid #000;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	transition: height .2s;
}

#header-pad {
	position: relative;
	width: 960px;
	height: 60px;
	padding: 30px 10px;
	margin: auto;
	text-align: left;
	transition: padding .2s;
}

#logo {
	float: left;
	margin: 0;
	padding: 0;
	width: 155px;
	height: 60px;	
}

#logo a {
	display: block;
	width: 155px;
	height: 60px;	
	background: url(../images/common/logo.png) no-repeat;
	background-size: 155px 61px;
}

#logo a span {
	display: none;
}

#nav {
	float: left;
	height: 60px;
	padding-left: 40px;
}

#nav .trigger {
	display: none;
	position: absolute;
	right: 10px;
	top: 32px;
	width:  32px;
	height: 24px;
	background: url(../images/common/menu.png) no-repeat;
	background-size: 32px 24px;
	cursor: pointer;
}

#nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#nav ul li {
	float: left;
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 13px;
	font-family: "NeueHaasBold";
}

#nav ul li a {
	display: block;
	width: 85px;
	height: 60px;
	padding-left: 5px;
	border-left: 1px solid #CCC;
}

#nav ul li:last-child a {
	width: 28px;
}

#nav ul li a span {
	display: block;
}

#nav ul li a.top:hover {
	transition: color .2s, border-color .2s;
}

#nav ul li.selected a.top:before {
	content: "\2022";
	float: left;
	margin-left: -18px;
	margin-top: -1px;
	font-size: 28px;
	width: 16px;
}

#nav ul li a.top:hover {
	color: #000;
	border-left: 1px solid #000;
}

#nav ul li ul {
	display: none;
	position: absolute;
	z-index: 10;
	width: 141px;
	margin-top: -1px;
	padding: 15px 20px;
	border: 1px solid #000;
	background: #FFF;
}

#nav ul li ul li {
	float: none;
}

#nav ul li ul li a,
#nav ul li ul li:last-child a {
	width: auto;
	height: auto;
	padding: 10px 0;
	border: 0;
	font-family: "NeueHaas";
	font-size: 12px;
	color: #000;
}

#nav ul li ul li a:hover {
	text-decoration: underline;
}

#search {
	position: absolute;
	right: 10px;
	bottom: -38px;
	z-index: 5;
}

#search .trigger {
	display: block;
	width:  24px;
	height: 24px;
	background: url(../images/common/search.png) no-repeat;
	background-size: 24px 24px;
	cursor: pointer;
}

#search .trigger span {
	display: none;
}


/* -- Content -- */

#content {
	padding-bottom: 80px;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
}

.page {
	width: 960px;
	padding: 0 10px;
	margin: auto;
	text-align: left;	
}

.page a {
	text-decoration: underline;
}

.page a:hover {
	color: #000;	
}

h2 {
	font-family: "NeueHaasBold";
	font-weight: normal;
	font-size: 18px;
	line-height: 20px;
	margin: 15px 0;
	width: 95%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: default;
}

h2 .bar {
	display: inline-block;
	height: 20px;
	border-left: 2px solid #000;
	vertical-align: middle;
	margin: 0 6px;
}

.page h2 a {
	color: #000 !important;
	text-decoration: none;	
}

.page h2 a:hover {
	text-decoration: underline;	
}


h3 {
	font-family: "NeueHaasBold";
	font-weight: normal;
	font-size: 16px;
	margin: 20px 0;
}

h4,
h5 {
	font-family: "NeueHaasBold";
	font-weight: normal;
	font-size: 15px;
	margin: 20px 0;
}

blockquote {
	float: right;
	width: 190px;
	padding: 10px 10px 10px 30px;
	margin: -10px 0 10px 10px;
	font-family: "NeueHaasBold";
	font-weight: normal;
	font-size: 15px;
	border-left: 1px solid #000;
}

blockquote:before {
	content: open-quote;
	float: left;
	margin-left: -20px;
	margin-top: 6px;
	font-size: 35px;
	width: 20px;
}

blockquote p:last-child {
	margin-bottom: 0;
}

.carousel-indicators {
	bottom: 11px;
	right: 11px;
}

.carousel-indicators span {
	display: block;
	float: left;
	margin-left: 3px;
	width: 5px;
	height: 5px;
	border: 1px solid #000;
	border-radius: 50%;
	cursor: pointer;
}

.carousel-indicators span.selected {
	background: #000;
}

#subnav {
	position: relative;
	padding: 0 0 20px;	
}

#subnav ul {
	height: 34px;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

#subnav ul li {
	padding: 0;
	display: inline-block;
	margin: 0 5px 10px;
}

#subnav ul li:first-child {
	margin-left: 0;
}

#subnav ul li:last-child {
	margin-right: 0;
}

#subnav ul li a {
	display: block;
	width: 162px;
	height: 32px;
	overflow: hidden;
	border: 1px solid #000;
	padding: 0 10px;
	font-family: "NeueHaasBold";
	text-align: center;
	line-height: 32px;
	font-size: 15px;
	text-decoration: none;
	color: #000;
	transition: background .15s, color .15s;
}

#subnav ul li a:hover {
	background: #000;
	color: #FFF;
}

#subnav ul li.selected a {
	color: #FFF;
}

#subnav .trigger a:hover {
	background: #000 url(../images/common/arrow-down-white.png) right center no-repeat;
	background-size: 28px 11px;
}

#subnav ul.menu {
	display: none;
	position: absolute;
	z-index: 99;
	right: 0;
	height: auto;
	padding: 0;
	background: #FFF;
	border: 1px solid #000;
	border-top: 0;
	border-bottom: 0;
	text-align: left;
}

#subnav ul.menu li {
	display: block;
	float: none;
	margin: 0;
}

#subnav ul.menu li a {
	border: 0;
	border-bottom: 1px solid #000;
	transition: background-color .1s, color .1s;
}

#subnav ul.menu li a:hover {
	color: #FFF;
	background: #000;
}

#subnav.vertical ul {
	height: auto;	
}

#subnav.vertical ul li {
	float: none;
	margin-left: 0;	
}

#subnav.vertical ul li a {
	width: auto;
}

.cols {
	display: table;
	width: 100%;
	overflow: hidden;
}

.cols .col,
.cols .col2,
.cols .col3 {
	display: table-cell;
	width: 220px;
	min-height: 100%;
	padding: 10px 10px 10px 10px;
	vertical-align: top;
	border-left: 1px solid #000;
}

.cols .col2,
.cols .col3 {
	width: auto;
}

.cols .col *:first-child, 
.cols .col2 *:first-child,
.cols .col3 *:first-child {
	margin-top: 0;
}

.cols .col:first-child,
.cols .col2:first-child,
.cols .col3:first-child {
	border-left: 0;
	padding-left: 0;
}

.cols .col:last-child,
.cols .col2:last-child,
.cols .col3:last-child {
	padding-right: 0;
}

.cols .col2 h3,
.cols .col2 p {
	width: 95%;	
}

.cols .col3 h3,
.cols .col3 p {
	width: 80%;	
}

.cols .col2 p,
.cols .col2 ul,
.cols .col3 p,
.cols .col3 ul {
	font-size: 15px;
	line-height: 24px;
}


.grid {
	width: 100%;
	overflow: hidden;
}

.grid .item {
	position: relative;
	display: block;
	float: left;
	width: 220px;
	overflow: hidden;
	padding: 10px;
	margin-left: -1px;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}

.grid .item .text {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.grid .item .title {
	width: 95%;
	padding-top: 12px;
	font-size: 15px;
	font-family: "NeueHaasBold";
}

.grid .item .title a {
	color: #000;
	text-decoration: none;
}

.grid .item .summary {
	position: relative;
	font-size: 10px;
	line-height: 17px;
	overflow: hidden;
}

.grid .item .summary p {
	margin: 12px 0;
	font-size: 10px;
	line-height: 17px;
}

.grid .item .fade {
	display: block;
	position: absolute;
	z-index: 3;
	width: 100%;
	height: 35px;
	bottom: 0;
	background: url(../images/common/fade.png) repeat-x;
	cursor: pointer;
}

.grid .item .more {
	position: absolute;
	width: 220px;
	bottom: 10px;
}

.line-cover {
	display: block;
	position: absolute;
	z-index: 2;
	height: 1px;
	margin-top: -1px;
	width: 100%;
	background: #FFF;
}

.pagination {
	padding: 30px 0;
	text-align: center;
}

.pagination span {
	display: inline-block;
	margin: 0 10px;
}

.pagination span em {
	display: inline-block;
	margin: 0 3px;
	font-family: times, serif;
}

.pagination .disabled {
	color: #AAA;
	cursor: default;
}

.text-2col {
	-webkit-column-count: 2; 
    -moz-column-count: 2; 
    column-count: 2;
   	-webkit-column-gap: 21px; 
    -moz-column-gap: 21px; 
    column-gap: 21px;
}

a.box {
	display: block;
	padding: 20px;
	margin-bottom: 10px;
	color: #000;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

a.box:hover {
	background: #000;
	color: #FFF;
}

.box-label {
	display: block;
	padding-bottom: 2px;
	color: #FFF;	
}

.box-title {
	display: block;
	padding-bottom: 20px;
	font-size: 18px;
	line-height: 20px;
	font-family: "NeueHaasBold";	
}

.box-summary a {
	color: #FFF;
}

.box-summary p:last-child {
	margin-bottom: 0;
}

.box-action {
	display: block;
	margin-top: 15px;
	text-decoration: underline;
	color: #FFF;
}

.select {
	position: relative;
	display: block;
	height: 32px;
	border: 1px solid #000;
	font-family: "NeueHaasBold";
	line-height: 32px;
	font-size: 15px;
	text-decoration: none;
	color: #000;
	background: #FFF url(../images/common/arrow-down.png) right center no-repeat;
	background-size: 28px 11px;
}

.select .trigger {
	display: block;
	width: auto;
	height: 32px;
	padding: 0 33px 0 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
	white-space: nowrap;
	color: #000;
	transition: background-color .2s, color .2s;
}

.select .trigger:hover {
	background: #000 url(../images/common/arrow-down-white.png) right center no-repeat;
	background-size: 28px 11px;
	color: #FFF;
}

.select .menu {
	display: none;
	position: absolute;
	z-index: 99;
	width: 100%;
	margin-left: -1px;
	height: auto;
	max-height: 228px;
	overflow: auto;
	overflow-x: hidden;
	padding: 0;
	border: 1px solid #000;
	background: #FFF;
}

.select .menu a {
	display: block;
	height: 32px;
	overflow: hidden;
	padding: 0 10px;
	border-top: 1px solid #000;
	color: #000;
	text-overflow: ellipsis;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .1s, color .1s;
}

.select .menu a:first-child {
	border-top: 0;
}

.select .menu a:hover {
	color: #FFF;
	background: #000;
}

.autocomplete {
	position: relative;
	overflow: visible;
}

.autocomplete .list {
	display: none;
	position: absolute;
	z-index: 1000;
	width: 100%;
	max-height: 200px;
	margin-top: -1px;
	overflow: auto;
	font-size: 14px;
	background: #FFF;
	border: 1px solid #000;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: left;
}

.autocomplete .list a {
	display: block;
	padding: 10px 5px 10px 15px;
	color: #000;
	text-decoration: none;
}

.autocomplete .list a.selected,
.autocomplete .list a:hover {
	color: #FFF;
	background: #000;
}

.multi {
    border: 1px solid #000;
}

.multi .multi-form {
    padding: 10px;
    background: #E6E6E6;
    border-bottom: 1px solid #000;
}

.multi .multi-add,
.multi .multi-edit {

	text-align: right;
}

.multi .multi-form label {
    display: block;
    padding-bottom: 10px;
}
    
.multi .multi-form .input {
    border: 1px solid #000;
}

.multi .multi-list {
    padding: 5px 5px 0;
    background: #FFF;
}

.multi .multi-list a {
    position: relative;
    display: block;
    min-height: 16px;
    line-height: 16px;
    padding: 5px 0 5px 5px;
    margin-bottom: 4px;
    overflow: hidden;
    border-bottom: 1px solid #AAA;
}

.multi .multi-list a:last-child {
    border-bottom: 0;
}

.multi .multi-list a.selected {
    color: #000;
}

.multi .multi-list a img {
    display: block;
    float: left;
    margin-right: 5px;
}

.multi .multi-list a:hover span.up,
.multi .multi-list a:hover span.down {
    display: block !important;
    position: absolute !important;
    top: 6px;
    right: 25px;
    width: 20px;
    height: 16px;
    background: #FFF url(/images/cms/multi-move.gif) -85px -1px no-repeat;
}

.multi .multi-list a:hover span.down {
    right: 5px;
    background-position: -108px -1px;
}

.multi .multi-list a.selected:hover span.up {
    display: none !important;
    background-position: 0 -1px;
}

.multi .multi-list a.selected:hover span.down {
    display: none !important;
    background-position: -23px -1px;
}

.multi .multi-list a:hover span.up,
.multi .multi-list a:hover span.down {
    display: block;
}

.multi .multi-edit {
    display: none;
}

.multi .multi-remove-button {
    float: left;
}




.hero {
	font-size: 10px;
	margin-bottom: 20px;
	text-align: right;
}

.hero img {
	display: block;	
}

.feature {
	width: 100%;
	overflow: hidden;
	margin-bottom: 20px;
}

.feature-text {
	width: 200px;
	height: 440px;
	padding: 20px;
	float: left;
	color: #FFF;	
	font-size: 12px;
	line-height: 16px;
}

.feature-text a {
	color: #000;
}

.feature-text .title {
	display: block;
	font-family: "NeueHaasBold";
	font-size: 18px;
	line-height: 20px;
	margin-bottom: 30px;
}

.feature-text .title a {
	color: #FFF;
	text-decoration: none;
}

.feature-text .tickets {
	display: block;
	padding-top: 1px;
	font-size: 13px;
}

.feature-text .summary {
	display: block;
}

.feature-image {
	display: block;
	float: right;	
}

.feature-image img {
	display: block;	
}

.feature-image img {
	display: block;	
}

.feature-image .text-content {
	display: none;	
}

#gallery-carousel {
	width: 720px;
	height: 480px;
	overflow: hidden;
	background: #000;
}

#gallery-carousel ul {
	width: 720px;
	height: 480px;
	list-style: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
}

#gallery-carousel ul li {
	width: 720px;
	height: 480px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#gallery-carousel.hero,
#gallery-carousel.hero ul,
#gallery-carousel.hero ul li {
	width: 960px;
}


.video-thumbnail {
	display: block;
	position: relative;
	padding-top: 5px;	
}

.video-thumbnail:after {
	content: " ";
	display: block;
	position: absolute;
	z-index: 3;
	width: 49px;
	height: 35px;
	margin-top: -90px;
	margin-left: 87px;
	opacity: .7;
	background: url(../images/common/video-thumbnail.png) no-repeat;	
	background-size: 49px 35px;
	transition: opacity .15s;
}

.video-thumbnail:hover:after {
	opacity: 1;
}


.video-thumbnail img {
	display: block;	
}


.audio {
	position: relative;
	padding-left: 21px;
	font-size: 13px;
	line-height: 17px;
}

.audio a {
	display: block;
	margin: 10px 0;
	min-height: 17px;
	color: #000;
	text-decoration: none;
}

.audio a:before {
	display: block;
	position: absolute;
	content: " ";
	margin-left: -21px;
	width: 17px;
	height: 17px;
	background: url(../images/common/audio-play.png) no-repeat;
	background-size: 17px 17px;
	border-radius: 50%;
	transition: background-color .15s;
}

.audio a:hover:before {
	background-color: #000;
}

.audio a.playing:before {
	background-image: url(../images/common/audio-pause.png);
}

.image {
	margin: 10px 0;
}

.image img {
	display: block;	
}

.image .caption {
	margin-top: -1px;
}

.lightbox {
	display: block;
	margin-top: 5px;	
}


/* -- Popup -- */


#popup-bg {
	background: rgba(255,255,255,.7);	
}

#popup {
	box-size: border-box;
	max-width: 530px;
	padding: 30px;
	background: #FFF;
	border: 1px solid #000;	
}

#popup .close {
	display: block;
	float: right;
	width: 16px;
	height: 16px;
	background: url(../images/common/close.png) no-repeat;
	background-size: 16px 16px;
}

#info-popup {
	width: 520px;
}

#info-popup img {
	width: 123px;
	height: 123px;
	float: left;
	margin: 0 20px 20px 0;	
}

#info-popup .title {
	width: 95%;
	font-size: 15px;
	margin-bottom: 10px;
	font-family: "NeueHaasBold";
}

#info-popup .title a {
	color: #000;
	text-decoration: none;
}

#info-popup .shops {
	padding-top: 30px;
}

#info-popup .audio {
	clear: left;
}

#info-popup .attribute {
	margin-top: 20px;
	font-style: italic;
}

/* -- Footer -- */

#footer {
	position: absolute;
	width: 100%;
	height: 60px;
	bottom: 0;
	background: #000;
	color: #FFF;
	font-size: 9px;
	line-height: 20px;
	text-transform: uppercase;
}

#footer-pad {
	width: 960px;
	height: 20px;
	padding: 20px 10px;
	margin: auto;
	text-align: left;
}

#footer a {
	color: #FFF;
}

#footer .social {
	float: right;
	width: 50px;
	padding-left: 12px;
}

#footer .social a {
	display: block;
	float: left;
	width: 20px;
	height: 20px;
	margin-right: 10px;
}

#footer .social a:last-child {
	margin-right: 0;
}

#footer .social a span {
	display: none;
}

#footer .social a.facebook {
	background: url(../images/common/social-facebook.png) no-repeat;
	background-size: 20px 20px;
}

#footer .social a.twitter {
	background: url(../images/common/social-twitter.png) no-repeat;
	background-size: 20px 20px;
}

#footer .links {
	float: right;
}

#footer .links a,
#footer .copyright a {
	display: inline-block;
	padding: 0 10px;
}

#footer .links span,
#footer .copyright span  {
	display: inline-block;
	padding: 0 6px;
}

#footer .copyright {
	float: left;
}

