body {
  font-family: 'Roboto', Arial, sans-sherif, serif;
  font-size: 14px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
nav,
section,
header,
footer,
main {
  display: block;
}
div {
  box-sizing: border-box;
}
.pageContent {
  width: 960px;
  margin: 0 auto;
  padding: 0 10px;
}
nav#pageNav {
  background-color: #2b3039;
  color: #fff;
  padding: 10px 0px;
}
nav#pageNav #pageNavContent {
  position: relative;
}
nav#pageNav #pageNavContent:after {
  content: '';
  display: block;
  clear: both;
}
nav#pageNav #pageNavContent ul {
  list-style: none;
  float: right;
}
nav#pageNav #pageNavContent ul li {
  padding: 0;
  margin: 0;
  float: left;
}
nav#pageNav #pageNavContent ul li a {
  color: #fff;
  font-size: 18px;
  display: block;
  padding: 10px 15px;
  text-decoration: none;
}
nav#pageNav #pageNavContent ul li a:hover {
  text-decoration: underline;
}
nav#pageNav #pageNavContent ul:after {
  content: '';
  clear: both;
  display: block;
}
nav#pageNav #pageNavContent .adv {
  padding-top: 6px;
}
nav#pageNav #pageNavContent .adv img {
  float: left;
  padding: 0 10px;
}
nav#pageNav #pageNavContent .adv img:after {
  content: '';
  clear: both;
  display: block;
}
header#pageSmallVisual {
  background-color: #191a1e;
  background-image: url("../img/bg_medium.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
header#pageSmallVisual .pageContent {
  max-height: 283px;
  height: 283px;
}
header#pageSmallVisual h1 {
  margin: 0;
  color: #fff;
  font-size: 1em;
  /*width: 500px;*/
  text-shadow: 2px 1px 4px #000;
}
header#pageSmallVisual h1 .no,
header#pageSmallVisual h1 .name {
  display: inline-block;
}
header#pageSmallVisual h1 .no {
  font-size: 4em;
  font-wegith: bold;
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  padding-bottom: 20px;
  padding-top: 20px;
  margin-bottom: 20px;
  margin-top: 50px;
}
header#pageSmallVisual h1 .name {
  font-size: 3em;
}
header#pageSmallVisual h2 {
  margin: 0;
  margin-top: 5px;
  padding: 10px;
  color: #191a1e;
  background-color: #fff;
  display: inline-block;
}
header#pageVisual {
  background-color: #000;
  background-image: url("../img/bg_large.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
header#pageVisual .pageContent {
  height: 700px;
  position: relative;
}
header#pageVisual h1 {
  margin: 0;
  color: #fff;
  font-size: 1.8em;
  /*width: 500px;*/
  text-shadow: 2px 1px 4px #000;
}
header#pageVisual h1 .no,
header#pageVisual h1 .name {
  display: inline-block;
}
header#pageVisual h1 .no {
  font-size: 4em;
  font-wegith: bold;
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  padding-bottom: 20px;
  padding-top: 20px;
  margin-bottom: 20px;
  margin-top: 120px;
}
header#pageVisual h1 .name {
  font-size: 3em;
}
header#pageVisual h2 {
  margin: 0;
  margin-top: 15px;
  padding: 10px;
  color: #191a1e;
  background-color: #fff;
  display: inline-block;
}
header#pageVisual .silhouette {
  position: absolute;
  left: 10px;
  bottom: 0;
}
#pageTicket {
  background-color: #181c22;
  padding: 20px 0;
}
#pageTicket .pageContent h2 {
  font-size: 42px;
  color: #fff;
  margin: 0;
  padding: 50px 0 20px 0;
  text-align: center;
}
.pageContent h2 {
  font-size: 25px;
  color: #fff;
  margin: 0;
  padding: 50px 0 20px 0;
}
.ticketVisual {
  margin: 0 auto;
  width: 900px;
  color: #fff;
}
.ticketVisual .ticketView {
  padding: 40px 40px;
  /*
		&:after {
			content: '';
			display: block;
			clear: both;
		}
			*/
}
.ticketVisual .ticketView .ticket-preSalePrice,
.ticketVisual .ticketView .btn,
.ticketVisual .ticketView .ticket-onSitePrice {
  /*float: left;
			margin-left: 20px;
			*/
}
.ticketVisual .ticketView .ticket-preSalePrice,
.ticketVisual .ticketView .ticket-onSitePrice {
  font-size: 40px;
  position: relative;
  text-align: center;
  width: 160px;
  padding-top: 40px;
}
.ticketVisual .ticketView .ticket-preSalePrice .currency,
.ticketVisual .ticketView .ticket-onSitePrice .currency {
  position: absolute;
  top: 10px;
  right: 15px;
}
.ticketVisual .ticketView .ticket-preSalePrice .note,
.ticketVisual .ticketView .ticket-onSitePrice .note {
  display: block;
  font-size: 19px;
  padding-bottom: 10px;
}
.ticketVisual .ticketView .ticket-preSalePrice .currency,
.ticketVisual .ticketView .ticket-onSitePrice .currency {
  font-size: 25px;
}
.ticketVisual .ticketView .btn {
  font-size: 32px;
  color: #fff;
  text-decoration: none;
  width: 300px;
  display: block;
  text-align: center;
  margin-left: 20px;
  padding: 70px 50px 70px 50px;
  line-height: 27px;
  border: 1px solid #fff;
  transition: background-color 0.5s ease, color 0.5s ease;
  margin-left: auto;
  margin-right: auto;
}
.ticketVisual .ticketView .btn:hover {
  background-color: #fff;
  color: #181c22;
}
.ticketVisual .ticketAlert {
  font-size: 30px;
  margin-top: 20px;
  padding: 10px 10px 50px 10px;
  text-align: center;
  vertical-align: middle;
}
.ticketVisual .ticketAlert .ticketCounter {
  font-size: 50px;
}
.sectionDivider {
  margin: 0 auto;
  display: block;
  padding: 20px 0 40px 0;
}
.toLeft {
  float: left;
}
.toLeft:after {
  content: '';
  display: block;
  clear: both;
}
.toRight {
  float: right;
}
.toRight:after {
  content: '';
  display: block;
  clear: both;
}
#pageProgram {
  background-color: #191a1e;
}
#pageProgram .pageContent {
  padding: 20px 0 20px 0;
}
#pageProgram .pageContent:after {
  content: '';
  display: block;
  clear: both;
}
#pageProgram .programAdv {
  float: left;
  position: relative;
  margin: 0 10px;
}
#pageProgram .programAdv span {
  position: absolute;
  color: #fff;
  font-size: 25px;
  bottom: 10px;
  left: 10px;
  background-color: #000;
  display: block;
  padding: 3px 10px 5px 5px;
}
article header h2 {
  font-size: 40px;
  margin: 0;
  padding: 60px 0 40px 0;
}
article p {
  line-height: 24px;
}
footer {
  /*margin-top: 50px;*/
  padding: 90px 10px 40px 10px;
  /*background-color: #3a302a;*/
}
footer .pageContent {
  text-align: center;
}
footer .pageContent img {
  margin: 0 20px;
}
main {
  padding: 20px 0 150px 0;
}
form {
  margin: 50px auto;
}
form table {
  margin-left: auto;
  margin-right: auto;
}
form table tr td {
  padding: 8px;
}
form input,
form select {
  font-size: 18px;
  padding: 8px;
  border-radius: 5px;
  border: 2px solid #d4d4d4;
  border-top: 1px solid #d4d4d4;
  border-bottom: 6px solid #9b9b9b;
  transition: border-color 0.5s ease, background-color 0.5s ease;
}
form input:focus,
form select:focus {
  border-color: #77c2e9;
  background-color: #eaf5fa;
}
form select.large {
  width: 90px;
}
form .btn,
form input[type="submit"] {
  background-color: #47a529;
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 20px 45px 15px 45px;
  font-face: 'Roboto', Arial, sans-sherif, serif;
  border-bottom: 8px solid #47a529;
  transition: border 0.5s ease;
}
form .btn:hover,
form input[type="submit"]:hover {
  border-bottom: 8px solid #196643;
}
.btn.btn-submit {
  padding: 20px 45px 15px 45px;
  border-bottom: 8px solid #ff5500;
}
main .btn {
  background-color: #ff5500;
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 15px 25px;
  font-face: 'Roboto', Arial, sans-sherif, serif;
  border-radius: 8px;
  font-size: 18px;
  text-decoration: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
.alert .btn {
  display: block;
  color: #fff;
  margin: 20px auto;
  text-decoration: none;
  padding: 15px 20px;
  border-radius: 8px;
}
.alert-info .btn {
  border: 2px solid #fff;
  background-color: #4eb2e5;
  color: #fff;
  transition: color 0.5s ease, background-color 0.5s ease;
}
.alert-info .btn:hover {
  color: #3099cf;
  background-color: #fff;
}
main .btn-small {
  font-size: 14px;
  border-radius: 4px;
  padding: 4px 15px;
}
main .btn-small:hover {
  background-color: #feb403;
}
.alert a {
  color: #fff;
}
.alert a:hover {
  color: #fe6703;
}
.alert-info a {
  color: #fe6703;
}
.alert-info a:hover {
  color: #fff;
}
.alert {
  text-align: center;
  font-size: 18px;
  margin: 20px;
  box-sizing: border-box;
  color: #fff;
  padding: 15px;
  border-radius: 8px;
  line-height: 30px;
}
.alert-error {
  background-color: #fe6703;
}
.alert-success {
  background-color: #47a529;
}
.alert-info {
  background-color: #c0e2f4;
  border: 1px solid #77c2e9;
  color: #00517b;
}
.alert-small {
  font-size: 14px;
  line-height: 21px;
}
.alert-left {
  text-align: left;
}
.smell {
  background-image: url('../img/smell.png');
  background-position: top left;
}
.center {
  text-align: center;
}
.number.big {
  font-size: 40px;
}
.number.orange {
  color: #191a1e;
}
table.max {
  width: 100%;
}
table.fun {
  width: 100%;
}
table.fun th {
  background-color: #191a1e;
  color: #fff;
  padding: 10px 5px;
}
table.fun td {
  padding: 5px;
}
table.fun td.number {
  text-align: right;
}
table.fun td.center {
  text-align: center;
}
table.fun .border-bot {
  border-bottom: 2px solid #f6f6f6;
}
table.fun table th {
  background-color: #f6f6f6;
  color: #363636;
}
table .order-state-4 {
  color: #818181;
  text-decoration: line-through;
}
.seating-plan {
  padding: 30px 0;
  position: relative;
}
.seating-plan-image {
  background-repeat: no-repeat;
}
.seating-plan-overlay {
  position: absolute;
  z-index: 1002;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.seating-plan-overlay .seating {
  position: absolute;
  display: block;
}
.seating-legend {
  position: absolute;
  top: 10px;
  right: 10px;
}
.seating {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #000;
  cursor: hand;
  cursor: pointer;
}
.seating.seating-available {
  background-color: #00ff00;
}
.seating.seating-reserved {
  background-color: #3333cc;
}
.seating.seating-selected {
  background-color: #ff9900;
}
.seating.seating-occupied {
  background-color: #ff3300;
}
#selected-seats div {
  padding: 8px 0;
}
