/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1.5;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* end eric meyer's reset */
.clear:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clear {
  display: inline-block;
}
/* hide IE mac \*/
* html .clear {
  height: 1%;
}
.clear {
  display: block;
}
/* */
* {
  box-sizing: border-box;
}
html,
body {
  font-size: 62.5%;
}
body {
  background-attachment: fixed;
  background-color: #000;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/bg-body.jpg?1480360466050');
  background-repeat: repeat-y;
  background-size: 100% auto;
  border-top: 3px solid #eb212e;
  color: #fff;
  font-family: 'Open Sans', 'Segoe UI', Tahoma, sans-serif;
  font-size: 1.6rem;
  position: relative;
  text-align: center;
}
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 0.75em;
}
h2 {
  font-size: 4rem;
}
h3 {
  font-size: 3.2rem;
}
a {
  color: #fff;
  text-decoration: underline;
}
em {
  font-style: italic;
}
img {
  height: auto;
  max-width: 100%;
}
p {
  margin: 0 auto 1.25em;
  max-width: 70ch;
  width: 100%;
}
small {
  font-size: 75%;
}
strong {
  font-family: 'Arial Black', 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
}
.visually-hidden {
  color: transparent;
  height: 0;
  position: absolute;
  visibility: hidden;
}
.hidden {
  display: none;
}
body > footer {
  background-color: rgba(0, 0, 0, 0.67);
  color: rgba(255, 255, 255, 0.75);
  padding: 3rem 2rem;
}
body > footer .title {
  font-variant: small-caps;
  text-transform: uppercase;
}
body > footer p,
body > footer title {
  text-align: center;
}
body > footer dl {
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 40rem;
  margin: 0 auto 1rem;
  text-align: center;
}
@media screen and (min-width: 480px) {
  body > footer dl {
    display: flex;
  }
}
body > footer dt,
body > footer dd {
  margin-bottom: 2rem;
}
@media screen and (min-width: 480px) {
  body > footer dt,
  body > footer dd {
    margin: 1rem;
  }
}
@media screen and (min-width: 480px) {
  body > footer dt {
    text-align: right;
  }
}
@media screen and (min-width: 480px) {
  body > footer dd {
    text-align: left;
  }
}
body > footer ul {
  text-align: center;
}
body > footer a {
  color: inherit;
  text-decoration: inherit;
}
body > header {
  background: 50% url('https://s3.fightforthefuture.org/rockagainstthetpp/images/bg-header.jpg?1480360466050') no-repeat;
  background-size: cover;
  box-shadow: 0 0 4rem black;
  padding: 3rem 0 1rem;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 640px) {
  body > header {
    padding-top: 4rem;
  }
}
body > header a {
  color: #fff;
  text-decoration: none;
}
body > header h2 {
  color: #fff;
  line-height: 1.2em;
}
body > header p {
  color: #fff;
  font-size: 2.3rem;
  line-height: 1.4;
  max-width: 80ch;
  padding: 0 1rem;
  text-shadow: 1px 0.5rem 1rem #000;
}
body > header p strong {
  font-family: 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
}
body > header p.no-pad {
  padding-bottom: 0;
}
body > header p.disclaimer {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.4rem;
  padding-top: 20px;
  max-width: 85ch;
}
body > header p.disclaimer a {
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
}
body > header p.disclaimer a:hover {
  text-decoration: underline;
}
body > header section {
  margin: 2.5rem auto;
  max-width: 1040px;
  padding: 0 1rem;
}
h1 {
  color: #fff;
  font-family: 'Arial Black', 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
  font-size: 11.75vw;
  font-weight: 900;
  text-shadow: 1px 5px 10px #000;
  letter-spacing: -3px;
  line-height: 0.75;
  margin: 2rem 0 0;
  padding: 4rem 1rem 2rem;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width: 800px) {
  h1 {
    font-size: 9.8rem;
    letter-spacing: -6px;
    margin-bottom: 3rem;
    text-align: center;
  }
}
@media screen and (min-width: 480px) {
  h1 {
    font-size: 7.5vw;
  }
}
@media screen and (min-width: 960px) {
  h1 {
    font-size: 7.7rem;
  }
}
.modal-present {
  overflow: hidden;
  text-shadow: none;
}
.overlay {
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  overflow: auto;
  padding: 2rem;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 400ms ease-in-out;
  z-index: 9001;
}
@media screen and (min-width: 480px) {
  .overlay {
    padding: 2rem 3rem;
  }
}
@media screen and (min-width: 640px) {
  .overlay {
    padding: 2rem;
  }
}
.overlay.visible {
  opacity: 1;
}
.modal-content {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.2rem 2rem rgba(0, 0, 0, 0.3);
  color: #000;
  display: block;
  margin: 0 auto;
  max-height: 80vh;
  max-width: 60rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2rem;
  position: fixed;
  top: 3rem;
  right: 5%;
  left: 5%;
  text-align: center;
  transition: opacity 400ms ease-in-out;
  width: 90%;
  z-index: 9002;
}
@media screen and (min-width: 640px) {
  .modal-content {
    margin: 5rem auto 0;
  }
}
@media screen and (min-width: 800px) {
  .modal-content {
    top: 5rem;
  }
}
.modal-content.visible {
  opacity: 1;
}
.modal-content a {
  color: #000;
}
.modal-content h3 {
  font-size: 4.5rem;
  text-align: center;
  color: #7D7D7D;
  font-weight: 600;
  text-shadow: none;
  margin-bottom: 0rem;
}
@media screen and (min-width: 640px) {
  .modal-content h3 {
    font-size: 5rem;
  }
}
@media screen and (min-width: 800px) {
  .modal-content h3 {
    line-height: 1.4;
  }
}
.modal-content h4 {
  font-size: 2.4rem;
  text-shadow: none;
  background: #eaeaea;
  padding: 2rem;
  margin: 1rem 0;
}
.modal-content p {
  line-height: 1.375;
  margin-bottom: 1.5rem;
}
.modal-content .share-this {
  display: block;
  position: static;
  width: calc(100% - 4rem);
}
.modal-content .share-this a {
  border-radius: 0.5rem;
}
.modal-content .share-this a::after {
  height: 2.9rem;
  right: -2.7rem;
}
.modal-content .share-this a:hover,
.modal-content .share-this a:active,
.modal-content .share-this a:focus {
  background-color: #e0e0e0;
}
.modal-content .share-this-button-links {
  margin-bottom: 1.5rem;
}
.modal-content .disclaimer {
  color: #000;
}
.modal-content .disclaimer a:link,
.modal-content .disclaimer a:visited,
.modal-content .disclaimer a:hover,
.modal-content .disclaimer a:active {
  color: #000;
}
.modal-content.no-frame {
  background-color: #000;
  padding: 0;
}
.modal-content.no-frame .close-modal {
  color: #fff;
  z-index: 100;
}
.modal-content.no-frame .close-modal:hover {
  background-color: transparent;
}
.modal-content .share-button {
  color: #fff;
}
.close-modal {
  background: transparent;
  border: none;
  color: #000;
  cursor: pointer;
  font-size: 2.5rem;
  opacity: 0.4;
  position: absolute;
  right: 0.5rem;
  text-decoration: none;
  top: 0;
}
.close-modal:hover {
  background-color: #fff;
  opacity: 1;
}
#phone-number-modal {
  display: none;
}
#phone-number-modal.visible {
  display: block;
}
#phone-number-modal hr {
  margin: 4rem auto;
  width: 75%;
}
.phone {
  font-size: 2rem;
  padding: 1.7rem 0.8rem;
}
.phone::placeholder {
  text-transform: uppercase;
}
.download-ticket {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #1951ca;
  border-radius: .5rem;
  border: none;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  padding: 1.5rem;
  position: relative;
  text-transform: uppercase;
  transition: top .15s;
  cursor: pointer;
}
nav {
  background-color: #000;
  min-height: 5rem;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  text-align: center;
  z-index: 10;
}
@media screen and (min-width: 640px) {
  nav {
    background-color: transparent;
  }
}
nav ul,
nav li {
  margin: 0;
  padding: 0;
}
nav ul {
  background-color: rgba(0, 0, 0, 0.9);
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 1.8rem;
  font-weight: 100;
  overflow: auto;
  padding: 5rem 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateY(-100%);
  transition: transform 400ms;
  z-index: 2;
}
@media screen and (min-width: 640px) {
  nav ul {
    align-items: center;
    background-color: transparent;
    display: flex;
    font-size: 1.4rem;
    height: auto;
    justify-content: center;
    padding: 0;
    position: static;
    transform: translate3d(0, 0, 0);
    transition: background-color 300ms;
  }
}
@media screen and (min-width: 640px) {
  nav ul.scrolled {
    background-color: rgba(0, 0, 0, 0.9);
    position: fixed;
    top: -6.5rem;
    bottom: auto;
    transition: transform 300ms;
  }
}
@media screen and (min-width: 640px) {
  nav ul.stuck {
    transform: translate3d(0, 100%, 0);
  }
}
nav.menu-open ul {
  transform: translateY(0);
}
@media screen and (min-width: 640px) {
  nav li {
    padding: 0 3rem;
    position: relative;
  }
}
@media screen and (min-width: 800px) {
  nav li {
    padding: 0 4rem;
  }
}
@media screen and (min-width: 640px) {
  nav li::before {
    color: #7D7D7D;
    content: '|';
    position: absolute;
    top: 1.9rem;
    left: 0;
  }
}
nav li:first-child::before {
  content: none;
}
@media screen and (min-width: 640px) {
  nav li:last-child {
    padding: 1.1rem 0 1.3rem;
  }
}
@media screen and (min-width: 640px) {
  nav li:last-child::before {
    content: none;
  }
}
nav a {
  color: #fff;
  display: block;
  margin: 0 0 0 3px;
  padding: 2rem 0;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 200ms;
}
@media screen and (min-width: 640px) {
  nav a:hover,
  nav a:active,
  nav a:focus {
    transform: scale(1.05);
  }
}
@media screen and (min-width: 640px) {
  nav .donate {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 2rem;
    display: block;
    height: 4rem;
    padding: 0.9rem 2rem;
  }
}
@media screen and (min-width: 640px) {
  nav .donate:hover,
  nav .donate:active {
    text-decoration: none;
  }
}
.menu-expand {
  background-color: #303030;
  border: none;
  color: #fff;
  cursor: pointer;
  opacity: 0.9;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  text-decoration: none;
  width: 5rem;
  z-index: 5;
}
.menu-expand:hover {
  opacity: 1;
}
@media screen and (min-width: 640px) {
  .menu-expand {
    display: none;
  }
}
.menu-text {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 0;
  color: transparent;
  display: block;
  font: 0/0 a;
  text-shadow: none;
  background-color: #fff;
  display: inline-block;
  height: 2px;
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  transition: background-color 300ms;
  width: 1.8rem;
}
.menu-text::before,
.menu-text::after {
  background-color: #fff;
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  transition: transform 300ms, top 300ms, background-color 0s;
  width: 100%;
}
.menu-text::before {
  top: -0.5rem;
}
.menu-text::after {
  top: 0.5rem;
}
.menu-open .menu-text {
  background-color: rgba(255, 255, 255, 0);
}
.menu-open .menu-text::before {
  top: 0;
  transform: rotate(135deg);
}
.menu-open .menu-text::after {
  top: 0;
  transform: rotate(225deg);
}
#learn-more a {
  color: #b7b7b7;
  text-decoration: none;
  border-bottom: 1px solid #eb212e;
}
main {
  margin-top: 4rem;
}
section {
  margin: 2.5rem auto 6rem;
  padding: 0 1rem;
  max-width: 1040px;
}
@media screen and (min-width: 480px) {
  section {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 640px) {
  section {
    padding: 0 5rem;
  }
}
p.disclaimer {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.4rem;
  padding-top: 20px;
  max-width: 85ch;
}
p.disclaimer a {
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
}
p.disclaimer a:hover {
  text-decoration: underline;
}
.share-this {
  display: none;
  position: fixed;
  top: 40%;
}
@media screen and (min-width: 1120px) {
  .share-this {
    display: block;
  }
}
.share-this p {
  margin: 0 0 0.7rem;
}
.share-this a {
  background-color: #e0e0e0;
  border: 0;
  color: #fff;
  font-weight: 600;
  display: block;
  font-size: 1.2rem;
  height: 3rem;
  font-variant: small-caps;
  margin-bottom: 1.5rem;
  padding: 0.7rem 1.5rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 200ms;
}
.share-this a.twitter {
  background-color: #55acee;
}
.share-this a.facebook {
  background-color: #3b5999;
}
.share-this a:hover,
.share-this a:active,
.share-this a:focus {
  text-decoration: underline;
}
.share-this a::after {
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/share-icons.png?1480360466050');
  background-repeat: no-repeat;
  background-size: 155%;
  border: 0;
  border-left: none;
  border-radius: 0 0.5rem 0.5rem 0;
  content: ' ';
  display: block;
  height: 3rem;
  position: absolute;
  top: 0;
  right: -2.8rem;
  width: 2.8rem;
}
.share-this a.twitter::after {
  background-color: #55acee;
  background-position: 5px center;
}
.share-this a.facebook::after {
  background-color: #3b5999;
  background-position: -2rem center;
}
.highlighted {
  color: #eb212e;
}
.volunteer {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.4rem;
  font-style: italic;
  max-width: 64rem;
  text-align: center;
}
.volunteer a {
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
}
.volunteer a:hover {
  text-decoration: underline;
}
#modal-share {
  display: none;
}
.two-column-list {
  list-style-position: inside;
  list-style-type: disc;
  margin: 1rem auto 5rem;
  text-align: left;
  width: 30rem;
}
@media screen and (min-width: 640px) {
  .two-column-list {
    column-count: 2;
    width: 60rem;
  }
}
.subheadline {
  text-transform: uppercase;
  color: #b7b7b7;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 2.5rem;
  font-family: 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
  border-radius: 5px;
  font-size: 2.5rem;
  box-shadow: 3px 1px 1px black;
  max-width: 100%;
}
.box {
  background-color: rgba(0, 0, 0, 0.5);
  border: 0.1rem solid rgba(111, 111, 111, 0.68);
  padding: 2rem;
}
@media screen and (max-width: 800px) {
  .box {
    margin: 1rem;
  }
}
.announcement-box {
  background-color: rgba(0, 0, 0, 0.5);
  border: 0.1rem solid rgba(111, 111, 111, 0.68);
  padding: 2rem;
  width: 70%;
  transition: background-color 250ms;
}
@media screen and (max-width: 800px) {
  .announcement-box {
    width: 90%;
  }
}
.play-button {
  color: #fff;
  font-size: 2.3rem;
  line-height: 1.4;
  max-width: 80ch;
  padding: 0 1rem;
  text-shadow: 1px 0.5rem 1rem #000;
  background-color: #4a4a4a;
  border: 1px solid #000;
  border-radius: 0.5rem;
  cursor: pointer;
  font-family: 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
  height: 5.1rem;
  margin-bottom: 1rem;
  padding: 1rem 2rem;
  text-shadow: 1px 1px 0.5rem #000;
  text-transform: uppercase;
  transition: background-color 250ms;
}
.play-button::before {
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/play-button.png?1480360466050');
  background-size: contain;
  content: '';
  float: left;
  height: 3rem;
  margin-right: 1rem;
  width: 3rem;
}
.play-button:hover,
.play-button:active {
  background-color: #1F1F1F;
}
.share-this-mobile {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 2rem auto;
}
.share-this-mobile a {
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: 0.09rem;
  opacity: 0.9;
  padding: 1.4rem 0 1.4rem 2.5rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 150ms;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .share-this-mobile {
    display: none;
  }
}
.share-this-mobile-fb,
.share-this-mobile-tw {
  background-repeat: no-repeat;
  background-position: 1rem;
  background-size: 2.5rem auto;
}
.share-this-mobile-fb {
  background-color: #3b5999;
  background-image: url(https://s3.fightforthefuture.org/rockagainstthetpp/images/share/facebook.png?1480360466050);
}
.share-this-mobile-tw {
  background-color: #55acee;
  background-image: url(https://s3.fightforthefuture.org/rockagainstthetpp/images/share/tweet.png?1480360466050);
}
.local-support {
  margin-top: 6.5rem;
}
@keyframes bladeFade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.spinner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.spinner .blade {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -4%;
  height: 8%;
  width: 100%;
}
.spinner .blade > div {
  width: 25%;
  margin: 0 0 0 auto;
  height: 100%;
  background: #f80d1b;
  border-radius: 1000px;
  opacity: 1;
  animation-duration: 2s;
  animation-name: bladeFade;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.spinner .blade.d02 {
  transform: rotate(-30deg);
}
.spinner .blade.d02 > div {
  animation-delay: -0.16666667s;
}
.spinner .blade.d03 {
  transform: rotate(-60deg);
}
.spinner .blade.d03 > div {
  animation-delay: -0.33333333s;
}
.spinner .blade.d04 {
  transform: rotate(-90deg);
}
.spinner .blade.d04 > div {
  animation-delay: -0.5s;
}
.spinner .blade.d05 {
  transform: rotate(-120deg);
}
.spinner .blade.d05 > div {
  animation-delay: -0.66666667s;
}
.spinner .blade.d06 {
  transform: rotate(-150deg);
}
.spinner .blade.d06 > div {
  animation-delay: -0.83333333s;
}
.spinner .blade.d07 {
  transform: rotate(-180deg);
}
.spinner .blade.d07 > div {
  animation-delay: -1s;
}
.spinner .blade.d08 {
  transform: rotate(-210deg);
}
.spinner .blade.d08 > div {
  animation-delay: -1.16666667s;
}
.spinner .blade.d09 {
  transform: rotate(-240deg);
}
.spinner .blade.d09 > div {
  animation-delay: -1.33333333s;
}
.spinner .blade.d10 {
  transform: rotate(-270deg);
}
.spinner .blade.d10 > div {
  animation-delay: -1.5s;
}
.spinner .blade.d11 {
  transform: rotate(-300deg);
}
.spinner .blade.d11 > div {
  animation-delay: -1.66666667s;
}
.spinner .blade.d12 {
  transform: rotate(-330deg);
}
.spinner .blade.d12 > div {
  animation-delay: -1.83333333s;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  animation-name: pulse;
  animation-iteration-count: 0;
}
.animated {
  animation-duration: 2s;
  animation-fill-mode: both;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
.button {
  background-color: #eb212e;
  border: none;
  border-radius: 2.5rem;
  color: #fff;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: bold;
  height: 4.5rem;
  margin: 0 1rem;
  padding: 1rem 2rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 250ms;
}
.button:hover,
.button:active {
  background-color: #c7121e;
}
.link-style-button {
  background: inherit;
  border: none;
  display: inline;
  color: inherit;
  font-size: inherit;
  padding: 0;
  text-decoration: underline;
}
.link-style-button:hover {
  background-color: inherit;
}
.copy {
  margin: 0 auto;
  max-width: 72ch;
}
.inline {
  display: inline;
  margin: 0;
  padding: 0;
}
.inline li {
  display: inline;
}
ul.piped li,
ol.piped li {
  display: inline;
  margin: 0;
  padding: 0;
}
ul.piped li::before,
ol.piped li::before {
  content: '|\00a0';
  display: inline-block;
}
ul.piped li:first-child::before,
ol.piped li:first-child::before {
  content: none;
}
.share-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  max-width: 25rem;
  margin: 0 auto 1.5rem;
}
.share-icon {
  display: block;
}
.share-icon.twitter {
  background-position: 0 0;
  width: 6rem;
  height: 6rem;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/share-icons.png?1480360466050');
  background-repeat: no-repeat;
  background-size: 120px 60px;
  background-color: #55acee;
}
.share-icon.facebook {
  background-position: 100% 0;
  width: 6rem;
  height: 6rem;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/share-icons.png?1480360466050');
  background-repeat: no-repeat;
  background-size: 120px 60px;
  background-color: #3b5999;
}
.share-icon.email {
  background-color: #e6e6e6;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/email.png?1480360466050');
  background-position: center;
}
/************************************************
*   Fixed Social Container          *
************************************************/
#fixed-side-social-container {
  background-repeat: no-repeat;
  position: fixed;
  top: 39.7rem;
  left: -6rem;
  padding: 0 5px;
  transition: left 300ms;
  width: 5rem;
  z-index: 10;
}
@media screen and (min-width: 640px) {
  #fixed-side-social-container.fade-in {
    left: 0;
  }
}
#fixed-side-social-container a {
  border: 0;
  border-radius: 5px;
  cursor: pointer;
}
#fixed-side-social-container .social-icon {
  background-position: center center;
  background-size: contain;
  border: 0;
  color: transparent;
  font: 0/0 a;
  text-shadow: none;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/social-media.png?1480360466050');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  float: left;
  height: 4.9rem;
  margin-bottom: 1rem;
  opacity: 0.75;
  transition: opacity 200ms, left 200ms;
  width: 5rem;
}
#fixed-side-social-container .social-icon:hover {
  opacity: 0.99;
}
#fixed-side-social-container .twitter-icon {
  background-position: 0 -5.1rem;
}
#fixed-side-social-container .facebook-icon {
  background-position: 0 -10.2rem;
}
#fixed-side-social-container .calling-icon {
  background-position: 0 -15.3rem;
}
.share-button {
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  height: 3.6rem;
  line-height: 2.571428571;
  margin: 1rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: box-shadow 200ms ease-in-out;
  width: 12.6rem;
}
.share-button.facebook,
.share-button.twitter,
.share-button.donate {
  background-repeat: no-repeat;
  padding-left: 2.5rem;
}
.share-button.facebook:hover,
.share-button.twitter:hover,
.share-button.donate:hover {
  box-shadow: inset 0 0 10rem 10rem rgba(0, 0, 0, 0.2);
}
.share-button.twitter,
.share-button.facebook {
  background-size: 2.2rem auto;
}
.share-button.twitter {
  background-color: #55acee;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/tweet.png?1480360466050');
  background-position: 0.8rem 1rem;
}
.share-button.facebook {
  background-color: #3b5999;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/facebook.png?1480360466050');
  background-position: 0.5rem 0.6rem;
}
.share-button.donate {
  background-color: #FC3660;
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/share/donate.png?1480360466050');
  background-position: 1rem 0.9rem;
}
.overlay .gutter .modal._donate_modal {
  padding: 0px 0px 20px 0px;
  max-width: 494px;
  width: 100%;
}
.overlay .gutter .modal._donate_modal h2 {
  width: 100%;
  background: #e6edf2;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-topright: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 40px 10px 40px 10px;
  font-weight: 300;
  font-size: 68px;
  color: #3a5474;
  margin-bottom: 0px;
}
.overlay .gutter .modal._donate_modal h3 {
  font-family: 'Open Sans', 'Segoe UI', Tahoma, sans-serif;
  font-size: 30px;
  color: black;
  font-weight: 400;
  margin-bottom: 10px;
}
.overlay .gutter .modal._donate_modal hr {
  display: block;
  margin-top: -23px;
  border: 0px;
  width: 42px;
  height: 42px;
  background: url(../images/heart.png);
  background-size: 100% 100%;
}
.overlay .gutter .modal._donate_modal p {
  width: 100%;
  padding: 0px 20px;
  font-size: 16px;
  line-height: 23px;
  color: #232c37;
  margin-bottom: 20px;
}
.overlay .gutter .modal._donate_modal button.donate {
  width: 300px;
  padding: 10px 0px 10px 0px;
  background: #22cfa8;
  border: 5px solid #d5eee8;
  font-size: 33px;
  letter-spacing: 3px;
  color: white;
  border-radius: 100px;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3);
  margin-bottom: 15px;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
}
.overlay .gutter .modal._donate_modal button.donate:hover {
  background: #12bf98;
}
.overlay .gutter .modal._donate_modal strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #5b6470;
}
.overlay .gutter .modal._donate_modal a {
  color: #1db28d;
  font-size: 14px;
  font-weight: normal;
}
.petition-form {
  margin: 3rem 1.5rem 0;
  max-width: 1040px;
  padding: 0 0 2px;
  position: relative;
}
@media screen and (min-width: 800px) {
  .petition-form {
    border: 0.7rem solid rgba(255, 255, 255, 0.25);
    border-radius: 0.6rem;
  }
}
.petition-form.submitting .input-row::after {
  content: 'Submitting…';
}
.input-row {
  position: relative;
}
@media screen and (min-width: 800px) {
  .input-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 1rem;
    background-color: #fff;
    border-radius: 0.5rem;
  }
}
.input-row::after {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 7px;
  display: flex;
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 2rem;
  justify-content: center;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: -2rem;
  bottom: -2rem;
}
.name,
.email,
.zip,
.country,
.submit {
  margin: 0 auto;
  max-width: 44rem;
}
.name,
.email,
.zip {
  border: none;
  border-bottom: solid #898989 1px;
  display: block;
  font-size: 1.6rem;
  padding: 1.5rem 1rem;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .name,
  .email,
  .zip {
    border-bottom: none;
    font-size: 2.5rem;
    max-width: 100%;
    padding: 1rem 0 1rem 1rem;
  }
}
.name::placeholder,
.email::placeholder,
.zip::placeholder {
  font-weight: 200;
}
.name {
  border-radius: 0.5rem 0.5rem 0 0;
}
@media screen and (min-width: 800px) {
  .name {
    border-radius: 0.5rem 0 0 0.5rem;
    border-right: solid 1px #898989;
    width: 28%;
  }
}
.email {
  border-radius: 0;
}
@media screen and (min-width: 800px) {
  .email {
    border-right: solid 1px #898989;
    padding-left: 2rem;
    width: 25%;
  }
}
.zip {
  border-radius: 0 0 0.5rem 0.5rem;
}
@media screen and (min-width: 800px) {
  .zip {
    border-radius: 0;
    padding-left: 2rem;
    width: 18%;
  }
}
.submit {
  appearance: none;
  background: #eb212e;
  border-radius: 0.5rem;
  border: none;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  margin-top: 2rem;
  padding: 1.5rem;
  position: relative;
  text-transform: uppercase;
  transition: top 150ms;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .submit {
    margin-top: 0;
    width: 29%;
  }
}
.submit:active,
.submit:focus {
  outline: none;
  top: 1px;
}
.submit:disabled {
  background: #f6969c;
}
[for="select-country"] {
  cursor: pointer;
  font-size: 1.4rem;
  text-align: center;
}
label.country {
  color: white;
  text-decoration: underline;
}
.country {
  cursor: pointer;
  margin: 1rem auto;
}
.country:not(.hidden) {
  display: block;
}
.country:hover,
.country:active,
.country:focus {
  text-decoration: underline;
}
.submitted::after {
  align-items: center;
  background-color: #000;
  color: #fff;
  content: 'Thanks for signing up!';
  display: flex;
  font-size: 2rem;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: -3.5rem;
  left: 0;
}
.info-feature {
  border-radius: 4px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  overflow: hidden;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.05);
  border: solid 1px rgba(255, 255, 255, 0.47);
}
.info-feature a {
  background-color: #eb212e;
  border: none;
  border-radius: 2.5rem;
  color: #fff;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: bold;
  height: 4.5rem;
  margin: 0 1rem;
  padding: 1rem 2rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 250ms;
}
.info-feature a:hover,
.info-feature a:active {
  background-color: #c7121e;
}
.info-feature h2,
.info-feature h3 {
  flex-basis: 100%;
  margin: 0;
}
.info-feature time {
  color: #eb212e;
}
.info-feature time::after {
  content: ': ';
  margin-right: 1rem;
}
.promotion {
  align-items: center;
  background-color: rgba(255, 255, 255, 0.05);
  display: flex;
  flex-wrap: wrap;
  font-size: 4.7rem;
  justify-content: center;
  padding: 2rem 0;
  width: 100%;
}
.details {
  font-size: 2rem;
  margin: 0;
  max-width: 100%;
  padding: 2rem;
  width: 100%;
}
.location {
  margin: 0 1rem;
}
.featuring {
  color: #7a7a7a;
}
.show-page-header {
  border-radius: 4px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.44);
  flex-direction: column;
  justify-content: center;
  margin: 2rem;
  max-width: 780px;
  padding: 2rem;
  text-align: left;
}
@media screen and (min-width: 480px) {
  .show-page-header {
    margin: 3rem;
  }
}
@media screen and (min-width: 800px) {
  .show-page-header {
    margin: 3rem auto;
  }
}
.show-page-header h2 {
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .show-page-header p {
    width: 64rem;
  }
}
#twitter-signup {
  background: rgba(0, 0, 0, 0.5);
  padding: 4rem 1rem;
}
#twitter-signup .button {
  background: #55acee;
  display: inline-block;
}
.video {
  height: 0;
  margin-bottom: 2rem;
  overflow: hidden;
  padding-bottom: 56.25%;
  padding-top: 3rem;
  position: relative;
}
.video iframe,
.video object,
.video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.media-container {
  max-width: 64rem;
}
#lineup,
#whats-going-on,
#tour-dates {
  font-family: 'Arial Black', 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
  text-transform: uppercase;
}
.artists {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: 'Arial Black', 'Roboto', 'AvenirNext-Bold', 'Arial Bold', Gadget, sans-serif;
  margin: 0 auto;
  max-width: 88rem;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width: 640px) {
  .artists {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
  }
}
.artist a,
.featured-artist a {
  text-decoration: none;
}
.artist img,
.featured-artist img {
  border: none;
}
.featured-artist {
  box-shadow: -3px 3px 0 0 #4a4a4a;
  font-size: 3rem;
  margin: 2rem;
  margin-bottom: 6rem;
  max-width: 88rem;
  order: 1;
  position: relative;
  width: calc(100% - 4rem);
}
@media screen and (min-width: 640px) {
  .featured-artist {
    height: 29.1rem;
    margin-bottom: auto;
  }
}
.featured-artist img {
  display: block;
}
@media screen and (min-width: 480px) {
  .featured-artist img {
    width: 65rem;
  }
}
@media screen and (min-width: 640px) {
  .featured-artist img {
    max-width: 100%;
    position: static;
    width: auto;
  }
}
.featured-artist .artist-name {
  line-height: 1;
  margin: 0;
  position: absolute;
  right: 0;
  bottom: -4rem;
  left: 0;
  text-shadow: 0 0 1rem black;
  vertical-align: middle;
}
@media screen and (min-width: 640px) {
  .featured-artist .artist-name {
    height: 0;
    top: 2px;
    left: 2px;
  }
}
@media screen and (min-width: 800px) {
  .featured-artist .artist-name {
    top: 1rem;
    left: 1rem;
  }
}
.featured-artist .artist-bio {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.artist {
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  justify-content: flex-start;
  height: calc(51.875vw + 14.8rem);
  line-height: 1;
  margin: 2rem 0 2rem;
  max-height: calc(51.875vw + 14.8rem);
  max-width: 27rem;
  order: 2;
  overflow: hidden;
  transition: max-height 800ms;
  width: 63vw;
}
@media screen and (min-width: 480px) {
  .artist {
    height: 38rem;
    max-height: 38rem;
  }
}
@media screen and (min-width: 640px) {
  .artist {
    font-size: 1.8rem;
    width: 44%;
  }
}
@media screen and (min-width: 800px) {
  .artist {
    width: 30%;
  }
}
.artist img {
  position: relative;
  left: -1px;
  right: -1px;
  max-width: none;
  width: 101%;
}
.artist .artist-name {
  margin: 1rem 0 0;
}
.artist.end {
  order: 3;
}
.artist.concealed {
  margin: 0;
  max-height: 0;
}
.artist-photo {
  max-height: 100%;
  position: relative;
}
.featured-artist .artist-photo {
  overflow: hidden;
}
.artist-bio {
  background: rgba(0, 0, 0, 0.6);
  font-family: 'Open Sans', 'Segoe UI', Tahoma, sans-serif;
  font-size: 1.8rem;
  opacity: 0;
  padding: 3rem 3rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: left;
  text-transform: initial;
  transition: opacity 200ms;
}
@media screen and (min-width: 640px) {
  .artist-bio:hover {
    opacity: 1;
  }
}
.artist-name {
  text-align: left;
}
.artist-website {
  font-variant: small-caps;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  text-decoration: underline;
}
.dates {
  display: flex;
  flex-wrap: wrap;
  font-size: calc(4vw + 3px);
  margin: 0 auto;
  max-width: 60rem;
}
@media screen and (min-width: 640px) {
  .dates {
    font-size: 3rem;
  }
}
.dates dd,
.dates dt {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
  width: 50%;
  padding: 1rem;
}
.dates dt {
  color: #eb212e;
  text-align: right;
}
.dates dt::after {
  content: ': ';
}
.dates dd {
  text-align: left;
}
.dates a {
  color: inherit;
}
.dates .button {
  font-size: 1.1rem;
  margin: 0;
  padding: 0.3rem 0.6rem;
}
@media screen and (min-width: 480px) {
  .dates .button {
    font-size: 1.4rem;
    padding: 0.7rem 1.2rem;
  }
}
@media screen and (min-width: 640px) {
  .dates .button {
    font-size: 1.6rem;
    padding: 1rem 2rem;
  }
}
.announcement {
  display: flex;
  flex-wrap: wrap;
  font-size: calc(4vw + 3px);
  text-transform: uppercase;
  margin: 0 auto;
}
@media screen and (min-width: 640px) {
  .announcement {
    font-size: 3rem;
  }
}
.announcement dd,
.announcement dt {
  text-align: center;
}
.announcement dt {
  color: #fff;
  width: 65%;
}
.announcement dd {
  width: 35%;
  margin-top: -0.5rem;
}
.announcement a {
  color: #fff;
}
.announcement .button {
  background-color: #4a4a4a;
  border: 1px solid #000;
  border-radius: .5rem;
  font-size: 1.1rem;
  margin: 0;
  padding: 0.3rem 0.6rem;
}
.announcement .button:hover {
  background-color: #1F1F1F;
}
@media screen and (min-width: 480px) {
  .announcement .button {
    font-size: 1.4rem;
    padding: 0.7rem 1.2rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 640px) {
  .announcement .button {
    font-size: 1.6rem;
    padding: .5rem 2rem;
  }
}
.view-more {
  font-size: 1.4rem;
  font-style: italic;
  max-width: 64rem;
  text-align: center;
  margin: 1rem;
}
.view-more a {
  color: #696969;
}
.organized-by {
  align-items: center;
  color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 640px) {
  .organized-by {
    flex-direction: row;
  }
}
.organized-by li {
  background: center center no-repeat;
  background-size: contain;
  margin: 1rem;
  max-width: 100%;
  width: 30rem;
}
@media screen and (min-width: 960px) {
  .organized-by li {
    margin: 2rem;
    width: 40rem;
  }
}
@media screen and (min-width: 1440px) {
  .organized-by li {
    width: 51.2rem;
  }
}
.organized-by .fight-for-the-future {
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/fight-for-the-future.png?1480360466050');
  height: 3.9rem;
}
@media screen and (min-width: 640px) {
  .organized-by .fight-for-the-future {
    bottom: -1.7rem;
    position: relative;
  }
}
@media screen and (min-width: 960px) {
  .organized-by .fight-for-the-future {
    bottom: -2.3rem;
    height: 5.2rem;
  }
}
@media screen and (min-width: 1440px) {
  .organized-by .fight-for-the-future {
    height: 6.6rem;
  }
}
.organized-by .firebrand-records {
  background-image: url('https://s3.fightforthefuture.org/rockagainstthetpp/images/firebrand-records.png?1480360466051');
  height: 11rem;
}
@media screen and (min-width: 960px) {
  .organized-by .firebrand-records {
    height: 14.3rem;
  }
}
@media screen and (min-width: 1440px) {
  .organized-by .firebrand-records {
    height: 18.3rem;
  }
}
.org-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.logo {
  background-color: #fff;
  border-radius: 4px;
  color: transparent;
  height: 8rem;
  margin: 2rem;
  overflow: hidden;
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  width: 20rem;
}
.logo img {
  position: absolute;
  top: 0;
  left: 0;
}
.action_bar {
  bottom: 0;
  left: 0;
  display: none;
  padding: 0.3rem 0.1rem 0.4rem 0.1rem;
  position: fixed;
  width: 100%;
  border-top: 1rem solid #791017;
  background: #ab151e;
  z-index: 9001;
  font-weight: 600;
  text-align: center;
}
.action_bar a {
  text-decoration: none;
}
.action_bar .close-modal:hover {
  background: #791017;
}
.underline h3 {
  border-bottom: 5px solid #000;
}
.phone {
  width: 80px;
  padding-top: 10px;
}
.sub-info {
  color: black;
  font-style: italic;
}
.close-box {
  float: right;
  color: #000;
  text-transform: uppercase;
  font-weight: 600;
  padding: .5rem;
}
.close-box a {
  pointer: cursor;
}
.call {
  padding: .5rem;
  margin: 2rem;
}
/*# sourceMappingURL=core.css.map */