@media screen and (max-width: 1000px) {

  /* responsive overrides for NO */
  * {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  img {
    max-width: 100%;
  }

  /* general page structure; small-screen */
  #container {
    width: 65%;
  }

  .navbar .brand svg {
    top: 3px;
  }

  body.standard #orderbodyContainer,
  #orderbodyContainer {
    width: 100%;
    float: left;
  }

  #orderbody,
  body.custom #orderbody {
    width: 100%;
    max-width: 700px;
    padding: 3%;
  }

  body.standard #orderbody {
    padding-top: 0;
  }

  body.standard #footer,
  body.custom #footer {
    padding: 0;
    width: 100%;
    margin: 0;
    font-size: 11px;
    line-height: 1.5em;
  }

  #footer {
    clear: both;
  }

  #footer p,
  body.custom #footer p {
    padding: 10px 15px;
    margin: 0;
  }

  h2 {
    font-size: 16px;
    line-height: 1.2em;
    margin-bottom: 10px;
  }

  #form {
    padding: 0;
  }

  /* event list, event status; used on the nosale and crossdomain event listing pages */
  .eventStatus {
    font-size: 20px;
    line-height: 1.5em;
    margin: 10px 0;
  }

  .eventList p,
  .eventList ul {
    margin: 0;
    line-height: 1.2em;
  }

  .eventList ul {
    margin: 20px 0 20px;
  }

  /* rework the pixel-perfect block structure */
  .blocks {
    margin: 0;
  }

  .blocks div {
    display: block;
    float: none;
    margin: 0;
  }

  .blocks .vertright {
    margin: 0;
    padding: 0;
    border: 0;
  }

  #orderbody .blocks .vertright hr {
    display: none;
  }

  .oneW,
  .twoW,
  .threeW,
  .fourW,
  .fiveW,
  .sixW,
  .sevenW,
  .eightW {
    width: 100%;
  }

  .blocks hr.tight {
    margin: 5px 0;
  }

  .blocks div.has-tracker div.submit-buttons {
    position: static;
  }

  .blocks #donation-tracker {
    margin-top: 20px;
  }

  /* sometimes blocks are used just to space things out; we don't do that anymore */
  .blocks div.spacer {
    display: none;
  }

  /* top event info */
  .top-event-info br {
    display: none;
  }

  #orderbody .order-section {
    margin-top: 10px;
    border-style: dotted;
    border-color: #DDD;
    border-width: 1px 0 0;
    padding-top: 10px;
    overflow: hidden;
  }

  #orderbody .order-section hr {
    display: none;
  }

  #orderbody .order-section h3 {
    margin: 0 0 2px;
  }

  /*-- order items page --*/
  .ticket_grouping {
    margin-bottom: 25px;
  }

  .item-headers {
    clear: both;
    overflow: hidden;
    padding-bottom: 10px;
    border-bottom: dotted 1px #999;
    margin-bottom: 10px;
  }

  #orderbody .item-headers hr {
    display: none;
  }

  .item-headers .item-header,
  .item-lines .item-line {
    float: left;
    text-transform: none;
  }

  .item-headers .thumb-header {
    display: none;
  }

  div.flex-28px {
    height: 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .blocks div.item-description {
    margin: 0;
    clear: none;
    width: 100%;
    float: left;
  }

  .with-thumbs div.item-description {
    width: 90%;
    float: right;
  }

  /* ticket thumbnail holder; hide by default (it acts as a spacer in normal view but we don't
       want it taking space in responsive) */
  .blocks .tickThumb {
    display: none;
  }

  .with-thumbs .tickThumb {
    display: block;
    float: left;
    width: 10%;
    padding-right: 8px;
    text-align: left;
  }

  .tickThumb a {
    display: block;
  }

  div.tickThumb img {
    padding: 0;
    float: right;
  }

  /* item header/line */
  .type-header,
  .type-line {
    width: 35%;
    padding-right: 5px;
  }

  .with-thumbs .type-header {
    padding-left: 10%;
  }

  .with-thumbs .type-line {
    width: 25%;
  }

  /* item qty header/line */
  .quantity-header,
  .quantity-line {
    width: 25%;
  }

  /* amount/subtotal header/line */
  .amount-header,
  .amount-line,
  .subtotal-header,
  .subtotal-line {
    width: 20%;
    text-align: right;
  }

  #orderbody .item-divider {
    display: none;
  }

  .blocks .promo-code-input {
    width: 35%;
    float: left;
  }

  .blocks .promo-code-input input {
    margin: 0;
    width: 100%;
  }

  .blocks .promo-code-button {
    margin-left: 2%;
    width: 10%;
    float: left;
  }

  #coupon_error,
  #password_error {
    margin-left: 2%;
    width: 51%;
    float: left;
  }

  #promoDescAll h3,
  #promoDescAll hr {
    display: none;
  }

  #promoDescripts {
    margin: 5px 0;
  }

  .order-referral input {
    width: 35%;
  }

  .blocks .order-totals {
    text-align: right;
  }

  .order-totals h3 {
    display: none;
  }

  .blocks .order-total-label {
    width: 65%;
    float: left;
    clear: left;
  }

  .blocks .order-total-item {
    width: 35%;
    float: left;
  }

  .blocks .order-total-discount-note {
    width: 100%;
    text-align: right;
  }

  .blocks .order-grand-total {
    font-size: 14px;
  }

  /*-- end order items page --*/

  /*-- seating page --*/
  .blocks div.currentSeats {
    float: left;
    width: 60%;
  }

  /*-- end seating page --*/

  /*-- item registration page --*/
  .registration .ticket {
    border-top: solid 3px #DDD;
  }

  .registration .ticket ul {
    width: 100%;
  }

  .registration .ticket strong {
    display: block;
    float: none;
    width: 100%;
    padding-bottom: 10px;
    border-bottom: dotted 1px #999;
    margin-bottom: 10px;
  }

  .registration .field {
    width: 100%;
    margin-bottom: 8px;
    overflow: hidden;
  }

  .registration .field label {
    width: 40%;
    padding: 0 7px 0 0;
    line-height: 1.2em;
    float: left;
    clear: left;
  }

  .registration .field input {
    margin: 0;
    width: 60%;
    float: right;
  }

  /*-- end item registration page --*/

  /*-- separate donation page --*/
  .separate-donation .donation-line {
    overflow: hidden;
  }

  .separate-donation .donation-description {
    width: 50%;
    float: left;
  }

  .separate-donation .donation-amount {
    width: 50%;
    float: right;
  }

  /*-- order payment page --*/
  .order-status {
    padding: 5px;
    border: dotted 1px #999;
  }

  #orderbody .order-status hr {
    display: none;
  }

  .order-status h3 {
    margin: 0;
    text-transform: none;
  }

  .blocks .order-status-items {
    padding-bottom: 5px;
    border-bottom: dotted 1px #999;
    margin-bottom: 5px;
  }

  .order-status-items .item-lines {
    margin-top: 5px;
  }

  .order-status-items .quantity-header,
  .order-status-items .quantity-line,
  .order-status-items .subtotal-header,
  .order-status-items .subtotal-line {
    padding-right: 10px;
  }

  .order-status-items .subtotal-header,
  .order-status-items .subtotal-line {
    padding-right: 2px;
  }

  .payment-login {
    overflow: hidden;
  }

  .blocks .payment-login-label {
    float: left;
    width: 15%;
  }

  .blocks .payment-login-input {
    float: left;
    margin-left: 2%;
    width: 23%;
  }

  .blocks .payment-login-submit,
  .blocks .giftcard-submit {
    float: left;
    width: 18%;
    margin-left: 2%;
    text-align: right;
  }

  .payment-login-input input,
  .giftcard-item input {
    width: 100%;
    margin: 0;
  }

  .payment-login-submit input,
  .giftcard-submit input {
    width: 100px;
  }

  .paytype .main {
    margin-bottom: 10px;
  }

  .blocks .payment-label,
  .blocks .giftcard-label {
    clear: left;
    float: left;
  }

  .blocks .payment-label {
    width: 32%;
  }

  .blocks .payment-item {
    float: left;
    margin-left: 2%;
    width: 66%;
  }

  .payment-credit input {
    width: 100%;
  }

  .blocks .giftcard-label {
    width: 16%;
  }

  .blocks .giftcard-item {
    float: left;
    margin-left: 2%;
    width: 23%;
  }

  #giftcard-form {
    border-bottom: none;
  }

  .giftcard-balance {
    width: 49%;
  }

  /* these images have hardcoded dimensions, along with borders; content-box ensures they
       display correctly */
  .payment-credit img {
    -mox-box-sizing: content-box;
    box-sizing: content-box;
  }

  ul.dtypeopts {
    margin: 0;
  }

  .address-fields {
    overflow: hidden;
  }

  .blocks .address-label {
    clear: left;
    float: left;
    width: 35%;
  }

  .blocks .address-label label {
    line-height: 1.2em;
    line-height: 25px;
  }

  .blocks .address-input {
    float: left;
    margin-left: 4%;
    width: 61%;
  }

  .blocks .address-input input,
  .blocks .address-input select {
    width: 100%;
    margin: 2px 0;
    vertical-align: middle;
  }

  .payment-note p {
    margin: 5px 0;
  }

  /* order approve pages */
  .approve-details {
    background: white;
  }

  .approve-details p {
    text-align: left;
  }

  .approve-details .num {
    text-align: right;
  }

  .approve-totals .order-total-label {
    text-align: left;
    width: 30%;
    font-weight: bold;
  }

  .approve-totals .order-total-item {
    text-align: left;
    margin-left: 2%;
    width: 68%;
  }

  .mobile-fields div {
    text-align: left;
  }

  .blocks .terms-conditions {
    float: none;
  }

  /* the "notify" form style, used on the eregister and "notify me" pages */
  .notifyForm {
    width: 100%;
    margin: 0;
    padding: 10px 0;
    border-color: #999;
    border-width: 1px 0 0;
    border-style: solid;
    font-size: 13px;
    line-height: 1.5em;
  }

  .signinForm {
    padding: 0;
    border: 0;
    margin: 0 0 15px;
  }

  .signinForm .buttons .submit {
    float: left;
  }

  .signinForm .buttons .forgot-password {
    float: right;
    font-size: 12px;
    line-height: 32px;
  }

  .signinForm .buttons {
    overflow: auto;
  }

  h2.signin-header {
    border: solid 1px #CCC;
    border-width: 0 0 1px;
    padding: 0 0 5px;
    margin: 0 0 8px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    word-spacing: 0.1em;
    color: #444;
    font-size: 14px;
  }

  /* the presales notify form doesn't need a border at all */
  .presales {
    border: 0;
  }
}

