/* fonts */

@font-face {
    font-family: "NeutraTextTF-Book";
    src: url('../fonts/NeutraTextTF-Book-webfont.eot?') format('embedded-opentype'), 
         url('../fonts/NeutraTextTF-Book-webfont.woff') format('woff'), 
         url('../fonts/NeutraTextTF-Book-webfont.ttf') format('truetype'),
         url('../fonts/NeutraTextTF-Book-webfont.svg#') format('svg');
}
@font-face {
    font-family: "NeutraTextTF-Bold";
    src: url('../fonts/NeutraTextTF-Bold-webfont.eot?') format('embedded-opentype'), 
         url('../fonts/NeutraTextTF-Bold-webfont.woff') format('woff'), 
         url('../fonts/NeutraTextTF-Bold-webfont.ttf') format('truetype'),
         url('../fonts/NeutraTextTF-Bold-webfont.svg#') format('svg');
}

/* general */

body {
  margin: 0;
  padding: 0;
  background: url(../images/bg.png) #b4b4b4;
  font-family: Helvetica, Arial, Sans-serif;
  font-size: 100%;
}
a {
  font-weight: bold;
  text-decoration: none;
  color: #000000;
}
a:hover {
  text-decoration: underline;
}
img {
  border: 0;
  display: block;
}
.center {
  margin: 0 auto;
  text-align: center;
}
.float-left {
  float: left;
}
.inline {
  display: inline;
}
.clear {
  clear: both;
}
h1 {
  margin: 0 0 15px 0;
  color: #000000;
  font-size: 175%;
  font-family: NeutraTextTF-Bold;
  text-transform: uppercase;
  text-align: center;
}
.bold {
  font-weight: bold;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}

/* container */

#container {
  //width: 740px;
  width: auto;
  display: block;
  padding: 5px;
  margin: 0 auto;
  background: #ffffff;
  text-align: center;
}

/* header */

#container-header {
  //height: 132px;
  height: auto;
  padding: 0 0 5px 0;
  text-align: center;
}
.header-text {
  text-align: right;
  text-transform: uppercase;
  font-size: 75%;
  font-family: NeutraTextTF-Book;
  padding: 10px 0 0 0;
  //width: 586px;
  margin: 0 auto;
  text-align: right;
}
.header-title {
  font-weight: bold;
  font-size: 255%;
  text-transform: uppercase;
  font-family: NeutraTextTF-Bold;
  border-bottom: 1px solid #000000;
  //width: 595px;
  margin: 0 auto;
}
.header-menu {
  font-family: NeutraTextTF-Book;
  font-size: 125%;
  text-transform: uppercase;
  padding: 5px 0 0 0;
}
.header-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-menu ul li {
  display: inline;
  margin: 0;
  padding: 0 21px 0 0;
}
.header-menu ul li:last-child {
  padding: 0;
}
.header-menu ul li:last-child a {
  color: #009d18;
}
.header-menu ul li a {
  font-weight: bold;
}
.header-menu-small {
  font-family: NeutraTextTF-Book;
  font-size: 72%;
  text-transform: uppercase;
  padding: 5px 0 0 0;
}
.header-menu-small ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-menu-small ul li {
  display: inline;
  margin: 0;
  padding: 0 5px 0 0;
}
.header-menu-small ul li:last-child {
  padding: 0;
}
.header-menu-small ul li a {
  font-weight: normal;
}

/* content */

.container-content {
  padding: 5px 0 0 0;
  font-size: 75%;
  text-align: left;
}
.container-content .banner {
  margin: 0 0 30px 0;
}
.container-content-border {
  border: 1px solid #000000;
  width: 678px;
  padding: 30px;
  text-align: center;
  font-size: 125%;
  margin-bottom: 30px;
}

/* footer */

.container-footer {
  display: none;
  width: 100%;
  background: #454545;
  text-align: center;
  color: #ffffff;
}
.footer-title {
  font-weight: bold;
  text-transform: uppercase;
  font-family: NeutraTextTF-Bold;
  padding: 10px 0;
}
.footer-menu {
  font-family: NeutraTextTF-Book;
  font-size: 125%;
  text-transform: uppercase;
  padding: 30px 0 70px 0;
}
.footer-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-menu ul li {
  display: inline;
  margin: 0;
  padding: 0 21px 0 0;
}
.footer-menu ul li:last-child {
  padding: 0;
}
.footer-menu ul li a {
  color: #ffffff;
  font-weight: bold;
}

