﻿/* 
    Image & Table Sizes
    ===================
    Page Header Image Width                 = 920
    Left Column Header Image Width          = 648
    Right Column Header Image Width         = 254
    Single Column Maximum Content Width     = 920
    Left Column Maximum Content Width       = 648
    Right Column Maximum Content Width      = 254
    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            = 203 x 143

    TBS Demo 4
    ==========
    #efefef = Background (left & right of content), image gallery background, pick-ups summary background
    #fff    = Main body content background, inputs background, button text, user bar text, menu text, table header text, bottom navigation bar text, powered by DSL text, company details text, widget header text, widget text, inactive tab text, grid header text
    #231f20 = Body text, links text, inputs text, mid level site map text
    #c5247a = h3 tags, social media bar background, tel no text, menu hover over text, FAQ back to top, bottom navigation bar background, widget header background, widget buttons background, widget labels, from price background, view images button background, active/current tab text
    #20264a = Links hover over text, inputs shadow on focus, h1 tags, h2 tags, button background, user bar background, menu background, table header background, bottom navigation bar hover over text, powered by DSL background, company details background, 
              widgets background, FAQ questions text, legend text, top level site map text, web headings/items title text, tabs background, itinerary headers text
    #9c9ea1 = Inputs border, table borders, frame borders
    #ECE9D8 = Seating plan cells border

    #ff0000 = Error message text, error input border
    #fee    = Error input background
    #EAEAEA = Error page background
    #eeeeee = Input disabled background
*/

@import '//fonts.googleapis.com/css?family=Open+Sans:400,600,700';

.rs-slideshow {
    height: 290px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    position: relative;
    width: 920px;
}

* {
    margin: 0;
    padding: 0;
    word-wrap: break-word;
}

#FormValue1 {
    display: none;
}

body {
    background: #efefef;
    color: #231f20;
}

body, label, input, select {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}

p, label {
    line-height: 20px;
}

.FieldLabel {
    line-height: normal;
}

img {
    border: 0;
}

a {
    color: #231f20;
}

    a:hover {
        color: #20264a;
    }

h1 {
    color: #20264a;
    font-size: 32px;
}

h2 {
    color: #20264a;
    font-size: 24px;
}

h3 {
    color: #c5247a;
    font-size: 18px;
}

.ClearAll {
    clear: both;
}

