/* Ancram Opera House
   created 3/12/19 mk
   edited 4/15/20 mk*/

body {
    margin: 0px;
    font-weight: 400;
    font-style: normal;
    line-height: 2em;
    background-color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    color: #575757;
    min-height: 100%;
    -webkit-font-smoothing: antialiased;
}


/* ----------- Global settings ---------- */
/* Offsets the margin added to p tags so text is aligned across the page */
p {
    margin-top: 0;
}

/* Sets modal text color to black - required when body color is light */
[class^="modal-"] {
    color: #000;
    position:  relative;
    z-index: 100000;
}


/* Additional space below user name after log in */
#user-status {
    margin-bottom: 25px;
}

/* Styles the hr tag, often used between show descriptions on main ticketing page */
hr {
    color: #ccc;
    background-color: #ccc;
    border: 0;
    height: 1px;
    width: 100%;
}

#admin-pages-link a {
    position: relative;
    font-size: 14px;
    z-index: 9999;
    left: 0;
    float: left;
    margin: 0 10px;
    color: #fff;
    text-decoration: underline;
}

#admin-pages-link a:hover {
    text-decoration: none;
}

#sysmsg-link a {
    position: relative;
    font-size: 14px;
    z-index: 9999;
    left: 0;
    color: #fff;
    float: left;
    text-decoration: underline;
}

#sysmsg-link a:hover {
    text-decoration: none;
}

/* --------------- Header --------------- */

.top-header {
    height: 49.5px;
    position: relative;
    top: 0;
    left: 0;
    background: #e61919;
    padding: 10px 0;

}

.top-header p {
    font-weight:  400; 
    word-wrap: break-word; 
    font-family: futura-pt, sans-serif;
    font-size: 16px;
}

.top-header a {
     text-align: center;
    -webkit-transition: height .3s cubic-bezier(.23,1,.32,1);
    -moz-transition: height .3s cubic-bezier(.23,1,.32,1);
    -ms-transition: height .3s cubic-bezier(.23,1,.32,1);
    -o-transition: height .3s cubic-bezier(.23,1,.32,1);
    transition: height .3s cubic-bezier(.23,1,.32,1);
    color: #fff;
    margin: 0;
    font-family: Helvetica,Arial,sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 1.38px;
    text-decoration: none;  
}

.top-header a:hover {
    color: #fff;
    text-decoration: none;  
}


.header {
    min-height: 101px;
    display: block;
    left: 0;
    z-index: 1001;
    height: auto;
    width: 100%;
    padding: 20px;
    background-color: rgb(255, 255, 255);
}

.logo-wrapper {
    width: 20%;
    float: left;
}

.logo {
    height: auto;
    display: inline-block;
    width: 205px;
    min-height: auto;
    padding: 0;
    vertical-align: middle;
}


/* ------------- Navigation ------------- */

.nav-wrapper {
    margin: 0 auto;
    text-align:  right;
    padding: 15px;
}

nav {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    min-width: 1100px;
}

nav ul {
    list-style: none;
    padding: 0;
    display: inline-block;
    position: relative;
}

nav ul li {
    position: relative;
    display: inline-block;
    position: relative;
}


nav a {
    position: relative;
    display: inline-block;
    font-style: normal;
    padding: 9px 12px;
    font-weight: 900;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1em;
    color: #100a0a;
        -webkit-transition: background-color .1s 0s ease-in-out,color .1s 0s ease-in-out;
    -moz-transition: background-color .1s 0s ease-in-out,color .1s 0s ease-in-out;
    -ms-transition: background-color .1s 0s ease-in-out,color .1s 0s ease-in-out;
    -o-transition: background-color .1s 0s ease-in-out,color .1s 0s ease-in-out;
    transition: background-color .1s 0s ease-in-out,color .1s 0s ease-in-out;
}

nav a:hover {
    color: #e61919;
    text-decoration: none;
}

ul {
    list-style: none;
}

.donate a {
    border: 2px solid #e61919;
    color: #e61919;
    font-weight: 400;
    padding: 12px 18px;
}

.donate a:hover {
    background-color: #e61919;
    color: #efefef;
}

/* ---------- Main content area --------- */

.maincell {
    width: 1080px;
    min-width: 300px;
    margin: 10px auto 10px;
    min-height: 500px;
    padding: 10px;
    position: relative;
}

.tt-page-4102 #TBL5779 #TBLitems {
    width: 460px;
    padding: 0 2px;
    margin-top: 10px;
}

.tt-page-4102 #TBL5779 #TBLitems .normal {
   font-size: 18px;
   font-weight: 600;
}

.tt-page-4102 #TBL5779 #TBLitems img {
    margin-left: 25px;
}


/* ------------- Links ------------------ */
/* Link outside of .content section, e.g. admin links at top of page, footer secti*/
 