@media screen and (max-width: 900px) {

  #container {
    width: 75%;
  }

}

@media screen and (max-width: 800px) {

  #container {
    width: 85%;
  }

  /* linearize login form */
  .blocks .payment-login-label,
  .blocks .giftcard-label {
    clear: left;
    width: 25%;
  }

  .blocks .payment-login-input {
    margin-left: 2%;
    width: 43%;
  }

  .blocks .giftcard-item {
    margin-left: 2%;
    width: 43%;
  }

  /* skip side-by-side at smaller widths */
  .top-event-info .twoW,
  .top-event-info .sixW {
    width: 100%;
    float: none;
    text-align: left;
  }

}

@media screen and (max-width: 398px) {
  .blocks .giftcard-label label {
    line-height: 16px;
  }
}

@media screen and (max-width: 550px) {
  #container {
    width: 95%;
  }

  #orderbody .order-section {
    border-style: solid;
    border-width: 3px 0 0;
  }

  .blocks .promo-code-input {
    width: 75%;
  }

  #coupon_error,
  #password_error {
    width: 100%;
    margin: 5px 0 0;
    clear: left;
  }

  .blocks .order-referral input {
    width: 75%;
  }

  .notifyForm .fields label {
    width: 100%;
    float: none;
  }

  .notifyForm .fields input {
    width: 100%;
    float: none;
  }

  .blocks div.currentSeats {
    float: none;
    width: 100%;
  }

}

