﻿/* 
    Image & Table Sizes
    ===================
    Page Header Image Width                 = 920
    Left Column Header Image Width          = 648
    Right Column Header Image Width         = 234
    Single Column Maximum Content Width     = 920
    Left Column Maximum Content Width       = 648
    Right Column Maximum Content Width      = 234
    Tour Tabs Maximum Content Width         = 648
    Booking Pages Maximum Content Width     = 683

    Image Gallery Thumbnail Width           = 124

    Image Dimensions
    ================
    Header Images   = 920 x 290
    Logo            = 590 x 143

    TBS Demo
    ========
    #eef5fb = Main background colour (when background image is not visible)
    #0761a6 = User bar background (when background image is not visible)
    #09498f = User bar social media background
    #f8dd01 = User bar tel no
    #fff    = Main body content background, inputs background, button text, user bar text, menu text, table header text, bottom navigation bar text, tab text, grid header text, odd rows in tables background
    #ffee00 = Menu hover over text
    #666666 = Body text, links, h3 tags, input text, mid level site map text, calendar text, web heading and web items header text, tab current & hover background
    #cc0000 = Links hover over text, inputs shadow on focus, h1 tags, h2 tags, button background, top menu background, bottom bar background, site map top level, row hover on tables
    #9c9ea1 = Inputs border, field group borders, widget separator line, table header background, tabs background, tour itinerary border, booking grids background
    #333333 = Footer bar
    #ccc    = Powered by DSL text, table bottom borders
    #edecec = Web headings and web items background, even rows in tables, right column background, image gallery background, pick-ups summary background
    #707070 = Site map lowest level, FAQ back to top
    #ECE9D8 = Seating plan cells border

    #ff0000 = Error message text, error input border
    #fee    = Error input background
    #EAEAEA = Error page background
    #eeeeee = Input disabled background
*/

.rs-slideshow {
    height: 290px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    position: relative;
    width: 920px;
}

@font-face {
    font-family: 'MuseoSlab500';
    src: url('Fonts/MuseoSlab500/MuseoSlab500-webfont.eot');
    src: url('Fonts/MuseoSlab500/MuseoSlab500-webfont.eot?#iefix') format('embedded-opentype'),
         url('Fonts/MuseoSlab500/MuseoSlab500-webfont.woff') format('woff'),
         url('Fonts/MuseoSlab500/MuseoSlab500-webfont.ttf') format('truetype'),
         url('Fonts/MuseoSlab500/MuseoSlab500-webfont.svg#MuseoSlab500') format('svg');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    word-wrap: break-word;
}

#FormValue1 {
    display: none;
}

body {
    background: #eef5fb;
    color: #666666;
}

body, label, input, select, textarea {
    font-family: Arial, sans-serif;
    font-size: 14px;
}

p, label {
    line-height: 20px;
}

.FieldLabel {
    line-height: normal;
}

img {
    border: 0;
}

a {
    color: #666666;
}

    a:hover {
        color: #cc0000;
    }

h1 {
    color: #cc0000;
    font-family: 'MuseoSlab500';
    font-size: 32px;
    font-weight: 500;
}

h2 {
    color: #cc0000;
    font-family: 'MuseoSlab500';
    font-size: 24px;
    font-weight: 500;
}

h3 {
    color: #666666;
    font-family: 'MuseoSlab500';
    font-size: 18px;
    font-weight: 500;
}

.ClearAll {
    clear: both;
}

input[type=submit], .LinkButton {
    background-color: #cc0000;
    border: 0px solid;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    font-family: 'MuseoSlab500';
    font-weight: 500;
    height: 28px;
    overflow: visible;
    padding: 0px 11px 0px 11px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-appearance: none;
}

    input[type=submit]:focus {
        outline: none;
    }

    .LinkButtonAnchor {
        text-decoration: none;
    }

    .LinkButton {
        display: inline-block;
        line-height: 28px;
    }

a[disabled] span, input[type=submit][disabled] {
    color: Gray;
    opacity: .4;
    text-shadow: 1px 1px #fff;
}

input:not([type=button]):not([type=submit]):not([type=radio]):not([type=checkbox]), select, textarea {
    background-color: #fff;
    border: 1px solid #9c9ea1;
    color: #666666;
    font-family: Arial, sans-serif;
    padding: 2px 2px 2px 2px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

#recaptcha_response_field {
    border: 1px solid #9c9ea1!important;
    font-family: Arial, sans-serif;
    -webkit-appearance: none;
    width: 296px!important;
}