a {
    color: #e61919;
    text-decoration: underline;
}

a:hover {
    color: #e61919;
    text-decoration: none;
}

/* Link in divs or tables with content class (those inside a table or div with .content class) Include/style if
   the content area background color contrasts the page background. If no contrast, these rules can be removed */
.content a {
    color: #e61919;
    text-decoration: underline;
}

.content a:hover {
    color: #e61919;
    text-decoration: none;
}



/*Performance Selection Page*/
.tt-page-178 #A2538  {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    margin-left: -15px;
   color: #312811;
   text-decoration: underline;
}

.tt-page-178 #A2538:hover  {
   color: #312811;
   text-decoration: underline;
}

/*Enrollment Page*/
.tt-page-9498 .restore_pos {
   color: #312811;
   text-decoration: underline;
}

.tt-page-9498 .restore_pos:hover {
   color: #312811;
   text-decoration: underline;
}

/* Styles buy/add buttons on following buy paths: Main ticketing, Retail, Membership, Passes */
#Abuy_tickets,
#Aitem_select,
#mem_select a,
#Apass_select {
    white-space: nowrap;
    z-index: 1;
    margin: 0 5px;
    text-align: center;
    position: relative;
    display: inline-block;
    font-style: normal;
    color: #ffffff;
    background: #e61919;
    transition: all 1s;
    -moz-transition: all 1s;
    -webkit-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 16px;
    text-decoration: none;
    padding: 8px 20px;
}

#Abuy_tickets:hover,
#Aitem_select:hover,
#mem_select a:hover,
#Apass_select:hover {
    text-decoration: none;
    background: #f55a5a;
    color: #fffcfc;
}


/* Removes underline on button label text. Necessary if a link is underlined*/
.btn-primary {
    border-radius: 0;
    background-color: #e61919;
    border: none;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-primary:hover {
    background-color: #000;
}

.btn-default {
    border-radius: 0;
    background-color: #e61919;
    border: none;
    color: #fff !important;
    margin-right: 7px;
    text-decoration: none !important;
}

.btn-default:hover {
    background-color: #000;
}

#TXTpass_name {
    white-space: nowrap;
    font-weight: bold;
}

/* --------------- Fonts ---------------- */
/* normal and content classes are included throughout the code;
   These declarations should match body */
.normal {
    font-size: 16px;
    color: #575757;
}

.content {
    font-size: 16px;
    color: #575757;
}

h1 {
    font-size: 30px;
    color: #4a4a4a;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 4px;
    padding: 10px 0;
}

h2 {
    font-size: 26px;
    color: #4a4a4a;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 4px;
    padding: 10px 0;
}

h3 {
    font-size: 20px;
    font-weight: 300;
    margin-top: 0;
    margin-bottom: 4px;
}

.emph {
    color: #212121;
    font-weight: 700;
}

.message {
    background-color: red;
    color: #fff;
    font-size: 150%;
    padding: 5px;
}

.error {
    background-color: red;
    color: #fff;
    font-size: 150%;
    padding: 5px;
}

.tt-page-794 .help-block {
    color: #fff !important;
    font-size: 20px;
    background-color: red;
    padding: 5px 16px;
}

/* ------------ BUY TICKETS ------------- */
/* Adds line separator between shows on main ticketing page */
.tt-page-160 .show_text_div {
    border-top: 1px solid #ccc;
    padding: 10px 0 20px;
}

.tt-page-160 th div.show_text_div {
    border: transparent;
}

/*Removes hr from top event*/
#TBL412 > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td:nth-child(2) > div {
    border-top: 0px solid #ccc;
    padding-top: 5px;
}



/* Adds line separator between shows on preseason ticketing page */
.tt-page-3679 #TBL3686 > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(n) > td:nth-child(2) {
   border-top: 1px solid #818181;
   padding-bottom: 20px;
   padding-top: 10px;
}

/*Removes hr from top event on preseason ticketing page*/
.tt-page-3679 #TBL3686 > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(2) > td:nth-child(2) {
    border-top: 0px solid #ccc;
    padding-top: 5px;
}


/* Add vert spacing between show img and desc on Select a perf page */
.tt-page-178 .show_text_div {
    padding-top: 20px;
}

/* Add horz space between show dividing line and buy tickets button */
#Abuy_tickets {
    margin-left: 10px;
}

/* Formats information sidebar on main ticketing page */
#TBL180 {
    border-left: 1px solid #ccc;
    padding: 10px;
    width: 200px;
}


/* Center add-on item check box on ticket buy path */
#person_type_table input[type=checkbox] {
    margin: 4px 0 0 45%;
}

/* Formats information sidebar on preseason page */
#TBL3681 {
    border-left: 2px solid #212121;
    padding-left: 5px;
    width: 200px;
}

/* Formats col headers in review order table */
.pp-order-summary th {
    text-align: left;
}

