body {
    font: 14px Verdana, Arial, sans-serif;
    background-color: #fff
}

.header .usr {
    font-size: small;
    position: absolute;
    color: #fff;
    margin-top: 10px;
    text-align: right
}

.header .usr a {
    color: #fff;
    text-decoration: none
}

.header .usr a:hover {
    color: #0026ff;
    text-decoration: underline
}

.header #address {
    font-family: Arial, sans-serif;
    color: #fff;
    text-align: right;
    position: absolute
}

.logoLink {
    height: 154px;
    width: 439px;
    background: url('/images/vt_sprite.png') no-repeat;
    display: block
}

.footer {
    background-color: #fff;
    border-top: 1px dashed #949494
}

.clear {
    clear: both;
    padding: 0 !important
}

.hdrText {
    color: #3e432d;
    font-family: 'Times New Roman', serif;
    font-size: 25px;
    font-weight: bold;
    text-align: center
}

.alignTextCenter {
    text-align: center
}

.alignTextLeft {
    text-align: left
}

.alignTextRight {
    text-align: right
}

.noPad {
    padding: 0 !important
}

.leftContent {
    text-align: left
}

.floatLeft {
    float: left
}

.floatRight {
    float: right
}

.vtInfo {
    text-align: left
}

.socMediaContainer .googlePlusContainer,
.socMediaContainer .twitterContainer {
    margin-left: 15px;
    width: 60px
}

.showHeader {
    font-family: 'Rufina', serif;
    font-size: 34px;
    font-weight: 700;
    text-align: center;
    margin-top: -20px
}

.showDescription {
    padding: 0 20px 20px;
    text-align: center
}

.upcomingContainer {
    font-family: 'Rufina', serif;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin: -10px auto 0 auto;
    border-top: 1px solid rgba(78, 0, 0, .25);
    width: 95%
}

.upcomingContainer .upcomingEventDate {
    color: #4e0004;
    font-size: .85em
}

.showTitle {
    font-size: 1.45em
}

.showTimeDescription {
    color: #4e0004;
    font-size: .85em;
    border-top: 1px solid #4e0004;
    border-bottom: 1px solid #4e0004
}

.currentShowDates {
    padding-bottom: 10px;
    width: 265px;
    float: left
}

.currentShowTimes {
    font-size: .85em;
    vertical-align: bottom;
    padding-bottom: 0;
    width: 300px;
    float: right
}

.showDateInfo {
    padding: 0 20px 20px
}

.leftContent .upcomingGeneralShowInfo {
    padding-bottom: 0;
    padding-top: 0
}

.leftContent .upcomingGeneralShowInfo div,
.leftContent .upcomingGeneralShowInfo div p {
    padding-top: 0
}

.upcomingGeneralShowInfo .showTitle {
    font-weight: bold;
    font-size: 1.25em;
    text-decoration: underline
}

.upcomingGeneralShowInfo .showDatesLabel,
.upcomingGeneralShowInfo p.upcomingShowDates {
    margin-left: 10px
}

.upcomingGeneralShowInfo .showDatesLabel {
    font-weight: bold;
    padding: 0
}

.redButton,
.redButtonSmall {
    text-align: right;
    background-color: #4e0004;
    border: 0;
    color: #fff;
    cursor: pointer
}

.redButton {
    font-size: 1.25em;
    padding: 5px 10px;
    margin: 0 0 10px
}

.redButtonSmall {
    font-size: 1em;
    padding: 2px 4px
}

.smallLink,
a {
    color: #4e0004;
    text-decoration: none
}

.smallLink {
    font-size: .75em
}

.smallLink:hover,
a:hover {
    text-decoration: underline
}