@media screen and (max-width: 500px) {

  /* make the brand a bit smaller */
  /* we use the 2x image here along with background-size to always serve the retina-friendly
       image. The size difference is not enough to invoke a double download to only retina browsers, so we always serve it. */
  .navbar .brand {
    width: 200px;
    height: 28px;
  }

  .navbar .brand svg {
    height: 22px;
    width: auto;
  }

  .navbar .navbar-inner {
    padding: 5px 0 5px 10px;
  }

  .navbar .nav>li>a {
    padding: 7px;
  }

  .top {
    padding-top: 60px;
  }

  body.standard #container {
    margin-top: 10px;
  }

  .blocks .payment-login-input {
    width: 73%;
  }

  .blocks .payment-login-submit,
  .blocks .giftcard-submit {
    clear: left;
    width: 100%;
    margin: 5px 0 0;
  }

  .blocks .giftcard-label {
    width: 27%;
  }

  .blocks .giftcard-item {
    width: 71%;
  }

  .giftcard-balance {
    width: 73%;
  }

  .separate-donation .donation-description {
    width: 100%;
    float: none;
  }

  .separate-donation .donation-amount {
    width: 100%;
    float: none;
  }

}

/* remove side-by-side finalize order button and note */
@media screen and (max-width: 400px) {
  .finalize-order input {
    width: auto;
    float: none;
  }

  .finalize-order p {
    width: 100%;
    float: none;
    margin: 5px 0;
  }
}

/* support retina images for larger screens; specify width to avoid double download. We don't
   serve this @2x in the main CSS because IE < 9 doesn't support background-size, so we want to be
   a little more selective when serving up the normal image.
   https://gist.github.com/marcedwards/3446599 for an explanation of the query */
@media only screen and (min-width: 501px) and (-webkit-min-device-pixel-ratio: 1.3),
only screen and (min-width: 501px) and (-o-min-device-pixel-ratio: 13/10),
only screen and (min-width: 501px) and (min-resolution: 120dpi) {}
