/*
  base.css - default styles for spotco web sites
*/

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
}

html {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  overflow-x: hidden;
  text-transform: uppercase;
}

@media screen and (min-width: 600px) {
  html {
    font-size: 18px
  }
}
@media screen and (min-width: 1800px) {
  html {
    font-size: 20px;
  }
}

body {
  text-align: center;
  overflow-x: hidden;
  position: relative;
  overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
}

h1 { font-size: 3rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.625rem; }
h4 { font-size: 1.375rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 0.75rem; }

p {
  font-size: 1.125em;
  line-height: 1.5;
  margin: 0 0 1em;
  text-transform: none;
  letter-spacing: normal;
}

p:last-child, ul:last-child, li:last-child {
  margin-bottom: 0;
}

/* note - include in master file */

blockquote {
  font-size: 1.375em;
  line-height: 1.2;
  text-transform: none;
  font-weight:bold;
}

cite {
  font-size: .875em;
  line-height: 1.2;
  margin-top: 0;
  text-transform: uppercase;
}

blockquote .close-quote {
  display: inline-block;
  margin-right: -.3em;
}
blockquote .close-quote.reverse-indent {
  margin-left: -.125em;
}
blockquote .close-quote.reverse-indent {
  margin-right: -.05em;
}

img { outline: none; border: 0; vertical-align: middle; }

input, textarea, keygen, select, button { font-family: inherit; font-size: inherit; }

em, i { font-style: oblique; font-synthesis: style; }
em.title {
  text-transform: uppercase;
}

strong, b { font-weight: bold; }
a { text-decoration: none; transition: all .2s; }

.nowrap { white-space: nowrap; }
.ib { display: inline-block; }
.lc { text-transform: lowercase; }
.sc { font-size: .625em; text-transform: uppercase; }
.float-left { float:left; }
.float-right { float:right; }
.clear-both { clear:both; }

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

.w100 { width: 100%; height: auto; }
.h100 { height: 100%; width: auto; }

.loading-gif {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
}

.img-rollover { position: relative; display: inline-block; margin: 0 auto; }
.img-rollover img { transition: all .01s; }
.img-rollover > *:first-child { position: relative; width: 100%; height: 100%; opacity: 1; }
.img-rollover > *:last-child { position: absolute;top:0;left:50%;transform: translateX(-50%);width:100%;height:100%; opacity: 0; }
.img-rollover:hover > *:first-child { opacity: 0; }
.img-rollover:hover > *:last-child { opacity: 1; }

@-ms-viewport {
  width: device-width;
}

@media screen and (max-width: 400px) {
  @-ms-viewport {
    width: 320px;
  }
}
@media (orientation: portrait) {
  .visible-landscape {
    display: none;
  }
}
@media (orientation: landscape) {
  .hidden-landscape {
    display: none;
  }
}
@media (min-width: 533px) {
  .visible-xs {
    display: none;
  }
}
@media (min-width: 640px) {
  .visible-sm {
    display: none;
  }
}
@media (min-width: 768px) {
  .visible-mobile {
    display: none;
  }
}
@media (max-width: 767px) {
  .hidden-mobile {
    display: none;
  }
}
@media (min-width: 1025px) {
  .visible-tablet {
    display: none;
  }
}
@media (max-width: 1024px) {
  .hidden-tablet {
    display: none;
  }
}
@media (min-width: 1094px) {
  .hidden-special {
    display: none;
  }
}

/*
  base.css - default styles for spotco web sites
*/

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
html, body {
  overflow-x: hidden;
}

@media screen and (min-width: 533px) {
  html {
    font-size: 18px
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 19px
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 20px
  }
}

body {
  text-align: center;
  position: relative;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1 { font-size: 3.25em; }
h2 { font-size: 1.375em; }
h3 { font-size: 1.375em; }
h4 { font-size: 1.125em; }
h5 { font-size: 1em; }
h6 { font-size: 0.875em; }

@media (max-width: 767px) { h1 { margin: .5em auto; } }

main p, main ol, main ul {
  line-height: 1.875;
  margin: 1em auto;
  text-transform: none;
  letter-spacing: normal;
}

h2 + p,
h3 + p {
  margin-top: 0!important;
}

:first-child { margin-top:0; }
:last-child { margin-bottom:0; }

main li {
  margin-bottom: .5em;
}

.faq {
  text-align: left;
}

.faq h3 {
  font-size: 1.125em;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: .25em;
}

#tickets .info p {
  margin-top: 0;
}

main p:first-child, main ul:first-child,
main li:first-child, main div:first-child {
  margin-top: 0;
}

main p:last-child, main ul:last-child,
main li:last-child, main div:last-child {
  margin-bottom: 0;
}

p.mice-type {
  font-size: .5em;
  line-height: 1.2;
  margin: 0 auto;
  padding: 0;
  max-width: 900px;
}

blockquote {
  text-align: center;
  font-size: 2em;
  line-height: 1;
  text-transform: none;
  overflow:visible!important;
}
blockquote > .lg,
blockquote > .med,
blockquote > .sm {
  display: block;
  overflow:visible!important;
}
blockquote .open-quote {
  display: inline-block;
  margin-left: -.3em;
  margin-right: .025em;
}
blockquote .close-quote {
  display: inline-block;
  margin-right: -.3em;
}
blockquote .close-quote.reverse-indent {
  margin-left: -.125em;
}
blockquote .close-quote.reverse-indent {
  margin-right: -.05em;
}
blockquote .hang-quotemark {
  margin-left: -.375em;
}

cite {
  display: block;
  font-family: inherit;
  font-size: .625em;
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}