select {
    background-image: url(Images/Buttons/DropDown.png), -webkit-linear-gradient(#fff, #fff 100%, #fff);
    *background-image: none;
    background-position: center right;
    background-repeat: no-repeat;
    border: 1px solid #9c9ea1;
    color: #666666;
    font-family: Arial, sans-serif;
    padding: 2px 2px 2px 0px;
    -webkit-appearance: button;
    -webkit-border-radius: 0;
    -webkit-padding-end: 21px !important;
    -webkit-padding-start: 2px;
}

select > option {
  -moz-padding-start: 3px;
  -moz-padding-end: 5px;
}

input[type=text]:focus, input[type=password]:focus, #recaptcha_response_field:focus, select:focus {
    -moz-box-shadow: #cc0000 0 0 7px;
    -webkit-box-shadow: #cc0000 0 0 7px;
    box-shadow: #cc0000 0 0 7px;
    z-index: 1;
}

input[type=text][disabled], input[type=password][disabled], select[disabled] {
    background-color: #eeeeee;
    color: gray;
}

/* Error styling (both Unobtrsuive and JQuery validation plugin */
.field-validation-error {
    color: #ff0000;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error,
textarea.input-validation-error {
    background-color: #fee;
    border: 1px solid #ff0000;
}

select.input-validation-error {
    background-image: url(Images/Buttons/DropDown.png), -webkit-linear-gradient(#fee, #fee 100%, #fee);
    background-color: #fee;
    border: 1px solid #ff0000;
}

.validation-summary-errors {
    color: #ff0000;
}

.validation-summary-valid {
    display: none;
}

input.error, select.error {
    background-color: #fee;
    border: 1px solid #ff0000;
}

.ErrorPage {
    background: none #EAEAEA;
}

    .ErrorContainer {
        margin: 10px 10px 10px 10px;
    }

        .ErrorButtonsContainer {
            float: left;
            padding-top: 10px;
        }

.TopValidationSummary {
    float: left;
    margin-top: 10px;
}

/* JavaScript CSS */
.NoJavaScriptContainer {
    display: none;
}

    .NoJavaScriptContainer .PageDescription {
        margin-bottom: 10px;
    }

div.JavaScriptContainer, label.JavaScriptContainer {
    display: block;
}

tr.JavaScriptContainer {
    display: table-row;
}

th.JavaScriptContainer, td.JavaScriptContainer {
    display: table-cell;
}

/* Layout Page */
.PageContainer {
    position: relative;
    z-index: 999;
}

    /* User Bar */
    .UserBar {
        background: url(Images/Header/UserBarBackground.png) repeat-x #0761a6;
        height: 143px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }

    .UserBarData {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        top: 0;
        width: 960px;
    }

    .DS-Social {
        position: absolute;
	    background: #09498f;
	    height: 143px;
        right: 0;
	    width: 55px;
    }

        .DS-Twitter img {
            left: 8px;
            position: absolute;
            top: 24px;
        }

        .DS-Facebook img {
            left: 8px;
            position: absolute;
            top: 79px;
        }

        .DS-Twitter:hover img, .DS-Facebook:hover img {
            opacity: 0.6;
        }

        .DS-HeaderTelNo {
            color: #f8dd01;
            font-family: 'MuseoSlab500';
            font-weight: 500;
            font-size: 33px;
            line-height: 40px;
            position: absolute;
            right: 74px;
            top: 65px;
            text-align: right;
            width: 270px;
        }

            .DS-HeaderTelNo a {
                color: #f8dd01;
                pointer-events: none;
                text-decoration: none;
            }

        .DS-BookNow, .DS-LinesOpen {
            color: #fff;
            position: absolute;
            right: 74px;
            text-align: right;
            width: 270px;
        }

        .DS-BookNow {
            font-size: 12px;
            top: 50px;
        }

        .DS-LinesOpen {
            font-size: 12px;
            top: 99px;
        }

    .UserBarContainer {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 960px;
    }

    .UserBarContainerContent {
        height: 30px;
        position: absolute;
        right: 74px;
        top: 27px;
        width: 270px;
    }

        .UserBarContainerContent a {
            color: #fff;
        }

        .SiteMapLink, #MyFavouritesLink {
            display: none;
        }

        .ShoppingBasketLink {
            border-left: 1px solid #fff;
            float: right;
            margin-left: 14px;
            padding-left: 14px;
            text-decoration: none;
        }

        .ShoppingBasketIcon {
            background: url(Images/General/ShoppingBasket.gif) no-repeat;
            display: inline-block;
            *display: none;
            width: 22px;
            height: 11px;
        }

        @media
        only screen and (min-device-pixel-ratio: 2),
        only screen and (-webkit-min-device-pixel-ratio: 2),
        only screen and (-moz-min-device-pixel-ratio: 2),
        only screen and (-o-min-device-pixel-ratio: 2/1),
        only screen and (min-resolution: 96dpi) {
            .ShoppingBasketIcon {
                background: url(Images/General/ShoppingBasket_2x.gif) no-repeat;
                background-size: 14px 11px!important;
            }
        }

        .LoginLink, .LogoutLink {
            float: right;
            text-decoration: none;
        }

        .RegisterLink, .NewOperatorLink, .WelcomeMessage {
            float: right;
            margin-right: 20px;
            text-decoration: none;
        }

        .WelcomeMessage {
            color: #fff;
        }

        .AgentAdminLink, .UserAccountLink {
            text-decoration: none;
        }

        .SiteMapLink:hover, .RegisterLink:hover, .LoginLink:hover, .NewOperatorLink:hover, .AgentAdminLink:hover, .UserAccountLink:hover, .LogoutLink:hover, .ShoppingBasketLink:hover {
            color: #fff;
            text-decoration: none;
        }

    .HeaderMenuContentContainer {
        background-color: #fff;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
        width: 960px;
    }

    /* Header Image and Flash */
    .Header {
    }

    .HeaderContentHomePage, .HeaderContent {
        padding-top: 20px;
    }

        .HomePageHeaderFlashSurround, .ContentHeaderFlashSurround {
            background-image: none;
            background-position: top center;
            background-repeat: no-repeat;
            height: 290px;
            overflow: hidden;
            width: 920px;
        }

        .HomePageHeaderFlash, .ContentHeaderFlash {
            height: 290px;
            width: 921px; /* 1 pixel more than the surround */
        }

    /* Company Logo */
    .CompanyLogoContainer {
    }

        .CompanyLogoContainerContent {
            margin-left: 20px;
            position: absolute;
            top: 0px;
        }

            .CompanyLogoContainer a {
                outline: 0;
            }

            img.CompanyLogo {
                border: 0;
                height: 143px;
                width: 590px;
            }

    /* Menu Bar */
    .MenuBar {
        margin: 20px auto 0 auto;
        width: 920px;
    }

    .MenuBarContainer {
        background-color: #cc0000;
        clear: both;
        float: left;
        position: relative;
        width: 920px;
        z-index: 999;
    }

    .MenuBarContainerContent {
        clear: both;
        float: left;
        width: 920px;
    }

        ul.MenuItemContainer * {
            list-style: none;
            text-align: left;
            z-index: 999;
        }

        .MenuItemContainer li {
            white-space: nowrap;
        }

        .MenuItemContainer li .MenuItem {
            line-height: 44px;
            text-decoration: none;
        }

        .MenuItemContainer li .MenuItem_NoClick {
            cursor: pointer;
            line-height: 44px;
            text-decoration: none;
        }

            .MenuItemContainer li .MenuItem_NoClick label {
                display: block;
            }

        .MenuItemContainerSubItems li {
            white-space: normal;
        }

        .MenuItemContainerSubItems li .MenuItem {
            line-height: 32px;
            text-decoration: none;
        }

        .MenuItemContainerSubItems li .MenuItem_NoClick {
            cursor: pointer;
            line-height: 32px;
            text-decoration: none;
        }

        ul.MenuItemContainer li {
            float: left;
            text-transform: uppercase;
        }

            ul.MenuItemContainer li a {
                color: #fff;
                display: block;
                padding-left: 10px;
                padding-right: 10px;
            }

            ul.MenuItemContainer li:last-child a {
                background-image: none;
            }

            ul.MenuItemContainer li.hover, ul.MenuItemContainer li:hover {
                position: relative;
            }

                ul.MenuItemContainer li.hover a {
                    color: #ffee00;
                    text-decoration: none;
                }

        ul.MenuItemContainer ul {
            display: none;
            position: absolute;
            width: 246px;
        }

            ul.MenuItemContainer ul li {
                _display: inline;
                float: none;
                margin-right: 0px!important;
                margin-left: 0px!important;
                text-transform: none;
            }

                ul.MenuItemContainer ul li a {
                    background-image: url(Images/General/SeparatorBarTransparent.gif);
                    background-position: right center;
                    background-repeat: no-repeat;
                    border: none!important;
                    display: inline-block;
                    padding-left: 18px;
                    padding-right: 18px;
                    width: 210px;
                }

        ul.MenuItemContainer li.hover ul li a {
            background: rgb(127, 17, 9);
            background: rgba(127, 17, 9, 0.9);
            color: #fff;
            text-decoration: none;
        }

            ul.MenuItemContainer li.hover ul li a:hover {
                color: #ffee00;
            }

        ul.MenuItemContainer ul ul {
            left: 100%;
            margin-left: 0;
            margin-right: 0;
            top: 0;
        }

        ul.MenuItemContainer ul.MenuFrame {
        }
        
    /* Content */
    .Content {
    }

    .ContentContainer {
        min-height: 330px;
        padding-left: 20px;
        padding-top: 20px;
        width: 940px;
    }

        .ContentContainer ul {
            list-style-position: inside;
        }

        .ContentContainer ol {
            list-style-position: outside;
            padding-left: 35px;
        }

        .ContentContainer ul p, .ContentContainer ol p, .ContentContainer ul li div {
            display: inline;
        }

        .HeaderImageContainer {
            background-color: #fff;
            margin: 0 auto;
            width: 920px;
        }

            .HeaderImage {
                height: auto;
                margin-top: 20px;
                width: 100%;
            }

            .rs-slideshow .slide-container .slide-caption {
                font-size:18px;
                opacity:1;
                -khtml-opacity: 1;
                -moz-opacity: 1;
            }
            .rs-slideshow .slide-container .slide-caption.Header1 {
                top:auto;
                bottom: 10px;
                right: 0;
                left: auto;                
                text-align: left;                
            }
            .rs-slideshow .slide-container .slide-caption.Header2 {
                top:10px;
                bottom: auto;
                right: auto;
                left: auto;                
                text-align: left;                
            }
            .rs-slideshow .slide-container .slide-caption.Header3 {
                top:20px;
                bottom: auto;
                right: 0;
                left: auto;                
                text-align: left;                
            }
            .rs-slideshow .slide-container .slide-caption.Header4 {
                top:auto;
                width:100%;
                bottom: 0;
                right: auto;
                left: auto;                
                text-align: center;                
            }

        .SingleColumn {
            float: left;
            padding-bottom: 25px;
            width: 920px;
        }

        .LeftColumn {
            float: left;
            padding-bottom: 25px;
            width: 648px;
        }

        .RightColumn {
            float: right;
            padding-bottom: 10px;
            padding-right: 20px;
            width: 252px;
        }

        /* Single, Left & Right Column General Formatting */
        .SingleColumn .dsl-table, .SingleColumn .dsl-table-noborder {
            width: 920px;
        }

        .LeftColumn .dsl-table, .LeftColumn .dsl-table-noborder {
            width: 648px;
        }
    
        .RightColumn .dsl-table, .RightColumn .dsl-table-noborder {
            width: 234px;
        }

        /* General Content Formatting */
        p.centre-align, h1.centre-align, h2.centre-align, h3.centre-align, h4.centre-align {
            text-align: center;
        }

        p.right-align, h1.right-align, h2.right-align, h3.right-align, h4.right-align {
            text-align: right;
        }

        img.left-align {
            margin: 5px 10px 5px 0px;
        }

        img.centre-align {
            margin: 5px 10px 5px 10px;
        }

        img.right-align {
            margin: 5px 0px 5px 10px;
        }

        .dsl-table, .dsl-table-noborder {
            border-collapse: collapse;
            table-layout: fixed;
        }

        .dsl-table th, .dsl-table td {
            border: 1px solid #9c9ea1;
            padding: 3px;
        }

        .dsl-table-noborder th, .dsl-table-noborder td {
            padding: 3px;
        }

        .dsl-table th, .dsl-table-noborder th {
            background-color: #9c9ea1;
            color: #fff;
        }

    /* Bottom Navigation Bar */
    .BottomNavBar {
        background-color: #cc0000;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 19px;
        padding-top: 19px;
        position: relative;
        width: 960px;
    }

    .BottomNavBarContent {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 940px;
    }

        .BottomNavBarLink {
            color: #fff;
            line-height: 30px;
            padding: 0px 10px 0px 10px;
            text-decoration: none;
        }

            .BottomNavBarLink:hover {
                color: #fff;
            }

        .BottomNavBarListItem {
            display: inline;
            list-style: none;
        }

            .BottomNavBarListItem:last-child a {
                background-image: none;
            }

    /* Powered by DSL */
    .PoweredByDSL {
        background-color: #333333;
        color: #ccc;
        margin-left: auto;
        margin-right: auto;
        padding: 27px 0;
        position: relative;
        width: 960px;
    }

    .PoweredByDSLContent {
        margin-left: 20px;
    }

        #ProductLink, #DSLLink {
            color: #ccc;
            text-decoration: none;
        }

        #ProductLink:hover, #DSLLink:hover {
            color: #fff;
        }

    /* Company Details (Home Page) */
    .CompanyDetails {
        background-color: #333333;
        color: #ccc;
        padding-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 960px;
    }

    .CompanyDetailsContent {
        margin-left: 20px;
    }

        .CompanyDetailsContent a {
            color: #ccc;
        }

        .CompanyDetailsContent a:hover {
            color: #fff;
        }

        #CompanyDetailsCompanyNo a, #CompanyDetailsVATNo a {
            color: #ccc;
            pointer-events: none;
            text-decoration: none;
        }

        #CompanyDetailsTelNo, #CompanyDetailsEmail {
            display: inline;
        }

        #CompanyDetailsTelNo {
            margin-right: 15px;
        }

        #CompanyDetailsCompanyNoVATNo, #CompanyDetailsCompanyNo, #CompanyDetailsVATNo {
            display: inline;
        }

        #CompanyDetailsCompanyNo {
            margin-right: 15px;
        }
    
    /* Page Footer Message */
    .PageFooterMessage {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 960px;
    }

        #DS-Footer-Twitter {
            right: 75px;
            position: absolute;
            top: -55px;
        }

        #DS-Footer-Facebook {
            right: 20px;
            position: absolute;
            top: -55px;
        }

            #DS-Footer-Twitter:hover img, #DS-Footer-Facebook:hover img {
                opacity: 0.8;
            }
    
    /* Mobile Site Switch button */
    .MobileSiteSwitch {
        clear: both;
        float: left;
        padding-top: 20px;
        padding-bottom: 30px;
        text-align: center;
        width: 100%;
    }

        @media screen and (min-device-width: 640px) {
            .MobileSiteSwitch {
                padding-top: 10px;
                padding-bottom: 20px;
                text-align: center;
            }

            .MobileSiteSwitch img {
                max-width: 130px;
            }
        }