.shadow {
    box-shadow: 5px 5px #dcdcdc;
    -webkit-box-shadow: 5px 5px #dcdcdc;
    -moz-box-shadow: 5px 5px #dcdcdc;
    filter: progid:DXImageTransform.Microsoft.dropShadow(color=#000000, offX=5, offY=5, positive=true)
}

.contact td:first-child {
    font-weight: bold;
    vertical-align: top;
    padding-right: 10px
}

.subscribeTable {
    text-align: left
}

.subscribeTable td.subscribeTo {
    padding-left: 10px
}

.instructions {
    padding-bottom: 10px
}

.notFound {
    font-size: .85em;
    color: red;
    padding: 10px
}

.emailImageDv,
.manageSiteImageDv {
    float: left;
    padding: 15px
}

.subscriptionContainer,
.manageSiteContainer {
    float: right;
    text-align: left
}

.buyTickets {
    font-size: .85em;
    background-color: #f7f33e;
    padding: 2px !important
}

.ticketsImgContainer {
    padding: 30px;
    float: left;
    margin-top: -30px
}

.ticketsImg {
    width: 173px;
    height: 150px;
    background: url('/Images/Tickets.png') no-repeat;
    float: left
}

.confirmHeader {
    padding-top: 25px;
    color: #2d0102;
    font-size: 56px;
    font-family: 'Segoe Script', 'Times New Roman', serif
}

.confirmInstructions {
    width: 65%;
    padding-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
    text-align: left
}

.valentinesText {
    color: #ff006d;
    font-weight: bold
}

#prompt .ui-button-text {
    font-size: 10px;
    padding: 1px 1px 1px 1px
}

.ticketShows {
    margin-left: auto;
    margin-right: auto
}

.ticketShows img[src="/Images/Shows/Improv/ImprovUndergroundLogo.png"] {
    width: 300px
}

.ticketShows .showDescription,
.ticketShows .showDateInfo,
.ticketShows .upcomingContainer {
    display: none
}

.banner-announce {
    background-color: #fcf8ab;
    padding: 5px
}

.banner-announce .announce-dismiss {
    padding: 5px;
    font-size: 20px;
    float: right;
    cursor: pointer
}

.banner-announce .banner-announce-header {
    font-size: 20px;
    padding: 5px;
    cursor: pointer
}

.banner-announce .banner-announce-header i {
    padding-left: 10px
}

.banner-announce .banner-announce-detail {
    display: none
}




























