/*  Basic reset  */
* { padding: 0; margin: 0; border: 0; box-sizing: border-box; }

/*  Basic iframed page style  */
html, body { font-family: Helvetica,sans-serif; color: #333; background-color: #ffffff; }
body { color: #101213; }

img { max-width: 100%; }

.alert-danger { padding: 1rem 3rem; }

.panel { background-color: #f4f6f7; border: 2px solid #cfcfcf; border-radius: 4px; padding: .5rem; }
.panel-heading { padding: .5rem 1rem; border-bottom: 1px dashed #cfcfcf; margin: 0; }
.panel-body { padding: .5rem 1rem 1rem 1rem; }

label:empty { display: none; }

.form-check label { font-weight: normal; }

#core-header { display: flex; flex-flow: row nowrap; justify-content: center; align-content: center; padding: 1rem; }

.navigation { display: flex; flex-flow: row wrap; justify-content: center; margin: 1rem .5rem; }
.navigation .btn { margin: .5rem; }

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

#core-content { margin: 1rem 0; }

#core_copyright { text-align: center; }
.copyright_text { color: #808080; }
.core { color: #2980b9; font-family: functionregular; font-weight: bold; text-transform: uppercase; padding-right: 3px; font-size: smaller; position: relative; top: -2px; }
.cashless { color: #f89406; font-family: functionregular; text-transform: uppercase; font-size: larger; display: inline-block; transform : scale(1,1.5); -webkit-transform:scale(1,1.5); -moz-transform:scale(1,1.5); -ms-transform:scale(1,1.5); -o-transform:scale(1,1.5); }

.action-bar { display: flex; flex-flow: row; justify-content: stretch; gap: 1rem; }
.action-bar > * { flex: 1 1 5rem !important; }
.action-bar button { width: 100%; }

.order-summary { margin: 1rem 0; border: 1px solid #cfcfcf; }
.order-summary { width: 100%; }
.order-summary td, .order-summary th { padding: .5rem; }
.order-summary thead th { font-weight: bold; }
.order-summary thead { border-bottom: 1px dashed #cfcfcf; }
.order-summary tbody { padding: .5rem 0; }
.order-summary tbody tr:nth-child(even) { background-color: rgba(0, 0, 0, .075); }
.order-summary tfoot { padding: .5rem 0; border-top: 1px dashed #cfcfcf; }
.order-summary tr:hover { background-color: #ffffff; }
.order-summary tr.table-success,
.order-summary tr.table-success:hover,
.order-summary tr.discount-item,
.order-summary tr.discount-item:hover { background-color: #d1e7dd; }
.order-summary .subtotal { border-bottom: 1px dashed #cfcfcf; }
.order-summary .subtotal td { padding-top: .5rem }
.order-summary .tax-rule td { padding: .1rem .5rem; }
.order-summary .total { font-weight: bold; border-top: 1px solid #cfcfcf; }

.demographics-form .form-group { flex: auto; }
.demographics-form .name { display: flex; flex-flow: row wrap; justify-content: stretch; gap: 1rem; }
.demographics-form .address { display: flex; flex-flow: row wrap; justify-content: stretch; gap: 1rem; align-items: top; }
.demographics-form .address-lines { flex: 1 0 100%; }
.demographics-form .address-lines .form-group { margin-top: 1rem;  }
.demographics-form .contact-methods { margin-top: 1rem; display: flex; flex-flow: row wrap; justify-content: stretch; gap: 1rem; align-items: top; }
.demographics-form .misc-info { margin: 1rem 0; }
.demographics-form .misc-info .checkgroup-label { display: none; }
.demographics-form .billing { margin-bottom: 1rem; }

#payment_iframe { width: 100%; border: 1px solid #cfcfcf; }

table .currency-cell { text-align: right; }

.ticket-logo { max-width: 50%; max-height: 10rem; overflow: hidden; margin: 0 auto; text-align: center; margin-bottom: 2rem; }
.ticket-logo img { max-width: 100%; max-height: 10rem; width: auto; height: auto; margin: 0 auto; }

.ticket { position: relative; width: 100%; min-height: 10rem; border: 2px solid #999; border-radius: 1rem; padding: 1rem 10rem 1rem 1rem; margin: 1rem 0; }
.ticket .barcode { position: absolute; transform: rotate(90deg); right: -1rem; top: 3rem; height: 4rem; width: 8rem; text-align: center; }
.ticket .barcode .ordinal { text-align: center; font-weight: bold; }
.ticket .item-name { font-size: 1.2rem; font-weight: bold; margin-bottom: .25rem; border-bottom: 1px dotted #999 }

.payment-page .payment-options { border: 1px solid #cfcfcf; margin: 0 0 1rem 0; }
.payment-page .payment-options .form-check { text-align: center; display: flex; justify-content: center; align-items: center; flex-flow: row nowrap; padding: 1rem 0; border-right: 1px solid #cfcfcf; margin-bottom: 0; transition: all .25s; }
.payment-page .payment-options .form-check:last-child { border-right: 0; }
.payment-page .payment-options .form-check:has(.form-check-input[type="radio"]:checked) { font-weight: bold; background-color: #cfcfcf; }
.payment-page form { text-align: right; }

.payment-cardinfo-page iframe { margin: 1rem 0; }

#core-demographics-form #contact_same_as_billing-0 { margin-right: 0; }