/* generic rules */
.clear { clear: both }

#tts { width: 100%; font-size: 1.4em; font-family: arial,helvetica,sans-serif;
font-size: 12px; margin: 20px 0 10px 0; position: relative; line-height: 1.2em }

#tts div.wrapper { position: relative }

#tts hr { height: 1px; border-top: 1px solid #999; border-bottom: none; clear: both }

#basket-link { font-family: inherit; float: right }

#powered-by { float:right; margin-top: -56px; margin-right: -48px; }

/* headlines */
#tts h1, #tts h2, #tts h3, #tts h4, #tts h5,
#tts h6 { font-family: arial,helvetica,sans-serif; text-transform: uppercase; font-weight: normal;
color: #000; /*#19304C;*/ letter-spacing: normal; padding: 0; margin: 0.5em 0 }

#tts h2 { color: #000; font-size: 30px; font-weight: 400; line-height: 30px }

#tts h3, #tts h4, #tts h5, #tts h6 { font-size:14px; line-height:30px }

#tts h1 a, #tts h2 a, #tts h3 a, #tts h4 a, #tts h5 a,
#tts h6 a { font-family: arial,helvetica,sans-serif; text-transform: none; font-weight:normal;
color: #EC5538; font-size: inherit; text-decoration: none !important }

.ticket-insurance-description a {
    color: #EC5538 !important;
}

h1.front { font-size: 28px }

#tts h2, #tts h4 { font-family: arial,helvetica,sans-serif }
#tts h2 { font-size: 24px }
#tts h4 { font-size: 20px }

h2.ui-tts-wl.front { padding-top: 10px; text-transform: uppercase; color: #313131; font-size: 21px; font-weight: normal;
 font-family: Arial, Helvetica, sans-serif }

#tts h2.front.event { margin: 0; padding: 0; line-height: none }

#tts h4.front.date { color: #666; font-size: 17px; font-weight: normal; margin: 0; padding: 0 }

#tts p { padding: 0; margin: 1em 0 }

#tts li { list-style-position: inside }

/* login forms & generic forms elements */
#checkout_login_box { width: 318px }
#checkout_login_box table { width: 100% }
input.checkout-login-email,
input.checkout-login-password { width: 209px; margin-left: 8px }
input.button_small,
input.button { cursor: pointer }
input.button_small:hover,
input.button:hover { opacity: 0.85 }

/* tts table */
#tts table { width: 98% }
#tts table th,
#tts table td { vertical-align: middle }
#tts table td { padding: 2px }
#tts table p { margin: 0.4em 0 }
#tts table.key p { margin: 0; padding: 0px 2px }

/* event page - ticket table */
#tts table.event_list { font-size: inherit; line-height: 1.2em }
#tts table.event_list th { font-weight: bold; font-size: inherit; line-height: 1.2em }
#tts table.key { border: 1px solid #999 }
#tts table.key .key_header { background-color: #aaa; font-weight: bold }
#tts table.key td { vertical-align: middle }

/* shoping basket */
#tts table.shopping_basket { border-collapse: collapse; font-size: 12px }
#tts table.shopping_basket p,
#tts table.shopping_basket h5 { margin: 0.3em 0; line-height: 1.2em }
#tts table.shopping_basket input { vertical-align: baseline }
#tts table.shopping_basket tr.basket_legend td { font-weight: bold }
#tts table.shopping_basket tr.basket_event td { border-bottom: 1px dashed #999 }

/* checkout + some other */
#tts table.form p { margin: 0.3em; padding: 0 }
#tts .back_to_trolley_link { display: none }
#facebox * { color: #000 }
#tts .no-display { display: none !important  }
#tts table.event_list.single_ticket_type th.ticket_type,
#tts table.event_list.single_ticket_type td.ticket_type { display: none }
#tts p.ticket_type_explanation { float: left; margin-top: 0; padding: 2px 5px 2px 0;
text-align: justify; width: 260px; font-size: 0.9em; line-height: 1.3em }

#tts #sidebar1,
#tts .right_sub,
#tts .dow_middle div { display: none }

#tts .organiser-description,
#tts .venue-description { display: none }

/* bubble */
#tts div.bubble { background-color: #aaa }
div.bubble { visibility: hidden; position: absolute; top: 20px; left: 30px; width: 150px; padding: 0.5em }
div.bubble div.bubble_top,
div.bubble div.bubble_bottom { display: none }

