html, body { margin:0; padding:0; border:0; }
html { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; }

button,input,select,textarea { font-family:inherit; font-size:100%; }
button::-moz-focus-inner,input::-moz-focus-inner { padding:0; border:0; }
button,button * { -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; -webkit-border-fit:lines; }
button,input[type="button"],input[type="reset"],input[type="submit"] { -webkit-appearance:button; cursor:pointer; }

:focus { outline:0; }
.hidden { display:block !important; visibility:hidden; position:absolute; left:-9999em; top:-9999em; }
.border-box,.product-shop input[type="checkbox"],.product-shop input[type="radio"] { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }

.product-shop { margin:0; font:12px/1.55 'PT Sans', Helvetica, Arial, sans-serif; text-align:left; color:#444; background:#f5f5f5; border:1px solid #dad9d9; }
.product-shop select { font-family:Helvetica, Arial, sans-serif; outline:0; }
.product-shop a { text-decoration:none; outline:0; color:#444; }
.product-shop a:hover { text-decoration:underline; }
.product-shop ul, .product-shop ol { margin:0; padding:0; list-style:none; }
.product-shop ul li, .product-shop ol li { margin:0 0 8px; }
.product-shop .msg,
.product-shop .msg-custom { clear:both; margin:0 0 5px; padding:5px 0; font:13px/1.2 'PT Sans',Arial,Helvetica,sans-serif; }
.product-shop .msg-error { color:#d22; }
.product-shop .msg-success { color:#282; }

.tabs .tab { width:50%; float:left; height:42px; cursor:pointer; background:#a5a5a5; }
.tabs .tab h2 { margin:13px 0 0 10px; font-size:15px; line-height:1; font-weight:700; text-align:left; color:#fff; }
.tabs .tab.active { background:transparent; }
.tabs .tab.active h2 { color:#444; }

.booking-content { padding:10px 10px 0; text-align:left; clear:both; }
.booking-content .tab-info { margin:0 0 12px; font-size:14px; line-height:1.2; }
.booking-content .a-header { font-size:14px; line-height:1.2; font-weight:bold; cursor:auto; color:#404040; }
.booking-content .a-title { display:block; padding:0 0 8px; font-weight:bold; }
.booking-content .a-value-title { display:none; padding:0 0 8px; position:relative; }
.booking-content .a-label { float:left; padding-right:7px; }
.booking-content .a-value { float:left; font-weight:normal; max-width:100%; text-overflow:ellipsis; overflow:hidden; }
.booking-content .a-edit { float:right; margin:0 -4px 0 0; width:18px; height:18px; position:relative; vertical-align:top; cursor:pointer; }
.booking-content .a-edit::before { content:''; display:block; width:100%; height:100%; opacity:0.5; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHlJREFUGBllwT2OAQEABtCXqBXuoBC78ZNIhN3GvTgBPc6kkZjdRESEQqVxgk83GeM9H6YONho+LERsvZlZadqKm4qxh1hrWfpVmriLiLmKH1cRURgqjZxFROFbaeAkIo66Sj0XEXHypeJfRBy1vYmIPx01e087fTUvT1UwBqllOR4AAAAASUVORK5CYII=) no-repeat 50% 50%; }
.booking-content .a-header.ui-state-active .a-edit,
.booking-content div.a-header.step-tab-locked .a-edit,
.booking-content .a-header.initialized .a-title { display:none; }
.booking-content .a-header.initialized .a-value-title { display:block; }
.booking-content .a-header.initialized { cursor:pointer; }
.booking-content .a-header.step-tab-locked { cursor:default; }
.booking-content table { margin:0; padding:0; width:100%; font-size:14px; line-height:1.2; border:0; border-spacing:0; empty-cells:show; border-collapse:separate; }
.booking-content .calendar-step-locked { cursor:default; }

.a-title-option:after { content:attr(data-title); }
.a-title-date:after { content:attr(data-title); }
.a-title-time:after { content:attr(data-title); }

.datepicker { margin:0 auto; padding:0; border:0; max-width:360px; }
.datepicker * { zoom:1; }
.datepicker .ui-datepicker-header { margin:0 auto 5px; position:relative; font-weight:bold; font-size:16px; line-height:34px; text-align:center; }
.datepicker .ui-datepicker-title { text-transform:uppercase; }
.datepicker .ui-datepicker-prev,
.datepicker .ui-datepicker-next { position:absolute; width:34px; height:34px; top:0; cursor:pointer; }
.datepicker .ui-datepicker-prev span,
.datepicker .ui-datepicker-next span { position:absolute; top:0; width:100%; height:100%; overflow:hidden; text-indent:-99999px; }
.datepicker .ui-datepicker-prev,.datepicker .ui-datepicker-prev span { left:0; }
.datepicker .ui-datepicker-next,.datepicker .ui-datepicker-next span { right:0; }
.datepicker .ui-datepicker-prev span:after,
.datepicker .ui-datepicker-next span:after { font-family: "regiondo-icon"; position:absolute; top:10px; text-indent:0; font-size:15px; line-height:1; color:inherit; }
.datepicker .ui-datepicker-prev span:after { content:'w'; left:5px; }
.datepicker .ui-datepicker-next span:after { content:'x'; right:5px; }
.datepicker .ui-datepicker-prev.ui-state-disabled,
.datepicker .ui-datepicker-next.ui-state-disabled { opacity:0.3; cursor:default; }

.datepicker th { padding:0 0 4px; font-size:14px; font-weight:bold; border:0; text-align:center; text-transform:uppercase; }
.datepicker td { padding:1px; width:auto; height:auto; border:0; text-align:center; background:transparent; font-weight:bold; }
.datepicker td .ui-state-default { font-size:20px; line-height:42px; display:block; margin:0; text-shadow:0 1px 0 rgba(0,0,0,0.1); text-decoration:none; }

.datepicker td .ui-state-default { background:#78d28c; color:#fff; }
.datepicker td .ui-state-default:hover { background:#64b473; text-decoration:none; }
.datepicker td .ui-state-active, .datepicker td .ui-state-default:active { background:#6dcddb; }
.datepicker td.ui-state-disabled .ui-state-default {
	-webkit-filter:grayscale(100%);
	-ms-filter:grayscale(100%);
	filter:grayscale(100%);
	filter:gray;
	opacity:0.4;
}
.datepicker td.highlight-yellow .ui-state-default:not(.ui-state-active) { background:#ffb648; }
.datepicker td.highlight-yellow .ui-state-default:hover { background:#e6a440; }
.datepicker td.highlight-red .ui-state-default:not(.ui-state-active),
.datepicker td.highlight-red .ui-state-default:hover { background:#ed4040; cursor:default; }

.ticket-times-container { margin:5px -10px 10px 0; }
.ticket-times-container .label { clear:both; margin:0 0 3px; font-size:11px; line-height:1; font-weight:bold; }
.ticket-day-times a { float:left; margin:0 10px 10px 0; width:57px; line-height:26px; font-size:14px; font-weight:bold; vertical-align:middle; text-align:center; text-decoration:none; }

.ticket-day-times a { color:#fff; background:#78d28c; text-shadow:0 1px 0 rgba(0,0,0,0.1); }
.ticket-day-times a:hover { background:#64b473; text-decoration:none; }
.ticket-day-times a.state-active, .ticket-day-times a:active { background:#6dcddb; font-weight:bold; }

.ticket-day-times a.highlight-yellow:not(.state-active) { background:#ffb648; }
.ticket-day-times a.highlight-yellow:hover { background:#e6a440; }
.ticket-day-times a.highlight-red:not(.state-active),
.ticket-day-times a.highlight-red:hover { background:#ed4040; cursor:default; }

.available-tickets { margin-bottom:10px; }
.ticket_options-holder { border-collapse:collapse; }
.ticket_options-holder td { padding:5px 0; font-size:14px; line-height:17px; font-weight:bold; text-align:left; vertical-align:middle; word-wrap:break-word; }
.ticket_options-holder .ticket_option_name { }
.ticket_options-holder .ticket_option_price { text-align:right; padding-left:10px; }
.ticket_options-holder .ticket_option_qty { padding-left:10px; }
.ticket_options-holder select { padding:1px; font-size:16px; min-width:43px; vertical-align:top; font-weight:normal; }
.ticket_options-holder select option { padding:0; }
.ticket_options-holder .regiondo_fee_text { font-weight:normal; display:block; }
.ticket_options-holder .regiondo_fee { font-weight:normal; display:block; text-align:right; }
.ticket_options-holder .info-sign { width:18px; height:18px; position:relative; display:inline-block; vertical-align:middle; cursor:pointer; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUeNpi/P//PwMIhIWFsQGpDCCOBGIdBgi4AsTLgXjGqlWrfoEEGEEagIqlgewtQGzAgB1cAGIfoKanjKGhoSCTT+JRDAMXgdicBUikIysuLCxksLS0BLOPHz/O0N/fD5PSB+I0JiARhWzMiRMnQE5k2LRpE1wjEogCaTBCFgGZGhgYyODn5wfWhAYMmbA51t3dHax4yZIl6FK/QX44B8QWyKIZGRm4PH6FCRrOcCAgIMAADD6G9PR0bBqWg4KVHRqs+gSC9RIQmzEBTfsJZHhDIwdfHHiB1DKiJY1MII4BYk2owutADPL5dFjSAAgwADU4TXq61riRAAAAAElFTkSuQmCC) no-repeat 50% 2px; }
.ticket_options-holder .info-sign .content { display:none; position:absolute; z-index:10; bottom:14px; left:14px; margin:0 -220px 0 0; padding:4px 10px; max-width:290px; font-size:12px; line-height: 1.5; background:#fff; border:1px solid #ccc; border-radius:0; box-shadow: 3px 3px rgba(0,0,0,0.1); }
.ticket_options-holder .info-sign:hover .content { display:block; }
.ticket_options-holder .info-sign.active.down .content { top:14px; bottom:auto; }

.ticket_options-holder .with-original .original_price .price { text-decoration:line-through; font-weight:400;  }
.ticket_options-holder .with-original .regiondo_price .price { color:#71be7e; }

.price-strike .price, .price-strike .value { text-decoration:line-through; }

.ticket_options-holder .with-option { cursor:pointer; }
.ticket_options-holder .with-option .option_radio { vertical-align:top; margin:2px 0 0 0; width:auto; height:auto; line-height:1; }
.ticket_options-holder .with-option .option_check { vertical-align:top; margin:2px 2px 0 0; width:auto; height:auto; line-height:1; }

#ticket_variations, #ticket_dates, #ticket_times_container, .ticket-accordion select { box-sizing:border-box; }
#ticket_variations .ticket-variations { margin:0 0 15px; }
#ticket_dates { margin:0 0 18px; }
#ticket_dates.validate-error .datepicker { border:1px solid #fa695a; }
#ticket_times_container.validate-error { border:1px solid #fa695a; margin-left:-2px; margin-right:-2px; padding:5px 2px 0; }
#ticket_date_select, #ticket_variations select { width:100%; padding:4px; }

.variations-as-radios { line-height:1; }
.variations-as-radios div.radio-line { padding:4px 0; }
.variations-as-radios input { margin:1px 2px 0 0; padding:0; width:auto; height:auto; vertical-align:top; cursor:pointer; }
.variations-as-radios label { font-size:14px; line-height:16px; font-weight:normal; cursor:pointer; }

.product-shop .qty-notice { margin:5px 0 0; font-size:14px; line-height:1.2; }
.product-shop .qty-notice label { display:block; padding:2px 0; cursor:pointer; }
.product-shop .qty-notice input { margin:1px 4px 0 0; vertical-align:top; }

.validation-message.validation-variation,
.validation-message.validation-time,
.validation-message.validation-date,
.validation-message.validation-table-qty { color:#fa695a; font-weight:700; margin-bottom:2px; text-align:left; }
.validate-error #ticket_options .table-row { border-right:1px solid #fa695a !important; border-left:1px solid #fa695a !important; }
.validate-error #ticket_options .table-row:first-of-type { border-top:1px solid #fa695a !important; }
.validate-error #ticket_options .table-row:last-of-type { border-bottom:1px solid #fa695a !important; }
.validate-error #ticket_options .table-row td:first-of-type { padding-left:3px; }
.validate-error #ticket_options .table-row td:last-of-type { padding-right:3px; }

.calendar-no-dates { text-align:center; margin:0 0 -2px; padding:0 10px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.calendar-no-dates p { margin:0; padding:0 0 10px; font-size:16px; line-height:1.2; font-weight:bold; }

.tippy-box { padding:0; color:#444; background:#fff; border:1px solid #ccc; border-radius:0; box-shadow:2px 2px rgba(0,0,0,0.05); }
.tippy-box .tippy-content { padding:6px 8px; font-size:12px; line-height:1.4; }
.tippy-box > .tippy-arrow:before { transform: scale(1); }
.tippy-box > .tippy-arrow:after { content:''; position:absolute; z-index:-1; border-color:transparent; border-style:solid; }

.tippy-box[data-placement^='top'] > .tippy-arrow:before { border-top-color:#fff; }
.tippy-box[data-placement^='top'] > .tippy-arrow:after { border-top-color:#ccc; border-width:7px 7px 0; top:17px; left:1px; }
.tippy-box[data-placement^='bottom'] > .tippy-arrow:before { border-bottom-color:#fff; }
.tippy-box[data-placement^='bottom'] > .tippy-arrow:after { border-bottom-color:#ccc; border-width:0 7px 7px; bottom:17px; left:1px; }
.tippy-box[data-placement^='left'] > .tippy-arrow:before { border-left-color:#fff; }
.tippy-box[data-placement^='left'] > .tippy-arrow:after { border-left-color:#ccc; border-width:7px 0 7px 7px; left:17px; top:1px; }
.tippy-box[data-placement^='right'] > .tippy-arrow:before { border-right-color:#fff; }
.tippy-box[data-placement^='right'] > .tippy-arrow:after { border-right-color:#ccc; border-width:7px 7px 7px 0; right:17px; top:1px; }

/* Add to Cart button */
.product-subtotal { margin:0 10px; font-size:14px; font-weight:bold; text-align:right; }
.taxes-included { padding:5px 0 10px; text-align:right; font-size:12px; line-height:1.2; }

.add-to-cart-wrapper { padding:0; }
.add-to-cart { padding:10px; }
.add-to-cart .or { color:#999; font-size:12px; line-height:24px; display:block; }

.product-shop .button { margin:0; padding:0; border:0; position:relative; overflow:visible; cursor:pointer; width:100%; height:48px; line-height:1.1; font-size:20px; background:#6AC48E; text-shadow:none; box-shadow:none; color:#fff; font-weight:bold; border-bottom:2px solid rgba(0,0,0,0.15); }
.product-shop .button:hover { background-color:#7ccb9c; }
.product-shop .button.btn-loading {
  background-image:-webkit-linear-gradient(-45deg,rgba(0, 0, 0, 0.2) 25%,transparent 25%,transparent 50%,rgba(0, 0, 0, 0.2) 50%,rgba(0, 0, 0, 0.2) 75%,transparent 75%,transparent);
  background-image:-moz-linear-gradient(-45deg,rgba(0, 0, 0, 0.2) 25%,transparent 25%,transparent 50%,rgba(0, 0, 0, 0.2) 50%,rgba(0, 0, 0, 0.2) 75%,transparent 75%,transparent);
  background-image:linear-gradient(-45deg,rgba(0, 0, 0, 0.2) 25%,transparent 25%,transparent 50%,rgba(0, 0, 0, 0.2) 50%,rgba(0, 0, 0, 0.2) 75%,transparent 75%,transparent);
  -webkit-background-size:50px 50px;
  -moz-background-size:50px 50px;
  background-size:50px 50px;
  -webkit-animation:loading-stripes 1.5s linear infinite;
  -moz-animation:loading-stripes 1.5s linear infinite;
  animation:loading-stripes 1.5s linear infinite;
}
@-webkit-keyframes loading-stripes { from { background-position:50px 0; } to { background-position:0 0; } }
@-moz-keyframes loading-stripes { from { background-position:50px 0; } to { background-position:0 0; } }
@keyframes loading-stripes { from { background-position:50px 0; } to { background-position:0 0; } }

.paypal-logo { margin:0; text-align:center; }
.express-paypal { margin:0 auto; padding:8px 0; display:block; height:auto; line-height:1; background:#fed67f; display:block; text-align:center; vertical-align:middle; border-bottom:2px solid rgba(0,0,0,0.15); }
.express-paypal span { font-size:18px; line-height:28px; color:#173663; font-weight:bold; font-style:italic; padding:0 7px 0 0; position:static; }
.express-paypal img { vertical-align:-7px; width:85px; position:relative; }
.express-paypal:hover { text-decoration:none !important; }

.link-continue-shopping {}

.popup-blocked { margin:0 0 15px; padding:0 0 0 24px; font-weight:normal; color:#e11; font-size:14px; line-height:17px; position:relative; }
.popup-blocked a { text-decoration:underline; }
.popup-blocked a:hover { text-decoration:none; }
.popup-blocked em { position:absolute; top:0; left:0; width:20px; height:20px; } 
.popup-blocked em span { position:absolute; top:50%; left:50%; width:12px; height:12px; margin-top:-10px; margin-left:-10px; border-radius:50%; border:3px solid #bbb; border-top-color:#777;
    -webkit-animation:spinner .8s linear infinite;
    animation:spinner .8s linear infinite;
}

.v-msg.msg-success,
.v-msg.msg-error,
.v-msg.msg-notice,
.v-msg.msg-info { clear:both; margin:2px 0 5px; padding:2px 0 0; border:0; background:none; min-height:18px; font:bold 13px/15px 'PT Sans',Arial,Helvetica,sans-serif; }
.v-msg.msg-success { color:#282; padding-left:20px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAbdJREFUeNpi/P//PwMpIGVrxsSff369W+w/rxHEZyJFc/KW9ImiXKJ54txiDcGrIypBYozEuiBxc9pEoMY8VSEVhm+/vzHceHuT4dGzRzVEGZCwORVos0iempAqw38gvPTqMkgzw5+ffzjhXqg50OBcvq86FV1z3KbkiSKcwnkqgsoM//7/Y7j48hLDg0cP/v758YdzW8amH2ADqg/U2/z+93sxPzvfrJydBfkwzbEbkyaKAf2sLKjE8Pf/X4YLLy8yPHz88O/f3395tmVu+gEOg4p9NW5//v2ZJ8cnK83Ows5w9vm5v0B+8c+/v2SAzi4B+Rlk85XXVxkeP3789++vvzw7crb8gFnC8vvv78NA06U//vzEIM0mxaAjqs385PPTCUyMTAySPBIMf//9hWh+9Pjfv9//eHbkIjTDYyF7Rz4X0NavIlwiDECXgJ0L5INtvvr6GsPTx0////35l2tn/tYf6GEEjwVgYIENAfqZQUlQEWzz1TfXGJ49evYf6GysmjHSATBxcP3/+/+rKJ8I2AUwzbsKtv3AFcUY6cBvfhDXv7//vgKjCWjGPx6g5p/40ghAgAEAwKT5M0NQTQkAAAAASUVORK5CYII=) no-repeat 0 2px; } /* i-success.png */ 
.v-msg.msg-error { color:#d22; padding-left:20px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATlJREFUeNqck8FKAlEUhq8XiWhCopdoJaQi7Q1M8AWqhesW4iJoGT1ASyOCdm58gQwifIHERogeQw1xwEVJ/x//2HC5Snng4w5zz3/mzrn/SU1LeePEPqiBAtjVuyF4BS0wSCbbxPMmaIJ7MAbnoCguwER7t2ArFqV0AorbIAINMDL+2AE3YBscg1l8gmuJa444EnF8KGcqjUmDHDgAZTAPuv1f9WHhZ3XezbHUwRO1VhUfVf2vwdwHalmATeiY/wc/mre6qrc1CrxTa836sQG+0up6FvTcDDQvWFFgj36xcljVl4GOR2RJgQpdSSPxGu/AkecmYnHgMRSv8YwnCMGLHGbdX/D8hlUuNaHPyvUVnlhq5Rk40RA9g0s5lJ3OyKlX2uNQnUqzGKZk5Jxx/lThgcY5TCZ/CzAAjlRYwJJF48YAAAAASUVORK5CYII=) no-repeat 0 2px; } /* i-notice-red.png */ 
.v-msg.msg-notice { color:#777; padding-left:20px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUhJREFUeNqck8EqRGEUx+/9miQmTV7CSjGalAcYygtgMcVCFmOjLDUPYEMkpSwseAHUsGZBGSWPYUhuzYLJ70z/73Z9jYk59etO957/mfN953/i5fpNFMQEVGAKRvXuBR7gBB6zyS7zexD24AheYQNKYhPe9e0AhrwolxGfQQKz0Ay6uhc7sA+nsAAt38G2xJVAnAgfb8r5kKbTwSRMQxnax+WZNHvl6rbzDN61eVShblqnipeq/tew3HPTWoEiXET/D/vTotOonvoo8GxaF/UfA/CV062Pa0w/gssb7lFgzPzi5LD5bhnceGL8UmDOXBljZRvjoQwUTsKLw04KGuOaddCAOznMhUfocgynXNM0Yi1T1srVHp4oSJwPrdyCRS3RNWzJoXbTI3JqTd9sqZakSZfJF1mX0Ny5K498qrCt8aqOnMa3AAMAluNa9NgDmi0AAAAASUVORK5CYII=) no-repeat 0 2px; } /* i-notice.png */
.v-msg.msg-info { padding-left:20px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVtJREFUeNp8k71KQ0EQha/LRUVFJC+RStCI2lhpoRJb8acIxMJKGyFl8AFsFMXGyhRq7w+KnZAmghHEx0giYiCFRs+Rs2EZbjLwcZfdc2bn7s725R/KkYkJkANTIKW5GngBJfAail0wHgTH4Aw0wB6YFgXwqbVTMORNcWC+BE2wCOqmqmdxCE7ABVgHLV/Bgcy5BHMYH9J8yfP/C5NgFuyAtoQs8VrJ6hr7stvSztDrlPFO2X1cgXkwIDg+N5Xc0MsEGXBrSp3Td0swFoyGm2ZiXdWbWUwF41V9f43mnbo46h28zn6Nn8wa53+cDmm8SwJvvgdrZi3NDWJ1WFb3bGO4R3VL7Eqn9lwGYwmiprBB7Qq9TFAFFXWYS6jAVuGkpafqDQUJS10qCXemZkSezo4tsKFTfwRFdSgPcVSduq81PqpNeaLwGjmxKyO780j98K3EfMbb+uVO/AkwAPVrTahKZGcQAAAAAElFTkSuQmCC) no-repeat 0 2px; } /* i-info.png */

.v-msg.validation-no-qty { margin:20px 0 15px; }

.shake {
  -webkit-animation:shake 0.8s cubic-bezier(.36,.07,.19,.97) both;
  animation:shake 0.8s cubic-bezier(.36,.07,.19,.97) both;
  transform:translate3d(0, 0, 0);
  backface-visibility:hidden;
  perspective:1000px;
}

@-webkit-keyframes spinner { to { -webkit-transform:rotate(360deg); } }
@keyframes spinner { to { transform:rotate(360deg); } }

@-webkit-keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
  40%, 60% { transform: translate3d(4px, 0, 0); }
}
@keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
  40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* Currency & language selector */
.product-view .currencies, .product-view .languages { margin:0 10px; float:none; padding:4px 0; border:1px solid #a5a5a5; }
.product-view .languages { margin-bottom:10px; z-index:551; }
.product-view .currencies:before, .product-view .languages:before { top:11px; width:0; height:0; background:none; border-style: solid; border-width: 6px 6px 0 6px; border-color: #6AC48E transparent transparent transparent; }
.product-view .currency, .product-view .lang.current { padding:0 0 0 8px; font-size:13px; font-weight:bold; }
.product-view .currency:before, .product-view .lang.current:before { font-family: 'regiondo-icon'; content:'\e91a'; display:inline-block; margin-right:5px; position:relative; top:1px; }
.product-view .currency:before { content:'\e919'; font-size:12px; }
.product-view .store-selectors .d-down { width:100%; left:-1px; margin:0; border-radius:0; border-color: #a5a5a5; box-shadow:none; }
.product-view .store-selectors .d-down:after, .product-view .store-selectors .d-down:before { border:none; }
.product-view .store-selectors { padding-bottom:10px; }
#widget-wrapper .store-selectors .d-down { position:static; margin-top:5px; border-left:none; border-right:none; border-bottom:none; }

/* Out of Stock */
.regiondo-pricebox { padding:10px; }

.availability { margin:0; }
.availability span { font-weight:bold;  }
.availability.out-of-stock { padding:0 0 10px; }
.availability.out-of-stock span { color:#d83820; }
.regiondo-pricebox .small-line { border-bottom:1px solid #fff; border-top:1px solid #dad9d9; width:100%; height:0px; margin:10px 0; float:left; }
.pricebox-out-of-ticket { padding:15px 2px; text-align:center; font-size:24px; line-height:1.1; color:#404040; font-weight:bold; }
.pricebox-out-of-ticket p { font-size:16px; line-height:1.2; }
.pricebox-out-of-ticket .red { color:#fa695a; }
.pricebox-out-of-ticket .sales-start-date { font-size:18px; font-weight:bold; display:block; }
.ticket-no-longer-available { padding-top: 10px; }
.ticket-no-longer-available p { font-size: 14px; width: 50%; display: inline-block; }

.pricebox-form { max-width:500px; margin:0 auto; }
.pricebox-form p { font-size:12px; padding:10px 0px; margin:0; }
.pricebox-form .input-box { display:block; clear:both; width:auto; background:none; margin:0 auto; padding:0; }
.pricebox-form input.input-text { width:100%; background:#fff; padding:9px; border:1px solid #dad9d9; font-size:14px; line-height:1; height:auto; font-weight:normal; }
.pricebox-form input.input-text:focus { border-color:#31a8bc; }
.pricebox-form .button { width:100%; }
.pricebox-form .button span span { font-size:22px; padding:0; }
.pricebox-form label { float:left; font-weight:normal; padding:10px 0 0; }
.checkbox-hight-box { float:left; padding-right:5px; height:35px; }

/* Voucher Product page */
.gift-cert .personal td { position:relative; padding-top:20px; padding-bottom:5px; font-weight:normal; }
.gift-cert label[for] { cursor:pointer; }
.gift-cert label, .gift-cert .personal span { font-size:14px; font-weight:bold; }
.gift-cert #ticket_options .table-row { border:none; }
.gift-cert #ticket_options .table-row .table-cell { font-size: 14px; font-weight: bold; max-width: 190px; word-wrap: break-word; }
.gift-cert #ticket_options .personal .info-sign { position:static; }
.gift-cert #ticket_options .personal .info-sign .content { left:0; top:46px; bottom:auto; max-width:100%; margin:0; }

.gift-cert .controls label { display:block; margin-bottom:5px; }
.gift-cert .fields td { padding:1px 0; }
.gift-cert .input-box { width:auto; padding:0 0 8px; }
.gift-cert .input-box input { width:100%; }
.gift-cert textarea { width:100%; height:140px; font-size:14px; }
.gift-cert .input-box .input-text,
.textarea-resize { border:1px solid #C4C4C4; border-radius:5px; font-family:'PT Sans',Arial,Helvetica,sans-serif; padding:4px;}
.textarea-resize { resize:none; }

.gift-cert .input-box, .gift-cert .input-text, .gift-cert textarea { box-sizing:border-box; }

.regiondo-certificate-product .pdp-right { padding-top:87px; }

/* Bundle */
.bundle-total-price { padding:10px; text-align:right; margin-top:10px; }
.bundle-total-price-row { font-size:20px; line-height:1.2; font-weight:bold; }
.bundle-total-vat-incl { margin:5px 0 0; }

.bundle-component-container { margin:0 auto; max-width:360px; }
.bundle-component-title-bar { display:table; cursor:pointer; width:100%; font-size:13px; line-height:15px; }
.bundle-component-title-bar .bundle-title-cell { display:table-cell; vertical-align:middle; padding:3px 10px; height:40px; background:#4E4E51; color:#fff; }
.bundle-component-title-bar .bundle-title-cell .bundle-time { opacity:0.7; font-size:12px; padding-top:2px; }
.bundle-component-title-bar:after { content:""; display:table-cell; vertical-align:middle; width:40px; text-align:center; font-size:18px; background:#4E4E51; color:#fff; }
.bundle-component-title-bar.collapsed:after { content:"+"; }
.bundle-component-title-bar.expanded:after { content:"–"; }
.bundle-component-title-bar.collapsed { border-bottom:1px solid rgba(255,255,255,0.2); }
.bundle-component-title-static { border-top:1px solid #dad9d9; padding:10px 0; width:100%; }
.bundle-component-title-static.with-icon { display:table; }
.bundle-component-title-static.with-icon .bundle-title-cell { display:table-cell; }
.bundle-component-icon { display:none; width:22px; background:no-repeat right center; }
.bundle-component-title-static.with-icon .bundle-component-icon { display:table-cell; }
.bundle-component-title-static.with-icon .bundle-component-icon:hover { cursor:pointer; }
.bundle-component-title-static.icon-restore .bundle-title-cell { opacity:0.5; }
.bundle-component-title-static.with-icon.icon-skip .bundle-component-icon { background-image: url("../img/bndl/i-component-skip.svg"); }
.bundle-component-title-static.with-icon.icon-skip .bundle-component-icon:hover { background-image: url("../img/bndl/i-component-skip-hover.svg"); }
.bundle-component-title-static.with-icon.icon-restore .bundle-component-icon { background-image: url("../img/bndl/i-component-restore.svg"); }
.bundle-component-title-static.with-icon.icon-restore .bundle-component-icon:hover { background-image: url("../img/bndl/i-component-restore-hover.svg"); }

.bundle-component-title-gift { margin:0 0 3px; padding:8px 10px; background:#4E4E51; color:#fff; text-align:left; }

.bundle-calendar-container { margin:20px 0 0; }
.bundle-time-container { margin:20px 0; }
.bundle-start-time-selection .bundle-component-title-bar { text-align:center; font-weight:bold; }
.bundle-start-time-selection .bundle-component-title-bar::after { display:none; }
.bundle-static-timestring { white-space:nowrap; }
.bundle-component-container .validation-message.validation-date { margin:10px 0 0; }
.bundle-calendar-container.validate-error { border:1px solid #fa695a; margin:-1px -2px; padding:0 0 1px; }
.ticket-times-container.validate-error { border:1px solid #fa695a; margin:-2px -3px; padding:3px 2px 0; }
.js-sortable .bundle-component-title-bar:hover { cursor:move; }
.js-sortable .bundle-title-cell { position:relative; padding-left:35px; }
.js-sortable .bundle-title-cell:before { font-family: 'regiondo-icon'; content:'\e91f'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; speak: none; line-height:1; position:absolute; top:50%; margin-top:-11px; left:8px; font-size:22px; color:white; }
.bundle-sortable-placeholder { background:#8caebf; border:1px dashed black; }
.bundle-sortable-started { transform: rotate(2deg); }

/* Clears */
.bundle-time-container .ticket-day-times:after,
.ticket-accordion .ticket-day-times:after,
.ticket-accordion .a-value-title:after { content:''; clear:both; display:block; font-size:0; line-height:0; height:0; overflow:hidden; }

/* Responsiveness */
@media screen and (max-width:600px) {
  .product-shop .button { font-size:16px; }
}
@media screen and (max-width:400px) {
  .tabs .tab h2 { font-size:12px; }
  .booking-content .tab-info { font-size:12px; }
  .booking-content .tab-info select { font-size:16px; }
  .datepicker table td .ui-state-default { font-size:16px; line-height:36px; }
  .product-view .taxes-included { font-size:10px; }
  .ticket-times-container .ticket-day-times a { width:57px; }

  .express-paypal span { font-size:14px; line-height:22px; padding-right:3px; }
  .express-paypal img { vertical-align:-6px; width:auto !important; max-height:20px; }

  .product-shop .qty-notice { font-size:12px; }
}
@media screen and (max-width:240px) {
  .product-shop .button { font-size:14px; }
  .ticket-accordion .a-header, .gift-container .a-header { font-size:12px; }
  .datepicker .ui-datepicker-header { font-size:12px; line-height:26px; }
  .datepicker .ui-datepicker-prev span:after,
  .datepicker .ui-datepicker-next span:after { top:7px; font-size:12px; }
  .datepicker table th { font-size:12px; }
  .datepicker table td .ui-state-default { font-size:14px; line-height:32px; }
  .available-tickets td { font-size:12px; }
}