/* ---------------  Begin Desktop-specific Styles ----------------- */
@media screen and (min-width: 1024px) {
    body {
        background-image: url("/images/pg_bkgnd.jpg");
        margin: 0 auto
    }

    .siteContainer {
        width: 960px;
        border: 1px solid #5c0202;
        text-align: center;
        margin: 0 auto;
        background-color: #fff;
        box-shadow: 0 16px 40px 0 #490000;
        -moz-box-shadow: 0 16px 40px 0 #490000;
        -webkit-box-shadow: 0 16px 40px 0 #490000
    }

    .leftContent {
        width: 640px;
    }

    .leftContent,
    .rightContent {
        float: left;
    }

    .leftContent div {
        padding: 10px
    }

    .logoContainer div {
        padding: 20px 0 0 20px
    }

    .header {
        background: url('/images/vt_hdr_bkgd_960_240.jpg');
        width: 960px;
        /* height: 240px */
        height: 195px;
        /* removal of the menu. */
    }

    .header.snow {
        background: url('/images/vt_hdr_bkgd_960_240_snow.jpg')
    }

    .header .usr {
        width: 940px
    }

    .header #address {
        margin: -45px 0 0 735px;
        font-size: 15pt;
        width: 200px
    }

    ul#vtMenu {
        font-size: 12pt;
        margin: 30px 0 0 -30px;
        font-family: Verdana, Arial, sans-serif;
        text-align: left
    }

    ul#vtMenu li {
        display: inline;
        list-style: none;
        border-right: 1px solid #dcdcdc;
        padding: 0 15px;
        border-right: 1px solid #dcdcdc
    }

    ul#vtMenu li:last-child {
        border-right: 0
    }

    ul#vtMenu li a {
        background: none;
        color: #999;
        text-decoration: none
    }

    ul#vtMenu li a:hover {
        color: #fff;
        text-decoration: none
    }

    .bodyContent {
        background-color: #fff;
        overflow: hidden;
        position: relative;
        width: 100%
    }

    .featuredItemsContainer {
        background: url('/images/vt_bkgd_features.jpg');
        height: 160px
    }

    .rightContent {
        width: 320px;
        float: right;
        right: 0;
        padding-bottom: 10px;
    }

    .leftDivider {
        border-left: 1px solid #2d0102
    }

    .vtInfo {
        padding: 0 5px
    }

    .vtInfoHdr {
        font-weight: bold;
    }

    .vtInfoHdr.desktop {
        display: block;
        margin: 1em 0;
    }

    .vtInfoHdr.mobile,
    .vtInfo .address {
        display: none;
    }

    .vtImageContainer {
        width: 315px;
        padding: 5px 5px 0 0
    }

    .vtImageContainer img {
        width: 310px;
    }

    .emailImageDv,
    .manageSiteImageDv {
        width: 270px
    }

    .subscriptionContainer,
    .manageSiteContainer {
        width: 660px
    }

    div.subscribeTable {
        display: table
    }

    div.subscribeTable div.row {
        display: table-row;
        clear: both
    }

    div.subscribeTable div.row div.cell {
        display: table-cell
    }

    div.subscribeTable div.row div.cell.colspan2 {
        width: 100%
    }

    .subscriptionOptionSeparator:before {
        content: "|"
    }

    div.row.findEmail div.cell {
        white-space: nowrap;
        padding-right: 10px
    }

    div.row.findEmail div.cell:last-child {
        width: 100px;
        text-align: left
    }

    div.row.findEmail div.cell input[type=text] {
        width: 100%
    }

    div.row.findEmail div.cell input[type=submit] {
        top: 5px;
        position: relative
    }

    .subscribeSubmit {
        float: left
    }

    .subscribeInfo div.cell {
        padding-top: 5px
    }

    .subscribeInfo div.row div.cell:first-child {
        width: 300px
    }

    .subscribeOtherOptions {
        float: right;
        margin-top: 15px
    }

    .ui-dialog-title {
        white-space: normal !important
    }

    .buyTickets {
        float: left
    }

    #posterImg {
        width: 600px
    }

    #posterHeaderImg {
        max-width: 100%;
        margin-left: 0;
        border: 1px solid #a4a4a4
    }

    .upcomingContainer .upcomingEventDate {
        margin-top: -15px
    }

    .currentShowTimes .ticketPrices {
        padding-left: 0;
        font-size: .85em
    }
}

/*---------------  End Desktop-specific styles ------------------ */






































/* ---------------  Begin Mobile-specific Styles ----------------- */