/* event_day */
.event_day_middle { font-family: arial,helvetica,sans-serif }
#tts .event_day_middle .event_day_middle_wrapper { float: left; margin: 3px; width: 48px }
#tts .event_day_middle .dow_middle { padding: 3px 0px }
#tts .event_day_middle p,
#tts .event_day_middle strong,
#tts .event_day_middle small { margin: 0.3em 0; line-height: 1.2em }
#tts .event_day_middle .dow_top,
#tts .event_day_middle .dow_bottom { display: none }

/* error & confirmation boxes */
#tts div.form_errors { position: relative; padding: 10px; background-color: #9d0000; margin: 10px 0px 10px 0px; color: #fff }
#tts div.form_errors h5, #tts div.form_information h5 { padding: 0 0 0.6em 0; margin: 0;  color: #fff }
#tts div.form_information { position: relative; padding: 10px; background-color: #498FC8; margin: 10px 0px 10px 0px; color: #fff }
#tts div.form_errors ul, #tts div.form_information ul { clear: none }
#tts div.form_errors p, #tts div.form_information p { margin: 0.3em 0em }
#tts div.form_errors a, #tts div.form_information a { color: #fff; text-decoration: underline; border: none }
#tts div.form_errors, #tts div.form_information { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px }
#tts .form_errors_small { clear: both; line-height: 20px }
#tts .form_errors_small p { margin: 0; padding: 0 }
#tts .form_errors_small_bottom { clear: both }

/* custom rules */
#tts .group-title { background-color: #EC5538; color: #fff; margin: 10px 0; width: 100%; }
#tts .group-title p { font-size: 18px; font-weight: normal; line-height: 12px; padding-left: 5px; 
text-shadow: 0 2px 0 rgba(0,0,0,0.3) }
#sagepay { background-color: #eeeeff }

#tts .btnscontainer a.ticketinfo-btn,
#tts .button,
#tts .button_small {
    margin: 10px 0;
    border: 2px solid #EC5538;
    background: #EC5538;
    color: #fff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 6px 9px;
    text-shadow: 0 2px 0 rgba(0,0,0,0.3);
    font-weight: bold;
}

#tts .btnscontainer a.ticketinfo-btn { background-image: none; 
font-family: helvetica, arial, sans-serif; font-size: 12px; font-weight: normal }
#tts .btnscontainer a.ticketinfo-btn:hover { text-decoration: none; opacity: 0.85 }

div.front-voucherbox-button { text-align: left; }

/* For Small Layouts */
#tts table { /* table-layout:fixed !important; width:100% !important; display:block !important; overflow-x: scroll !important */ }
#tts p.ticket_type_explanation { width: auto !important }

input[name="voucher_code"] { padding: 6px !important; border: 1px solid #818181 !important }

.btnscontainer { width: 126px }

#ttsWrapper { width: 840px; text-align: left }

h5.front { display: none }

#tts table.shopping_basket input,
input#add-to-basket-button { font-size: 18px }

/* jquery pop-up custom rules (if needed) */

div.ui-dialog { width: 472px !important }
div#dialog-confirm { color: #463C3C; }
.ui-widget-content { border: 1px solid #ccc; }
.ui-widget-header { 
    border: 1px solid #c00212; 
    background: #d10212; 
    color: #ffffff; 
    font-weight: bold; 
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    border: 1px solid #ccc;
    background: #eeeeff;
    font-weight: bold;
    color: #463C3C;
}
.ui-state-default.ui-state-hover, .ui-widget-content .ui-state-default.ui-state-hover, .ui-widget-header .ui-state-default.ui-state-hover {
    border: 1px solid #c00212;
    background: #d10212;
    color: #ffffff;
    font-weight: bold;
}
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; border: 1px solid #d10212; }
.ui-state-hover .ui-icon { background-image: url(/javascript/jquery/redmond/images/ui-icons_d8e7f3_256x240.png); }

tr.ticket-row select {
    float: right;
}

input {
    padding-left: 5px;
    padding-right: 5px;
}

.cardPayment input {
    background-color: #ffffff;
    color: #000000;
}

#tts #buttonCalculateCarbon {
    border: 2px solid #EC5538;
    background: #EC5538;
    color: #fff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 0px 9px;
    text-shadow: 0 2px 0 rgba(0,0,0,0.3);
    font-weight: bold;
    font-size: 18px;
}
#tts #buttonCalculateCarbon:hover {
    background-color: #dc3515;
}

.form_errors_small {
    margin-top: 20px;
    margin-bottom: 20px;
}

.form_errors_small label {
    color: white !important;
}

.form_errors_small select {
    color: white !important;
    width: auto !important;
    height: auto !important;
    padding: 0px;
}