@import "https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700";

@keyframes pulse { 0% { color:#FCDBD8 } 100% { color:#F2665A } }
	
@media screen and (max-width: 39.99em) {
	.ticketPusher { margin-top: 1rem; padding-bottom:1rem!important; }

	.publicVenue .dateBox { background:#aaa; border-bottom:1px solid #aaa }

	.dateBox :last-child:not(.is-active)>.accordion-title { border:none }

	.publicpage.paper .accordion-holder h1 { font-size:2.25rem; line-height:1.2; margin:0 0 .75rem; padding:0 1rem; text-align:center }

	.pubPromo2018 .accordion-content { background:#fafafa; border:solid #aaa; border-radius:0!important; border-width:0 1px; padding:0 }

	.pubPromo2018 a.accordion-title.themeImgA { background:linear-gradient(#999,#888)!important; border:none; border-radius:0; color:#fff!important; display:block; font-size:15px; font-weight:400; padding:.5rem 1rem .65rem; text-align:left; transition:.6s; width:100% }

	.pubPromo2018 .accordion-title.showTile:before { display:none }

	.pubPromo2018 .themeHolder { background:#fff; border:none; margin-bottom: 0; padding-left: 0; position:relative }

	.pubPromo2018 .themeHolder .descriptionOpener { background:rgba(255,255,255,.85); border:1px solid #18949E; border-radius:4px; box-shadow:0 2px 4px #555; cursor:pointer; float:right; font-family: 'Open Sans', sans-serif; font-size:15px; font-weight:400; padding:.35rem .6rem; position:absolute; right:1rem; text-align:right; top:3rem }

	.reveal.themeReveal { background:rgba(255,255,255,.95)!important; border-color:#aaa; border-style:solid; border-width:0 1px; overflow:hidden; padding:0 0 2rem; text-align:center }

	.reveal.themeReveal h2 { background:rgba(29,180,189,.85)!important; color:#fff; margin:0 0 2rem; padding:.6rem 0; text-align:center; text-transform:none }

	.reveal.themeReveal .close-button { color:#fff }

	.themeReveal p { font-family: 'Open Sans', sans-serif; font-size:14px; line-height:1.6; margin:0 2rem }
	.themeReveal p:not(:last-of-type) { margin-bottom:1rem }

	.themeReveal p:last-of-type { margin-bottom:0 }

	.pubPromo2018 .themeHolder img { filter:blur(0) saturate(100%); margin-bottom:0!important; transition:.6s ease-in-out; width:100% }

	.pubPromo2018 .themeHolder.open img { filter:blur(5px) saturate(80%); transition:.6s ease-in-out }

	.hamsterslapper { line-height:1.125; padding-left:0!important }

	.publicVenue .dateBox .input-group { -webkit-transition:none; background:none; border:none; border-top:none; margin:0; padding:0; transition:none }

	.publicVenue .dateBox .input-group-label { background:#f9f9f9; border:solid #aaa; border-radius:0; border-width:1px 1px 0; display:block; font-size:16px; font-weight:400; margin-left:0; padding:.7rem 1rem; text-align:left; transition:.1s; width:100% }

	.publicVenue .dateBox .is-active .input-group-label { background:#f3f3f3; border-color:#aaa; border-radius:0; border-style:solid; border-width:1px 1px 0 }

	.publicVenue .dateBox .show_date { color:#999 }

	.publicVenue .dateBox .show_time { display:block }

	.publicVenue .dateBox .is-active .show_date { color:#333 }

	.hamsterholder { padding:1rem }

	.hamsterslapper { margin-bottom:0!important }

	.hamsterslapper .input-radio { display:none }

	.hamsterslapper:hover .input-group-label { background:#F7F1D6; border-radius:0; transition:.1s }

	.hamsterslapper:hover .input-group-label .show_date { color:#666 }

	.show_date { color:#36424A; font-family: 'Open Sans', sans-serif; font-weight:500 }

	.ticketInfo { display:none }
	
	.publicVenue .dateBox .on_sale { background:#4F973D; border:1px solid #333; border-radius:3px!important; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:300; padding:7px; position:absolute; right:1rem; text-transform:uppercase; top:.8rem }
	
	.publicVenue .dateBox .soldOut { background:#CB4830; border-radius:3px!important; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:300; padding:7px; position:absolute; right:1rem; text-transform:uppercase; top:1rem }
	
	.publicVenue .dateBox .is-active .on_sale .percentOff { background: #5E8436; border-radius: 2px; color: #D7E8BE; font-size: .75em; font-weight: 400; margin-right: 6px; padding: 2px 5px; }
	.publicVenue .dateBox .is-active .off_sale .percentOff { display: none; }

	.publicVenue .dateBox .is-active .on_sale { background:none; border:none; color:#1DB4BD; font-family: 'Open Sans', sans-serif; font-size:25px; font-weight:600; padding:0; position:absolute; right:1rem; top:.8rem }

	.publicVenue .dateBox .off_sale { color:#999; font-family: 'Open Sans', sans-serif; font-size:25px; font-weight:600; position:absolute; right:1rem; top:.8rem; white-space:pre }

	.publicVenue .dateBox .is-active .off_sale { color:#1DB4BD }

	.publicVenue .dateBox .onFire:not(.on_sale) { background:url(https://www.grimprov.com/img/public/hot-ticket.png) left center no-repeat; padding-left:28px }

	.buyBox.row { border-radius:0!important; margin:0!important; padding:2rem 0 0!important }

	.publicVenue .dateBox form.is-active .on_sale:after,.publicVenue .dateBox .off_sale:after { content:""; display:inline-block; font-size:9px; line-height:1.1; margin-left:4px; max-width:30px; text-transform:none }

	.progressor.row { display:none; margin-bottom:3rem }

	.progressor span { color:#ccc; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:600; margin:.5rem; padding:.125rem 0 }

	.progressor span.currentProgress { border-bottom:3px solid #ccc; border-top:3px solid #ccc; color:#999 }

	.qtySlct { margin:2.5rem 0 }

	.qtySlct * { -moz-user-select:none; -ms-user-select:none; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none }

	.typeSlct { padding:3rem 0 }

	.qtySlct > div > div,.qtySlct > div > input { margin-bottom:0 }

	.qtySlct.row .small-2 { padding:0 }

	.button.buttonQS { border-radius:32px; font-size:39px; font-weight:300; height:42px; padding:0; width:42px }

	.dec.buttonQS { font-size:36px; padding:4px }

	.ticketQty { background:none!important; border:none!important; box-shadow:none!important; font-family: 'Open Sans', sans-serif; font-size:32px!important; font-weight:500!important; padding:0 .25rem!important; text-align:center!important }

	.pickQty span,.pickType span { color:#777; font-family: 'Open Sans', sans-serif; font-size:24px; font-weight:300 }

	.pickQty span.hmaxRem { animation:pulse 2s alternate infinite; color:#F2665A; display:block; font-size:16px; font-weight:500; margin-top:8px }

	.buyStep02,.buyStep03 { display:none }
	
	.buySum span.button { font-family: 'Open Sans', sans-serif; font-weight:500; margin:0 .25rem }
	.button.hollow.secondary.okayStop,.button.hollow.secondary.okayNo { border: 1px solid #726d87; color: #726d87 }
	
	.okayRow { background:#e6e6e6; border-radius:0!important; padding:.5rem 0!important }
	
	.okayGo { color:#fff!important; min-width:140px }
	
	.okayUpgrade { color:#fff!important }
	
	.pickType > .column:first-of-type { margin-bottom:2.5rem }
	
	.pickType .vipInfo { background:linear-gradient(#FAFADD,#F1F5e4); border:1px solid #eAeAcD; margin-right:1rem; padding:.9375rem }
	
	.pickType .vipInfo h5 { color:#76bb4d; font-family: 'Open Sans', sans-serif; font-size:28px; margin:-.5rem 0 0; padding:6px; text-align:center; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,2px 2px 3px #444 }
	
	.pickType .vipInfo span { color:#333; display:block; font-size:13px; font-weight:500; line-height:1.6; padding:12px }
	
	.pickType table .has-tip { display:inline; font-size:inherit; padding:0 }
	
	.pickType table td,.pickType table th:not(.vipInfo) { display:none }
	
	h3.venue-name, .additionalVenueInfo > .callout > h4 { background: #cc0105; color: #fff; font-family: 'Open Sans', sans-serif; font-size: 21px !important; margin: -1rem -1rem 1rem !important; padding: .5rem; text-align: center !important; }
	
	.column.venueInfo > .callout > h4, p.venue-address { font-family: 'Open Sans', sans-serif; font-weight: 300; text-align: center }
	p.venue-address { font-size: 16px; margin-bottom: 1rem }
	
	.venueInfo, .additionalVenueInfo .callout { margin-bottom: 1rem }
	
	.toVIP { display: none; }
	
	.pickType.row table { margin-bottom: 0 }
	
	.secretPromoOpener { background: linear-gradient(#DAEDB3, #8DD74B); color: #222; font-family: 'Open Sans', sans-serif; font-size: 17px; font-weight: 600; line-height: 1; margin: 0 auto; padding: 1.15rem 1.5rem; position: absolute; top: 45px; text-align: center; text-transform: uppercase; width: 100%; }
	
	#secretPromoHolder { background: linear-gradient(#fff,#DAEDB3); border-radius: 3px; }
	#secretPromoHolder button { font-size: 36px; top: 7px; }
	#secretPromoHolder button span { color: #354B36; }
	#secretPromoHolder h3 { background: #8DD74B; color: #fff; font-family: 'Open Sans', sans-serif; font-size: 26px; font-weight: 600; padding: .5rem 0; text-align: center; text-shadow: 0 1px 3px #111; text-shadow: 0 1px 3px #111; }
	#secretPromoHolder p { font-family: 'Open Sans', sans-serif; font-size: 20px; margin-top: 5rem; margin-bottom: 0; padding: 1rem; text-align: center; }
	#secretPromoHolder p > span.thePromoCode { background: rgba(255,255,255,.9); border: 2px dashed #222; border-radius: 3px; display: block; font-size: .85em; font-weight: 700; margin: .4rem 0; padding: .5rem; }
	#secretPromoHolder p:last-of-type { font-size: 14px; margin-bottom: 1rem; padding: 0 1rem; }

}

	@media screen and (min-width: 22.5em) {
		.toVIP { display: inline; }
	}

@media screen and (min-width: 40em) {
	.ticketPusher { border-bottom:1px solid #e3e3e3; margin-bottom: 2rem; padding-bottom:2rem!important; padding-top:0!important }

	.publicVenue .dateBox { background:#aaa; border-bottom:1px solid #aaa; border-radius:0 }

	.dateBox :last-child:not(.is-active)>.accordion-title { border:none; border-radius:0 }

	.publicpage.paper .accordion-holder h1 { font-size:2.25rem; line-height:1.2; margin:0 0 .75rem; padding:0 1rem; text-align:center }

	.column.venueInfo { margin-bottom: 1rem; padding-right:0 }
	.additionalVenueInfo > .callout { margin-bottom: 1rem; }
	
	.column.venueInfo > .callout { border-color: #726d87; border-top: none }
	
	h3.venue-name, .additionalVenueInfo > .callout > h4 { background: #cc0105; color: #fff; font-family: 'Open Sans', sans-serif; font-size: 18px !important; margin: -1rem -1rem 1rem !important; padding: .5rem; text-align: center !important; font-weight: bold; }
	
	.column.venueInfo > .callout > h4, p.venue-address { font-family: 'Open Sans', sans-serif; text-align: center; }
	.column.venueInfo > .callout > h4 {
		font-weight: bold;
	}
	p.venue-address { font-size: 20px; margin-bottom: 1rem; }

	.pubPromo2018 .accordion-content { background:#fafafa; border:solid #aaa; border-radius:0!important; border-width:0 1px; padding:0 }

	.pubPromo2018 a.accordion-title.themeImgA { background:linear-gradient(#999,#888) !important; border:none; border-radius:0; color:#fff; display:block; font-size:15px; font-weight:400; padding:.5rem 1rem .65rem; text-align:left; transition:.6s; width:100% }

	.pubPromo2018 .accordion-title.showTile:before { display:none }

	.pubPromo2018 .themeHolder { background:#fff; border:none; margin-bottom: 0; padding-left: 0; position:relative }

	.pubPromo2018 .themeHolder .descriptionOpener { background:rgba(255,255,255,.85); border:1px solid #18949E; border-radius:4px; box-shadow:0 2px 4px #555; cursor:pointer; float:right; font-family: 'Open Sans', sans-serif; font-size:15px; font-weight:400; padding:.35rem .6rem; position:absolute; right:1rem; text-align:right; top:3rem }

	.reveal.themeReveal { background:rgba(255,255,255,.85)!important; border-color:#aaa; border-style:solid; border-width:0 1px; overflow:hidden; padding:0 0 2rem; text-align:center }

	.reveal.themeReveal h2 { background:rgba(29,180,189,.85)!important; color:#fff; font-family: 'Open Sans', sans-serif; font-size: 1.65em; font-weight: normal; margin:0 0 2rem; padding:.6rem 0; text-align:center; text-shadow: 0 2px 3px #666; text-transform:none }

	.reveal.themeReveal .close-button { color:#fff }

	.themeReveal p { font-family: 'Open Sans', sans-serif; font-size:14px; line-height:1.6; margin:0 2rem }
	.themeReveal p:not(:last-of-type) { margin-bottom: 1rem; }

	.themeReveal p:last-of-type { margin-bottom:0 }

	.pubPromo2018 .themeHolder img { filter:blur(0) saturate(100%); margin-bottom:0!important; transition:.6s ease-in-out; width:100% }

	.pubPromo2018 .themeHolder.open img { filter:blur(5px) saturate(80%); transition:.6s ease-in-out }

	.hamsterslapper { line-height:1.125; padding-left:0!important }

	.publicVenue .dateBox .input-group { -webkit-transition:none; background:none; border:none; border-top:none; margin:0; padding:0; transition:none }

	.publicVenue .dateBox .input-group-label { background:#f9f9f9; border:solid #aaa; border-radius:0; border-width:1px 1px 0; display:block; font-size:16px; font-weight:400; margin-left:0; padding:.7rem 1rem; text-align:left; transition:.1s; width:100% }

	.publicVenue .dateBox .is-active .input-group-label { background:#f3f3f3; border-color:#aaa; border-radius:0; border-style:solid; border-width:1px 1px 0 }

	.publicVenue .dateBox .show_date { color:#999 }

	.publicVenue .dateBox .is-active .show_date { color:#333 }

	.hamsterholder { padding:1rem }

	.hamsterslapper { margin-bottom:0!important }

	.hamsterslapper .input-radio { display:none }

	.hamsterslapper:hover .input-group-label { background:#F7F1D6; transition:.1s }

	.hamsterslapper:hover .input-group-label .show_date { color:#666 }

	.show_date { color:#36424A; font-family: 'Open Sans', sans-serif; font-weight:500 }

	.ticketInfo { display:block; font-size:12px; margin-top:8px }

	.publicVenue .dateBox .on_sale { background:#4F973D; border:1px solid #1F670D; border-radius:3px!important; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:300; padding:7px; position:absolute; right:1rem; text-transform:uppercase; top:1rem }	

	.publicVenue .dateBox .soldOut { background:#CB4830; border-radius:3px!important; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:300; padding:7px; position:absolute; right:1rem; text-transform:uppercase; top:1rem }	
	
	.publicVenue .dateBox .is-active .on_sale .percentOff { background: #5E8436; border-radius: 2px; color: #D7E8BE; font-size: .75em; font-weight: 400; margin-right: 6px; padding: 2px 5px; }
	.publicVenue .dateBox .is-active .off_sale .percentOff { display: none; }

	.publicVenue .dateBox .is-active .on_sale { background:none; border:none; color:#1DB4BD; font-family: 'Open Sans', sans-serif; font-size:25px; font-weight:600; padding:0; position:absolute; right:1rem; top:1rem }

	.publicVenue .dateBox .off_sale { color:#999; font-family: 'Open Sans', sans-serif; font-size:25px; font-weight:600; position:absolute; right:1rem; top:1rem; white-space:pre }

	.publicVenue .dateBox .is-active .off_sale { color:#1DB4BD }

	.publicVenue .dateBox .onFire:not(.on_sale) { background:url(https://www.grimprov.com/img/public/hot-ticket.png) left center no-repeat; padding-left:28px }

	.buyBox.row { border-radius:0!important; margin:0!important; padding:2rem 0 0!important }

	.publicVenue .dateBox form.is-active .on_sale:after,.publicVenue .dateBox .off_sale:after { content:""; display:inline-block; font-size:9px; line-height:1.1; margin-left:4px; max-width:30px; text-transform:none }

	.progressor.row { display:none; margin-bottom:3rem }

	.progressor span { color:#ccc; font-family: 'Open Sans', sans-serif; font-size:12px; font-weight:600; margin:.5rem; padding:.125rem 0 }

	.progressor span.currentProgress { border-bottom:3px solid #ccc; border-top:3px solid #ccc; color:#999 }

	.qtySlct { margin:5rem 0 }

	.qtySlct * { -moz-user-select:none; -ms-user-select:none; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none }

	.typeSlct { padding:3rem 0 }

	.qtySlct > div > div,.qtySlct > div > input { margin-bottom:0 }

	.qtySlct.row .small-2 { padding:0 }

	.button.buttonQS { border-radius:32px; font-size:39px; font-weight:300; height:42px; padding:0; width:42px }

	.dec.buttonQS { font-size:36px; padding:4px }

	.ticketQty { background:none!important; border:none!important; box-shadow:none!important; font-family: 'Open Sans', sans-serif; font-size:32px!important; font-weight:500!important; padding:0 .25rem!important; text-align:center!important }

	.pickQty span,.pickType span { color:#777; font-family: 'Open Sans', sans-serif; font-size:32px; font-weight:300 }

	.pickQty span.hmaxRem { animation:pulse 2s alternate infinite; color:#F2665A; display:block; font-size:16px; font-weight:500; margin-top:8px }
	
	.buyStep02,.buyStep03 { display:none }
	
	.buySum span.button { font-family: 'Open Sans', sans-serif; font-weight:500; margin:0 .25rem }
	.button.hollow.secondary.okayStop,.button.hollow.secondary.okayNo { border: 1px solid #726d87; color: #726d87 }
	
	.okayRow { background:#e6e6e6; border-radius:0!important; padding:.5rem 0!important }
	
	.okayGo { color:#fff!important; min-width:140px }
	
	.okayUpgrade { color:#fff!important; min-width:180px }
	
	.pickType > .column:first-of-type { margin-bottom:3rem }
	
	.pickType .vipInfo { background:linear-gradient(#FAFADD,#F1F5e4); border:none; margin-right:1rem; margin-top:36px; padding:0 }
	
	.pickType .vipInfo h5 { color:#76bb4d; font-family: 'Open Sans', sans-serif; font-size:28px; margin:-.5rem 0 0; padding:6px; text-align:center; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,2px 2px 3px #444 }
	
	.pickType .vipInfo span { color:#333; display:block; font-size:13px; font-weight:500; line-height:1.6; padding:12px }
	
	.pickType table { border-collapse:collapse; box-shadow:8px 8px 2px #aaa; margin-bottom:3rem }
	
	.pickType table .has-tip { display:inline; font-size:inherit; padding:0 }
	
	.pickType table td,.pickType table th { font-family: 'Open Sans', sans-serif; font-size:12px; text-align:center; transition:.5s }
	
	.pickType table td:not(.empty):hover { border-radius:4px; box-shadow:0 1px 2px #555; color:#555; transform:scale(1.15,1.15) }
	
	.pickType table tr > :nth-child(2),.pickType table tbody tr:not(:first-child) > td:first-child { background:#eee; border-bottom:1px solid #ddd; color:#888 }
	
	.pickType table tr > :not(:first-child) { width:25% }
	
	.pickType table tr > :last-child { background:#D3F3B9; border-bottom:1px solid #c3d3a9 }
	
	.secretPromoOpener { background: linear-gradient(#DAEDB3, #8DD74B); border-radius: 0 0 4px 4px; box-shadow: 0 4px 6px #222; color: #222; font-family: 'Open Sans', sans-serif; font-size: 21px; font-weight: 700; line-height: 1; margin: 0 auto; padding: 1rem 1.5rem; position: absolute; top: 0; text-align: center; text-transform: uppercase; transition: .6s; width: 420px; left: 0; right: 0; }
	.secretPromoOpener:hover { color: #3B3B3B; padding-top: 1.25rem; }
	
	#secretPromoHolder { background: linear-gradient(#fff,#DAEDB3); border-radius: 3px; }
	#secretPromoHolder button { font-size: 36px; top: 7px; }
	#secretPromoHolder button span { color: #354B36; }
	#secretPromoHolder h3 { background: #8DD74B; color: #fff; font-family: 'Open Sans', sans-serif; font-size: 26px; font-weight: 600; padding: .5rem 0; text-align: center; text-shadow: 0 1px 3px #111; text-shadow: 0 1px 3px #111; }
	#secretPromoHolder p { font-family: 'Open Sans', sans-serif; font-size: 20px; margin-bottom: 0; padding: 1rem; text-align: center; }
	#secretPromoHolder p > span.thePromoCode { background: rgba(255,255,255,.9); border: 2px dashed #222; border-radius: 3px; font-size: .7em; font-weight: 700; padding: .35rem .5rem; }
	#secretPromoHolder p:last-of-type { font-size: 14px; margin-bottom: 1rem; padding: 0 1rem; }
}
.callout {
	background: #ededed;
}
.dinner_course {
	background:#c3c3c3;
	font-weight: bold;
}