/* Cookie Settings Popup */
.CookiePopupContainer {
    background-color: rgba(0, 0, 0, 0.8);
    bottom: 10px;
    border-radius: 5px;
    color: white;
    font-family: sans-serif;
    font-size: 11px;
    line-height: 16px;
    position: fixed;
    right: 10px;
    width: 300px;
    z-index: 99999;
}

    .CookiePopupContainer p {
        line-height: 16px;
    }

    .CookiePopupContent {
        float: left;
        padding: 10px;
    }

        .CookiePolicyLink {
            color: #fff;
            text-decoration: underline;
        }

            .CookiePolicyLink:hover {
                color: #fff;
                text-decoration: underline;
            }

        .CookiePopupLinks {
            float: left;
            margin-top: 5px;
            width: 280px;
        }

            .CookiePopupLinks p {
                display: inline;
                font-size: 14px;
                font-weight: bold;
            }

            .CookiePopupLinks a {
                color: #ffa400;
                text-decoration: none;
            }

            .CookieSettingsPopupSettings {
                float: left;
                width: 50%;
            }

            .CookieSettingsPopupContinue {
                float: right;
                text-align: right;
                width: 50%;
            }

@media screen and (max-device-width: 480px) {
    .CookiePopupContainer {
        border-radius: 0;
        bottom: 0;
        font-size: 32px;
        line-height: 40px;
        right: 0;
        width: 100%;
    }

        .CookiePopupContainer p {
            line-height: 40px;
        }

        .CookiePopupContent {
            padding: 20px;
        }

            .CookiePopupLinks {
                width: 100%;
            }

                .CookiePopupLinks a {
                    font-size: 42px;
                    line-height: 72px;
                }
}