/* ------------ Tables Global ----------- */
/* Formats column header text */
.headtext {
    color: #ffffff;
    font-size: 15px;
    font-weight: bold;
}

.htable th {
    background-color: #000000;
    color: #fff;
    font-size: 15px;
    padding: 0 15px;
}

.htable td {
    color: #000;
    padding: 1px 0px 1px;
    text-align: left;
}

/* Formats tables, like the email table on the Customer Info page, and the "Subscribe" column header text in that table */
.table-bordered th {
    background-color: #000;
    color: #fff;
    font-size: 15px;
    padding: 3px 5px;
}

/* Sets the asterisk color to white / increases font size - helpful if the table-bordered th background color is dark */
.table-bordered .required_asterisk {
    color: #fff;
    font-size: 18px;
    line-height: 100%;
}

/* Email address table */
#TBLemails td {
    text-align: center;
}

/* --------------- PASSES --------------- */
/* Vertically align text in passes for sale table */
#TBLpasses td {
    vertical-align: top;
    padding: 10px 10px 10px 0;
}

#TBLpasses td:last-of-type {
    padding-right: 0;
}

/* Adds vert spacing betwen Passes in Cart and Passes for Sale tables */
#TBLpass_cart {
    margin-bottom: 20px;
    width: 780px;
}

/* Formats table for gift certificate sales */
#TBL5776 {
    border-left: 2px solid #212121;
    padding-left: 5px;
    min-width: 250px;
}

/* Formats width for "Add this item to your cart" text */
#TBL4146 {
    min-width: 230px;
}

.tt-page-6923 .leftCol {
    padding-right: 15px;
}

/* ------------- ENROLLMENT ------------- */
/* Adds padding between liability release text and signature block */
.tt-page-9512 .kcolumn td {
    padding: 0 20px 20px 0;
}

/* Formats "I agree to the release" button to match btn-primary */
.tt-page-9512 #BTN9517 {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}

/* ------------- MEMBERSHIP ------------- */
/* Formats membership listing table */
#membership_level_table th {
    background-color: #000;
    color: #fff;
    font-size: 15px;
    padding: 5px 15px 5px 5px;
    white-space: nowrap;
}

/* Formats membership listing table and renewal table on membership page */
#mem_amount {
    text-align: center;
}

/* Adds a dollar sign in front of the membership prices */
td#mem_amount:before {
    content: "$";
}

/* Formats Select Membership link on membership public page; supplemental to format in links section */
#mem_select {
    font-weight: bold;
    text-transform: uppercase;
}

/* Adds padding to memberships in membership list */
#membership_level_table td {
    padding: 5px 3px;
}

/* Move Back to donation details button to the left, under Membership header */
#BTNbackFromPayment {
    position: relative;
    left: -230px;
}

/* Formats the Membership Renewal table (not to be confused with the List of Memberships table) */
#membership_table {
    border-bottom: 1px dashed #666;
    box-shadow: inset 0 -1px 0 0 #666, 0 1px 0 0 #666;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

#membership_table th {
    background-color: #000;
    color: #fff;
    font-size: 15px;
    padding: 5px 8px 5px 10px;
    vertical-align: top;
}

#membership_table td {
    color: #212121;
    padding: 0 5px;
}

/* --------------- IMAGES --------------- */
/* Images on main ticketing page */
.show_image_div img {
    max-width: 250px;
    padding-right: 15px;
    min-height: auto;
}

/* Images on Select a perf page */
#TBL2885 #TBL236 img {
    width: 250px;
    padding-right: 5px;
}

.tt-page-178 #TBLperformances .image_user  {
     margin-right: 5px;
     margin-top: 4px;
}

/* Positions text at the top of cell instead of in the
   middle, which tends to be the default otherwise */

td {
    vertical-align: top;
    padding: 0;
}

.page_public {
    width: 100%;
}

.pp-order-summary td {
    font-family: unset;
}

.tt-page-178 #TBL236 {
    width: 350px;
}

/* ----------- SEATING CHART ------------ */
/* Formats STAGE text on seatmap page */
.stagelabel {
    background-color: #000;
    color: #fff;
    font-size: 24px;
    text-align: center;
    vertical-align: middle;
}