@media screen and (max-width: 1023px) {
    body {
        font-size: 16px;
        margin: 0
    }

    .rightContent {
        margin-top: 20px;
    }

    .view-switcher {
        font-weight: normal;
        padding-bottom: 5px
    }

    .field-validation-error {
        color: #e80c4d;
        font-weight: bold
    }

    .field-validation-valid {
        display: none
    }

    input[type="text"].input-validation-error,
    input[type="password"].input-validation-error {
        border: solid 1px #e80c4d
    }

    .validation-summary-errors {
        color: #e80c4d;
        font-weight: bold;
        font-size: 1.1em
    }

    .validation-summary-valid {
        display: none
    }

    .logoContainer div {
        padding: 10px 0 0 10px
    }

    .header {
        background: url('/images/vt_hdr_bkgd_640_160.jpg');
        width: 100%;
        max-width: 100%;
        height: 130px
    }

    .header.snow {
        background: url('/images/vt_hdr_bkgd_640_160_snow.jpg')
    }

    .logoLink {
        height: 103px;
        width: 293px;
        background: url('/images/vt_sprite_m.png') no-repeat;
        display: block
    }

    .footerLinks {
        font-size: 1em;
        text-align: left;
        margin: 0
    }

    @media all and (max-width:325px) {
        .footerSubscribe {
            font-size: .85em
        }
    }

    .footer {
        border: 0;
        text-align: center
    }

    ul#vtMenu {
        font-family: Verdana, Arial, sans-serif;
        text-align: left;
        padding: 0 5%;
        margin: 0
    }

    ul#vtMenu li {
        list-style: none;
        border-bottom: 1px solid #dcdcdc;
        height: 40px;
        position: relative
    }

    ul#vtMenu li div {
        background: none;
        color: #484848;
        position: absolute;
        top: 25%
    }

    .vtImageContainer {
        width: 100%;
        text-align: center
    }

    vtInfoHdr,
    .vtInfo {
        width: 100%;
        margin-bottom: 10px
    }

    .vtInfoHdr {
        font-size: 1.25em;
        font-weight: bold;
        text-align: center;
        border-top: 1px dashed #949494;
        border-bottom: 1px dashed #949494;
        margin-bottom: 5px
    }

    .vtInfoHdr.desktop {
        display: none;
    }

    .vtInfoHdr.mobile,
    .vtInfo .address {
        display: block;
    }

    .header .address {
        display: none;  
    }

    .vtInfo .info {
        margin-left: 10px;
        padding: 1.5em 0;
    }

    .socMediaContainer {
        height: 25px;
        clear: both;
        margin: 10px 0 0 10px
    }

    .leftContent .upcomingGeneralShowInfo {
        margin: 10px
    }

    .eventTitle {
        background-color: #4e0004;
        color: #fff;
        font-size: 1.5em;
        padding: 20px
    }

    .eventTitle:first-child {
        margin-top: 20px
    }

    ul.calEvents {
        margin: 0;
        padding: 0
    }

    ul.calEvents li.eventItem {
        list-style: none;
        font-size: 1em;
        border-top: 1px solid #dcdcdc;
        padding: 20px 10px;
        text-align: left
    }

    ul.calEvents li.eventItem:last-child {
        border-bottom: 1px solid #dcdcdc
    }

    ul.calEvents li.eventItem.matinee .eventTime {
        font-size: .8em
    }

    ul .calEvents li.eventItem.clickable {
        cursor: pointer
    }

    ul.calEvents li.calEventDetails {
        display: none;
        list-style: none
    }

    ul.calEvents li.calEventDetails div {
        text-align: left;
        padding: 10px
    }

    .emailImageDv,
    .manageSiteImageDv,
    .emailImageDv img,
    .manageSiteImageDv img {
        display: none
    }

    .buyTickets {
        float: right
    }

    .subscriptionContainer,
    .manageSiteContainer {
        width: 100%
    }

    .subscriptionContainer h2 {
        text-align: center;
        margin-top: 0
    }

    .subscriptionContainer form {
        margin: 0 10px 40px 10px
    }

    .subscriptionContainer .instructions {
        margin-left: 10px
    }

    div.row.findEmail div.cell {
        padding-bottom: 10px
    }

    .subscribeInfo {
        padding-bottom: 20px
    }

    .subscribeInfo div.row div.cell {
        margin-left: 10px
    }

    .subscribeInfo div.row div.cell:first-child {
        font-weight: bold
    }

    .subscribeInfo .subscriptionOptionSeparator {
        border: 0
    }

    .subscribeInfo div.cell.subscribeOtherOptions {
        text-align: center;
        font-weight: normal !important
    }

    .subscribeInfo .subscribeTable+div {
        margin-left: 10px
    }

    .redButtonSmall {
        font-size: 1.25rem;
        padding: 5px 10px;
        margin: 0 0 10px
    }

    .subscribeTable {
        width: 100%
    }

    div.subscribeTable div.row {
        padding-top: 10px
    }

    div.subscribeTable div.cell input[type=text] {
        height: 30px
    }

    div.subscribeTable div.cell input[type=checkbox] {
        height: 20px;
        width: 20px
    }

    .subscriptionOptionSeparator {
        display: block;
        margin: 15px 0;
        border-bottom: 1px solid #dcdcdc
    }

    .eventSelector {
        display: inline;
        float: right;
        margin-right: 10px
    }

    .downArrow:before {
        font-family: FontAwesome;
        content: ""
    }

    .upArrow:before {
        font-family: FontAwesome;
        content: ""
    }

    .smallLink {
        font-size: 1em
    }

    .leftContent.ticketShows {
        margin-top: 15px
    }

    .leftContent.ticketShows div {
        padding: 0
    }

    .ticketShows .upcomingContainer {
        display: none
    }

    .dvEventsContainer h2 {
        text-align: center
    }

    .showMoreDetailsContainer,
    .ticketSelectionContainer {
        background-color: #fff;
        padding: 10px;
        margin-top: 10px;
        display: none
    }

    .showHeader {
        margin-top: 0
    }

    .showDescription {
        padding-top: 10px
    }

    .ticketSelectionContainer {
        border: 1px solid #dcdcdc
    }

    .ticketSelectionContainer input {
        font-size: 1.15em;
        border: 1px solid #dcdcdc;
        padding: 5px;
        text-align: center
    }

    .ticketSelectionContainer input[type=text] {
        width: 25px
    }

    .ticketSelectionContainer input[type=submit] {
        padding: 5px 10px
    }

    .ticketSelectionContainer select {
        font-size: 1.15em;
        padding: 5px
    }

    .ticketSelectionContainer .quantity {
        float: left
    }

    .ticketSelectionContainer .submit {
        float: right
    }

    .ticketSelectionContainer .ticketPurchaseInfo {
        clear: both
    }

    .ticketSelectionContainer form .selectionRow {
        padding-top: 10px
    }

    .ticketSelectionContainer form .selectionRow:first-of-type {
        padding-top: 5px
    }

    .confirmHeader {
        margin: 0 20px
    }

    .confirmHeader img {
        width: 100%
    }

    .confirmInstructions {
        width: 90%
    }

    .ticketsImgContainer {
        display: none
    }

    .banner-announce {
        background-color: #fcf8ab;
        padding: 5px 15px
    }

    .banner-announce .announce-date {
        display: block
    }

    .banner-announce .banner-announce-header {
        margin: 0 auto;
        width: 450px;
        font-size: 1.5em
    }

    .banner-announce .banner-announce-header div {
        float: left;
        font-size: .85em
    }

    .banner-announce .announce-dismiss {
        font-size: 35px;
        margin-top: 5px
    }

    .currentShowTimes {
        font-size: 1rem;
        width: 100%
    }

    .currentShowTimes .ticketPrices {
        padding-top: 10px
    }

    .showTimeDescription {
        padding: 10px 0
    }

    .hdrText {
        padding-top: 10px
    }

    .hdrText.no-show {
        padding: 15px;
    }

    #posterImg {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
        margin-top: 10px
    }

    #posterHeaderImg {
        max-width: 100%;
        margin-left: 0
    }
}

