.flex {
  display: flex;
  flex-wrap: wrap;
}

.image-responsive{
  max-width: 380px;
  width: 90%;
  margin: 0 auto;
  display: inline-block;
}
.image-responsive--medium{
  max-width: 260px;
}
.image-responsive--small{
  max-width: 190px;
}
.image-responsive--shadow {
  box-shadow: 0 5px 15px rgba(0,0,0,0.07);
}

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

.pad-vertical {
  margin-top: 1em;
  margin-bottom: 1em;
}

.clearfix:after { 
   content: "."; 
   visibility: hidden; 
   display: block; 
   height: 0; 
   clear: both;
}

.label-header {
  font-size: 18px;
  display: inline;
}

.uppercase {
  text-transform: uppercase;
}

.cancel-margin-bottom {
  margin-bottom: 0;
}

.push-right > *{
  margin-right: 1em;
}

td.push-right > * {
  margin-right: 0.5em;
}

.push-right > *:last-child {
  margin-right: 0;
}

.line-bottom::after {
  content: "";
  width: 100px;
  height: 4px;
  background: #000;
  display: block;
  margin: .35em 0 0 auto;
}

.line-top::before {
  content: "";
  width: 100px;
  height: 4px;
  background: #000;
  display: block;
  margin-bottom: .35em;
}

.cl-white .line-bottom::after,
.cl-white .line-top::before{
  background: white;
}

.text.right .line-bottom::after,
.text.right .line-top::before{
  margin-left: auto;
  margin-right: 0;
}

.hidden{
  display: none;
}
.visible{
  display: block;
}

/* Loading */
.loading {
  display: flex;
  text-align: center;
  width: 100%;
  min-height: 200px;
  height: auto;
  align-items: center;
  justify-content: center;
}

.loading-inner{
  min-height: 50px;
}

.loader {
  display: inline-block;
  width: 2em;
  height: 2em;
  border: 0.25em solid rgba(0, 0, 0, 0.1);
  border-top-color: #000;
  border-radius: 50%;
  -webkit-animation: loading 1s infinite linear;
  animation: loading 1s infinite linear;
  margin: 2em;
}

.loading--black {
  min-height: 500px;
  background: #111;
}

.loading--black .loader {
  border-color: rgba(255,255,255,0.1);
  border-top-color: #fff;
}

.loading-table{
  text-align: center;
}

@-webkit-keyframes loading {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loading {
  100% {
    transform: rotate(360deg);
  }
}

/* Working in Spinner */
.working-spinner {
  display: none;
}

.working .working-spinner {
  display: initial;
}

.bg-gray {
  background: #f5f5f5;
}

.cl-white *:not(i) {
  color: white;
}

.cl-white a:active,
.cl-white a:hover,
.cl-white button.faux:active,
.cl-white button.faux:hover{
  color: dodgerblue;
}

.cl-white p{
  color: #aaa;
}

.flex-strong {
  flex: 1;
}

.special-nav {
  list-style: none;
}

.pointer-events {
  pointer-events: all;
}

.bgbox {
  position: relative;
}

.banner {
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  top: 0;
  width: 100%;
  min-height: 100%;
  height: auto;
}
.banner--scaled{
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.banner--scaled .banner,
.banner--scaled .side-banner,
.banner--scaled .bgbox{
  transform: perspective(1px) translateZ(0) scale(1.1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.banner--scaled .bgbox .details-box {
  transform: perspective(1px) translateZ(0) scale(0.909);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.banner--bottom-crop{
  background-position: center bottom;
}
.details-box .options .button,
.details-box .options button{
  min-height: 45px;
  vertical-align: top;
}
@media screen and (min-width: 992px){
  table td.push-right{
    text-align: right;
  }
  .banner--height{
    min-height: auto;
    height: 400px;
  }

  .details-box.artist {
    min-height: 400px;
  }
  .details-box .options .button,
  .details-box .options button{
    min-height: 40px;
  }
}
.banner-shade,
.gradient{
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0,0,0,0.5);
}
.light-banner-shade{
  background: rgba(255,255,255,0.85);
}
.banner-shade--darker{
  background: rgba(0,0,0,0.65);
}
.gradient{
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 90%);
}
.gradient--inverted{
  background: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,1) 100%);
}
.side-banner{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #efefef;
  display: block;
}
.shadow{
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}
.responsive{
  width: 100%;
}
.tag{
  font-size: 1rem;
  letter-spacing: 4px;
  font-weight: bold;
  color: white;
  text-transform: uppercase;
  background: black;
  padding: 5px 8px;
}
.top-cta{
  margin-bottom: 1rem;
}
.top-title h1{
  margin-top: 0;
}
.top-title + .panel{
  margin-top: 1rem;
}
.top-title .button--transparent {
  padding: .5rem 0;
}
.fullpage-iframe{
  width: 100%;
  border: 0;
  box-shadow: 0 0 0;
  outline: 0;
  height: 100%;
  min-height: 800px;
  margin: 0;
  padding: 0;
}
.fullpage-wrapper{
  position: relative
}
.fullpage-iframe + .loading {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 768px){
  .top-title .button--transparent{
    padding: 15px 17px 15px 20px;
  }
}

.action-toggle.on .off,
.action-toggle .on {
  display: none;
}

.action-toggle.on .on {
  display: inherit;
}