/* accommodations */

.container-hotel {
  text-align: left;
  margin-bottom: 10px;
  background: #e9e7e8;
  height: 152px;
  font-size: 8pt;
}
.hotel-exterior {
  float: left;
}
.hotel-info {
  float: left;
  width: 588px;
}
.hotel-title {
  background: #2f2f2f;
  font-weight: bold;
  color: #ffffff;
  text-align: left;
  text-transform: uppercase;
  font-size: 7pt;
  line-height: 30px;
  height: 30px;
  padding-left: 10px;
}
.hotel-website {
  display: block;
  color: #ffffff;
  float: right;
  background: #011627;
  border-left: 1px solid #ffffff;
  width: 95px;
  text-align: center;
  height: 30px;
  line-height: 30px;
  text-decoration: none;
}
.hotel-info-padding {
  padding: 10px;
}

/* dropdowns */

.dropdowns {
  margin: 0 auto;
  text-align: center;
  margin-bottom: 10px;
  font-weight: bold;
}


/* shows */

.shows-container {
  background: #dceaf3;
}
.shows-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 8pt;
  box-sizing: border-box;
}
.shows-container ul li {
  float: left;
  margin: 0;
  padding: 0;
  width: 50%;
  height: 100%;
}
.shows-container ul li a {
  padding: 1em;
  border-bottom: 1px solid #d8e3ed;
  display: block;
  text-transform: uppercase;
}
.shows-container ul li a span {
  text-transform: capitalize;
  font-weight: normal;
}
.shows-container ul li:nth-child(odd) a {
   border-right: 13px solid #ffffff;
}

/* Chart for Fireworks and Illumination */

.chart-fireworks-illumination {
  border-top: 1px solid #5b574d;
  border-left: 1px solid #5b574d;
  border-bottom: 1px solid #5b574d;
  width: 370px;
  margin: 0 auto 20px auto;
}
.chart-fireworks-illumination-title {
  text-transform: uppercase;
  font-size: 12pt;
  font-weight: bold;
  background: #c3bda7;
  color: #333333;
  text-align: center;
  border-bottom: 2px solid #5b574d;
  border-right: 1px solid #5b574d;
  padding: 5px;
}
.chart-fireworks-illumination-subtitle {
  background: #9c9785;
  border-right: 1px solid #5b574d;
  padding: 5px;
}
.chart-fireworks-illumination-dark {
  background: #e8e5d2;
  border-right: 1px solid #5b574d;
  padding: 5px;
}
.chart-fireworks-illumination-light {
  background: #f4f1ea;
  border-right: 1px solid #5b574d;
  padding: 5px;
}
.chart-fireworks-illumination-disclaimer {
  font-size: 8pt;
  background: #c3bda7;
  text-align: center;
  border-top: 2px solid #5b574d;
  border-right: 1px solid #5b574d;
  padding: 5px;
}

.hidden-row {
  opacity: 0;
  transform: translateY(20px);
  visibility: hidden;
}
.visible-row {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s ease-in-out;
  visibility: visible;
}

/** fadeIn **/

@keyframes fadeInImage {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade-in-image {
  animation: fadeInImage 3s;
}
.fade-in-image .img-splash {
  -webkit-animation: bubble 1ss forwards;
  animation: bubble 1s forwards;
  animation-name: bubble;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
/* Safari */
@-webkit-keyframes bubble  {
  0%   { transform:scale(1.15); opacity:0.0;}
    100% { transform:scale(1); opacity:1.0; }
}
/* Standard syntax */
@keyframes bubble  {
   0%   { transform:scale(1.15); opacity:0.0;}
    100% { transform:scale(1); opacity:1.0;}
}

/* Extra small devices (portrait phones, less than 576px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

  #sitemap ul {
    column-count: 3;
  }
  #container {
    width: 740px;
  }
  #container-header {
    height: 132px;
  }
  .header-text,
  .header-title {
    width: 586px;
  }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}