input[type=submit], .LinkButton {
    background-color: #20264a;
    border: 0px solid;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    font-weight: bold;
    height: 28px;
    overflow: visible;
    padding: 0px 11px 0px 11px;
    position: relative;
    text-decoration: none;
    -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[type=text], input[type=password] {
    background-color: #fff;
    border: 1px solid #9c9ea1;
    color: #231f20;
    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: #231f20;
    font-family: Arial, sans-serif;
    padding: 2px 2px 2px 0px;
    -moz-appearance: none;
    -webkit-appearance: button;
    -webkit-border-radius: 0;
    -webkit-padding-end: 21px !important;
    -webkit-padding-start: 1px;
}

    select.PostcodeLookupResults {
        background-image: none;
    }

select > option {
  -moz-padding-start: 3px;
  -moz-padding-end: 23px;
}

input[type=text]:focus, input[type=password]:focus, #recaptcha_response_field:focus, select:focus {
    -moz-box-shadow: #20264a 0 0 7px;
    -webkit-box-shadow: #20264a 0 0 7px;
    box-shadow: #20264a 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 {
    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: #20264a;
        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: #c5247a;
        height: 143px;
        right: 0;
        width: 55px;
    }

        .DS-Twitter img {
            left: 8px;
            position: absolute;
            top: 28px;
        }

        .DS-Facebook img {
            left: 8px;
            position: absolute;
            top: 76px;
        }

        .DS-Twitter:hover img, .DS-Facebook:hover img {
            opacity: 0.9;
        }

        .DS-HeaderTelNo {
            color: #c5247a;
            font-weight: bold;
            font-size: 33px;
            line-height: 40px;
            position: absolute;
            right: 74px;
            top: 75px;
            text-align: right;
            width: 270px;
        }

            .DS-HeaderTelNo a {
                color: #c5247a;
                pointer-events: none;
                text-decoration: none;
            }

        .DS-BookNow {
            color: #fff;
            position: absolute;
            right: 74px;
            text-align: right;
            top: 58px;
            width: 270px;
        }

    .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 */
    .Header {
    }

    .HeaderContentHomePage, .HeaderContent {
        padding-top: 20px;
    }

    /* Company Logo */
    .CompanyLogoContainer {
    }

        .CompanyLogoContainerContent {
            margin-left: 20px;
            position: absolute;
            top: 0px;
        }

            .CompanyLogoContainer a {
                outline: 0;
            }

            img.CompanyLogo {
                border: 0;
                height: 143px;
                width: 203px;
            }

    /* Menu Bar */
    .MenuBar {
        margin: 20px auto 0 auto;
        width: 920px;
    }

    .MenuBarContainer {
        background-color: #20264a;
        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: 34px;
            text-decoration: none;
        }

        .MenuItemContainerSubItems li .MenuItem_NoClick {
            cursor: pointer;

            line-height: 34px;
            text-decoration: none;
        }

        ul.MenuItemContainer li {
            float: left;
        }

            ul.MenuItemContainer li a {
                color: #fff;
                display: block;
                font-size: 16px;
                font-weight: bold;
                padding-left: 15px;
                padding-right: 15px;
            }

            ul.MenuItemContainer li:last-child a {
                background-image: none;
            }

            ul.MenuItemContainer li.hover, ul.MenuItemContainer li:hover {
                position: relative;
            }

                ul.MenuItemContainer li.hover a {
                    background-color: #c5247a;
                    color: #fff;
                    text-decoration: none;
                }

        ul.MenuItemContainer ul {
            display: none;
            position: absolute;
            width: 240px;
        }

            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;
                    font-size: 15px;
                    font-weight: 400;
                    padding-left: 15px;
                    padding-right: 15px;
                    width: 210px;
                }

        ul.MenuItemContainer li.hover ul li a {
            background: rgb(4, 85, 136);
            background: rgba(4, 85, 136, 0.9);
            color: #fff;
            text-decoration: none;
        }

            ul.MenuItemContainer li.hover ul li a:hover {
                color: #c5247a;
            }

        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;
        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%;
            }

        .SingleColumn {
            float: left;
            padding-bottom: 25px;
            padding-top: 20px;
            width: 920px;
        }

        .LeftColumn {
            float: left;
            padding-bottom: 25px;
            padding-top: 20px;
            width: 648px;
        }

        .RightColumn {
            float: right;
            padding-bottom: 10px;
            padding-right: 20px;
            padding-top: 5px;
            width: 254px;
        }

        /* 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: 254px;
        }

        /* 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: #20264a;
            color: #fff;
        }

    /* Bottom Navigation Bar */
    .BottomNavBar {
        background-color: #c5247a;
        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: 920px;
    }

        .BottomNavBarLink {
            background-image: url(Images/General/SeparatorBar.gif);
            background-position: right center;
            background-repeat: no-repeat;
            color: #fff;
            font-weight: 600;
            line-height: 30px;
            padding: 0px 10px 0px 10px;
            text-decoration: none;
        }

            .BottomNavBarListItemFirst .BottomNavBarLink {
                padding: 0px 10px 0px 0px;
            }

            .BottomNavBarLink:hover {
                color: #20264a;
            }

        .BottomNavBarListItem {
            display: inline;
            list-style: none;
        }

            .BottomNavBarListItem:last-child a {
                background-image: none;
            }

    /* Powered by DSL */
    .PoweredByDSL {
        background-color: #20264a;
        color: #fff;
        margin-left: auto;
        margin-right: auto;
        padding: 27px 0;
        position: relative;
        width: 960px;
    }

    .PoweredByDSLContent {
        margin-left: 20px;
    }

        #TBSLink, #DSLLink {
            color: #fff;
            text-decoration: none;
        }

        #TBSLink:hover, #DSLLink:hover {
            color: #fff;
        }

    /* Company Details (Home Page) */
    .CompanyDetails {
        background-color: #20264a;
        color: #fff;
        padding-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 960px;
    }

    .CompanyDetailsContent {
        margin-left: 20px;
    }

        .CompanyDetailsContent a {
            color: #fff;
        }

        .CompanyDetailsContent a:hover {
            color: #fff;
        }

        #CompanyDetailsCompanyNo a, #CompanyDetailsVATNo a {
            color: #fff;
            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;
                }
}