/* Formats labels on dining table seating chart */
.table {
    background-color: #000;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}

.table_round {
    background-color: #000;
    border-radius: 50%;
    color: #fff;
}

/* Formats row labels and other text on seatmap */
.seat_label_td {
    color: #1f1f1f;
    font-size: 10px;
}

/* ----------- FOOTER SECTION ----------- */

.top-footer {
     background-color: #4c4848;
     height: 110px;
}

.social {
    text-align: center;
    padding-top: 40px;
}

.social a {
    width: 36px;
    height: 36px;
    margin-right: 10px;
    float: left;
    font-size: 20px;
    color: #4b4747;
    background-color: #fff;
    text-align: center;
    padding: 8px;
    border-radius: 50px;
    opacity: 1;
    display: inline-block;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: background-color 170ms ease-in-out;
    -moz-transition: background-color 170ms ease-in-out;
    -ms-transition: background-color 170ms ease-in-out;
    -o-transition: background-color 170ms ease-in-out;
    transition: background-color 170ms ease-in-out;
}

.social a:hover {
   opacity: .6;
}

.social ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.social ul li {
    position: relative;
    display: inline-block;
}

.footer-wrap {
    height: 162px;
    min-height:  auto;
    position: relative;
    color: rgba(252,252,252,.8);
    font-weight: 400;
    line-height: 42px;
    font-size: 16px;
    background-color: #7b6b6b;
    text-align: center;
}

.footer {
    margin: 0 auto;
    width: 1000px;
    padding: 0;
    font-weight:  400;
    line-height: 2.2em;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(252,252,252,.8);
    text-align: center;
    white-space: nowrap;
    padding: 56px 32px 0 ;
}

.footer a {
    color: rgba(252,252,252,.8);
    text-decoration: none;
}

#siteInfo {
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(252,252,252,.8);
    text-align: center;
    white-space: nowrap;
}

.site-address+.site-phone, .site-address+.site-email, .site-phone+.site-email {
    margin-left: 1em;
}

#siteInfo a, #siteInfo a:visited {
    color: rgba(252,252,252,.8);
    text-decoration: none;
}

/*Custom formatting below - mk */



/*fixes formatting issues on subscription checkout screen */
.tt-page-11182 #TBLsubscription-tickets {
    width: 700px;
}

.tt-page-11182 #TBLpayment_details {
    margin: 45px 5px;
}

.tt-page-11182 #TBL786 {
    margin: 0 10px;
}

.tt-page-11182 .pp-order-summary {
   width: 690px !important;
}


/*Formats Retail Page */
.tt-page-4102 #BTNbackFromPayment, #BTNcancel {
    background:#000;
}

.tt-page-4102 .htable th {
    background: #000;
}

.tt-page-4102 #TBLitems td {
    vertical-align:middle;
}

.tt-page-4102 #TBLitems tr td {
    background:#f4f4f4;
    padding:16px 10px;
    font-weight:bold;
}

.tt-page-4102 #TBLitems tr:nth-child(odd) td {
    background:#dedede;
}

.tt-page-4102 #TBL5776 {
    border:none;
    margin-left:36px;
}

.tt-page-4102 #gift_cert_intro p {
    text-align:left !important;
    padding-left:0 !important;
}

.tt-page-4102 #TBL5776 td {
    padding:10px 0;
}

.tt-page-4102 #TBL4146 {
    background:#eee;

}

.tt-page-4102 #TBL4146> tbody > tr>  td {
    padding:16px;
}

.tt-page-4102 #BTNitem_add {
    margin-bottom:16px;
}


/*Formats Membership Page */
.tt-page-8573 #membership_level_table th {
    background:#000;
}

.tt-page-8573 #membership_level_table td {
    padding:10px 10px;
}

.tt-page-8573 #membership_level_table tr td {
    background:#f4f4f4;
}

.tt-page-8573 #membership_level_table tr:nth-child(odd) td {
    background:#ddd
}


input[type=submit] {
     font-style: normal;
     color: #fff;
     background-color: #e61919;
     display: inline-block;
     font-size: 16px;
     padding: 6px 16px;
     margin-left: 10px;
     font-weight: 500;
     text-decoration: none;
     white-space: nowrap;
     position: relative;
     border:none;
     border-radius: 0;
     vertical-align:middle;
}

input[type=submit]:hover {
        background-color: #052635;
        color: #fff;
}

#BTNbtn_guest {
    color: #000;
    background-color: #d4d4d4;
    border: 1px solid #737171;
    margin: 1px 4px;
    padding: 4px 10px;
    border-radius: 5px;
}

#BTNbtn_guest:hover {
    color: #000;
    background-color: #bdbaba;
    border: 1px solid #1f1f1f;
    margin: 1px 4px;
    padding: 4px 10px;
    border-radius: 5px;
}

.btn-sm-bs3 {
    padding: 5px 10px;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 0;
}


/* This fixes formatting on Donation Page*/
.tt-page-3465 #TBL4188 .leftCol {
    width: 335px;
    line-height: 1.5em;
}

.tt-page-3465 h1 {
   margin-bottom: 35px;
}

/* This reduces the bottom margin for Person Types on the GA performance screen*/
.tt-page-794 .ga-person-type-selector .person-type-container {
    margin-bottom: 1px;
}


.confirmPPemail .well {
    background-color: #e1e8eaba;
    margin-right: 10px;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #bec0c1ba;
}