/*---------------  End Mobile-specific styles ------------------ */

.calendarTable {
    border-collapse: collapse
}

.calendarTable td {
    border: 1px solid #000
}

.targetMonthCell,
.outsideMonthCell {
    width: 75px;
    height: 75px;
    vertical-align: top
}

.outsideMonthCell {
    color: #ababab
}

.dayOfTheMonth {
    font-size: .5em
}

.event,
.clickEvent {
    font-size: .75em
}

.clickEvent {
    cursor: pointer
}

.eventSpacer {
    margin-top: 5px
}

.monthName,
.prevMonthName,
.nextMonthName {
    padding: 5px
}

.monthName {
    border-left: 0 none !important;
    border-right: 0 none !important;
    text-align: center;
    font-size: 1.25em
}

.prevMonthName {
    border-right: 0 none !important;
    cursor: pointer;
    font-size: .85em
}

.nextMonthName {
    border-left: 0 none !important;
    text-align: right;
    cursor: pointer;
    font-size: .85em
}

.weekDayName {
    text-align: center
}

.selectedEvent {
    background-color: #dcdcdc
}

.prevMonthName {
    border-right: 0 none;
    cursor: pointer;
    font-size: .85em
}

.nextMonthName {
    border-left: 0 none;
    text-align: right;
    cursor: pointer;
    font-size: .85em
}

.calAnnouncements {
    font-size: .85em
}

.announceHeader {
    font-weight: bold
}

.announcement {
    color: #454545;
    padding-top: 5px
}