img, video, iframe, svg { outline: none; border: 0; vertical-align: middle; }

svg {
  width: 100%;
  height: auto;
}

input, textarea, keygen, select, button { font-family: inherit; font-size: inherit; letter-spacing: inherit; margin: 0; }

em, i { font-style: italic; font-synthesis: style; }

strong, b { font-weight: bold; }

sup { font-size:50%;vertical-align: revert; }

svg { max-width: 100%; pointer-events: none; }

a { text-decoration: none; }
a:hover { text-decoration: none; }

.caps { text-transform: uppercase; }
.smallcaps { text-transform: uppercase; font-size: .75em;letter-spacing: .0375em; padding: 0 0.0625em; }
.sc { font-size: .75em; }

button { background: transparent; margin: 0; padding: 0; border: 0; }

.img-rollover { position: relative; display: inline-block; margin: 0 auto; }
.img-rollover img { transition: all .01s; }
.img-rollover > *:first-child { position: relative; width: 100%; height: 100%; opacity: 1; }
.img-rollover > *:last-child { position: absolute;top:0;left:50%;transform: translateX(-50%);width:100%;height:100%; opacity: 0; }
.img-rollover:hover > *:first-child { opacity: 0; }
.img-rollover:hover > *:last-child { opacity: 1; }

.accordion { transition: all .4s; }
.accordion > li { border-top: 3px solid #e5011e;  }
.accordion > li.open { height:auto; }
.accordion > li:last-child { border-bottom: 3px solid #e5011e; }
.accordion > li * { cursor: pointer; }
.accordion > li > .q { margin: .625em auto .5em; padding-right: 1.5em; position: relative; }
.accordion > li > .q:after { content: ''; display: block; background-image: url("data:image/svg+xml,%3Csvg id='ArrowDown' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 432 235'%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill:%23e5011e;%7D%3C/style%3E%3C/defs%3E%3Cpolygon class='b' points='216 164 0 0 0 72 216 235 432 72 432 0 216 164'/%3E%3C/svg%3E"); background-size: 80%; background-repeat: no-repeat; background-position: center; height: 1.5em; width:1em; position: absolute; top: -.375em; right: .375em; padding: .5em; }
.accordion > li.open > .q { margin-bottom: 1em; }
.accordion > li.open > .q:after { transform: rotate(180deg); transition: transform .3s; }
.accordion > li > *:not(.q) { margin: 0 0 .5em 0; opacity:0; height: 0; transition: margin .6s, height .6s; pointer-events: none; }
.accordion > li.open > *:not(.q) { display: block; opacity:1; height:auto; margin: 1em 0; transition: margin .6s, height .6s, opacity .6s; pointer-events: none; }
.accordion > li.open > * a { pointer-events: all; }

.nowrap { white-space: nowrap; }
.ib { display: inline-block; }

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

.w100 { width: 100%; height: auto; }
.h100 { height: 100%; width: auto; }
.img-responsive { max-width: 100%; height: auto; }

small, .small { font-size: .8em; margin-top: .2em; }

.block { display: block; }

.container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.75em;
  position: relative;
}
button * {
  pointer-events: none;
}
button {
  pointer-events: all;
}
.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.flex .col-full {
  flex: 0 0 100%;
}
.flex .col-1-2 {
  flex: 0 0 calc(50% - 1em);
}
.flex .col-1-3 {
  flex: 0 0 calc(33.333% - 1em);
}
.flex .col-2-3 {
  flex: 0 0 calc(66.666% - 1em);
}
.flex .col-1-5 {
  flex: 0 0 calc(20% - 1em);
}
.flex .col-2-5 {
  flex: 0 0 calc(40% - 1em);
}
.flex .col-3-5 {
  flex: 0 0 calc(60% - 1em);
}
.flex .col-1-4 {
  flex: 0 0 calc(25% - 1em);
}
.flex .col-3-4 {
  flex: 0 0 calc(75% - 1em);
}
@media (min-width:768px) {
  .flex .col-1-3 {
    max-width: 33.333%;
  }
}
@media (max-width: 767px) {
  .flex {
    flex-direction: column;
    gap: 3em;
  }
  .flex > div {
    flex: 0 0 100% !important;
  }
}
.flex-break {
  flex-basis: 100%;
  height: 0;
}

@media only screen {
  .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }
}

.loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: .375;
}

@-ms-viewport {
  width: device-width;
}
@media screen and (max-width: 400px) {
  @-ms-viewport {
    width: 320px;
  }
}
@media (min-width: 533px) {
  .visible-xs {
    display: none!important;
  }
}
@media (max-width: 532px) {
  .hidden-xs {
    display: none!important;
  }
}
@media (max-width: 359px) {
  .hidden-xxs {
    display: none!important;
  }
}
@media (min-width: 768px) {
  .visible-mobile {
    display: none!important;
  }
}
@media (max-width: 767px) {
  .hidden-mobile {
    display: none!important;
  }
}
@media (min-width: 1024px) {
  .visible-tablet {
    display: none!important;
  }
}
@media (max-width: 1023px) {
  .hidden-tablet {
    display: none!important;
  }
}
@media (max-width: 1093px) {
  .hidden-special {
    display: none!important;
  }
}
@media (min-width: 1400px) {
  .hidden-wide {
    display: none!important;
  }
}
@media (max-width: 1399px) {
  .visible-wide {
    display: none!important;
  }
}
html:not(.touch).visible-touch,
html.touch.hidden-touch {
  display: none!important;
}
.open-container.open .hidden-open,
.open-container:not(.open) .visible-open {
  display: none!important;
}