﻿/* 
    Image & Table Sizes
    ===================
    Page Header Image Width                 = 930
    Left Column Header Image Width          = 631
    Right Column Header Image Width         = 240
    Single Column Maximum Content Width     = 930
    Left Column Maximum Content Width       = 631
    Right Column Maximum Content Width      = 240
    Tour Tabs Maximum Content Width         = 631
    Booking Pages Maximum Content Width     = 683

    Image Gallery Thumbnail Width           = 121

    Image Dimensions
    ================
    Heaader Images  = 1500 x 400

    Demo White
    ==================
    #fff    = Content background, button text, user bar text hover over, menu text hover over, table header text, bottom navigation bar text, powered by DSL text, footer text, 
              web headings & items title text, web headings and items overview text, active tab text, inactive tab background, grid header text
    #E0E0E0 = Content box shadow
    #f6f6f6 = Body background, table alternate background, pickups summary background, image gallery background
    #333    = Main body text, h1 tags, h2 tags, input text, widget text, FAQ text, field group links, table links text, top & mid level site map, itinerary headers text, useful links text
    #ffc500 = Button background, inputs border with focus, web headings & items/rotator icons text,
    #fb0050 = Links text, h3 tags, widget title text, legend, table hover over link text, tabs bottom border, active tab background, inactive tab hover over text
    #fbfbfb = Inputs background
    #ebebeb = Inputs border
    #e4e4e4 = Frame borders, table borders, inactive tab borders
    #71c6c0 = Table header background, bottom bar background, grid header background
    #302a3d = User bar background
    #c7c6ca = User bar text, menu text
    #443F50 = User bar bottom border, sub menu background
    #666    = Rotator/web headings and items sub text, inactive tab text

    #ffe89f = Grid row hover over background
    #65bab5 = Powered by DSL top border
    #999    = Powered by DSL booking process text
    #707070 = Site map lowest level, FAQ back to top
    #ECE9D8 = Seating plan cells border

    #fb0050 = 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,700|Oxygen:700|Oswald:400,700';

* {
    margin: 0;
    padding: 0;
    word-wrap: break-word;
}

#FormValue1 {
    display: none;
}

body {
    background: #fff;
    color: #333;
}

body, label, input, select, textarea {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
}

p, label {
    line-height: 24px;
}

.FieldLabel {
    line-height: normal;
}

img {
    border: 0;
}

a {
    color: #333;
    text-decoration: underline;
    -moz-transition: .5s all;
    -webkit-transition: .5s all;
    transition: .5s all;
}

    a:hover {
        color: #333;
        text-decoration: underline;
    }

h1 {
    color: #333;
    font-size: 30px;
    font-weight: 700;
}

h2 {
    color: #333;
    font-size: 20px;
    font-weight: 700;
}

h3 {
    color: #333;
    font-size: 16px;
    font-weight: 700;
}

.ClearAll {
    clear: both;
}

input[type=submit], .LinkButton {
    background-color: #333;
    border: 1px solid #333;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    font-family: "Oswald", sans-serif;
    font-size: 16px;
    font-weight: 700;
    height: 35px;
    overflow: visible;
    padding: 0 11px 0 11px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-appearance: none;
    -moz-appearance: none;
    -moz-transition: .5s all;
    -webkit-transition: .5s all;
    transition: .5s all;
}

input[type=submit]:hover, .LinkButton:hover {
    background-color: #fff;    
    -moz-border-radius: 3px;
    border-radius: 3px;
    color: #333;
}

    input [type=submit]:focus {
        outline: none;
    }

    .LinkButtonAnchor {
        text-decoration: none;
    }

    .LinkButton {
        display: inline-block;
        line-height: 35px;
    }

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: #fbfbfb;
    border: 1px solid #ebebeb;
    color: #333;
    padding: 4px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

#recaptcha_response_field {
    border: 1px solid #ebebeb!important;
    -webkit-appearance: none;
    width: 296px!important;
}

select {
    background-color: #fbfbfb;
    background-image: url(Images/Buttons/DropDown.png), -webkit-linear-gradient(#fbfbfb, #fbfbfb 100%, #fbfbfb);
    *background-image: none;
    background-position: center right;
    background-repeat: no-repeat;
    border: 1px solid #ebebeb;
    color: #333;
    padding: 4px;
    -moz-appearance: none;
    -webkit-appearance: button;
    -webkit-border-radius: 0;
    -webkit-padding-end: 21px !important;
    -webkit-padding-start: 4px;
}

    input:not([type=button]):not([type=submit]):not([type=radio]):not([type=checkbox]):focus, select:focus, textarea:focus {
        border: 1px solid #333;
        outline: none;
    }

    select.PostcodeLookupResults {
        background-image: none;
    }

select > option {
  -moz-padding-start: 3px;
  -moz-padding-end: 23px;
}

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: #fb0050;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error {
    background-color: #fee;
    border: 1px solid #fb0050;
}

select.input-validation-error {
    background-image: url(Images/Buttons/DropDown.png), -webkit-linear-gradient(#fee, #fee 100%, #fee);
    background-color: #fee;
    border: 1px solid #fb0050;
}

.validation-summary-errors {
    color: #fb0050;
}

.validation-summary-valid {
    display: none;
}

input.error, select.error {
    background-color: #fee;
    border: 1px solid #fb0050;
}

#FreeTypeSearch.error {
    border: 1px solid #ffc500;
}

.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 {
        padding: 0 20px;
        box-sizing: border-box;
        height: 90px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        background-color: #fff;
        border: none;
        -moz-box-shadow: 0px 2px 3px #E0E0E0;
        -webkit-box-shadow: 0px 2px 3px #E0E0E0;
        box-shadow: 0px 2px 3px #E0E0E0;
    }

    .UserBarData {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        z-index: 999;
        width: 1200px;
        max-width: 100%;
    }

.UserBarContainer {
    height: 0;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
    max-width: 100%;
    position: relative;
}

    .UserBarContainerContent {
        position: absolute;       
        top: 13px;
        right: 75px;
    }

        .UserBarContainerContent a {
            color: #333;
            font-family: Oxygen;
            font-weight: 700;
            text-transform: uppercase; 
        }

            .UserBarContainerContent a:hover {
                color: #fff;
                text-decoration: none;
            }

        .SiteMapLink {
            display: none;
        }

        .ShoppingBasketLink {
            border-left: 1px solid #c7c6ca;
            float: right;
            margin-left: 8px;
            margin-right: 7px;
            padding-left: 15px;
            text-decoration: none;
            -webkit-transition: none;
            -o-transition: none;
            transition: none;
        }

        .ShoppingBasketIcon {
            background: url(Images/General/ShoppingBasket.gif) no-repeat;
            display: inline-block;
            *display: none;
            width: 22px;
            height: 11px;
        }

            .ShoppingBasketLink:hover .ShoppingBasketIcon {
                background: url(Images/General/ShoppingBasketHover.gif) no-repeat;
            }

        @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;
            }

            .ShoppingBasketLink:hover .ShoppingBasketIcon {
                background: url(Images/General/ShoppingBasketHover_2x.gif) no-repeat;
            }
        }

        .LoginLink, .LogoutLink {
            float: right;
            margin-right: 7px;
            text-decoration: none;
        }

        .RegisterLink, .NewOperatorLink, .WelcomeMessage {
            float: right;
            margin-right: 20px;
            text-decoration: none;
        }

        .WelcomeMessage {
            color: #333;
        }

        .AgentAdminLink, .UserAccountLink {
            text-decoration: none;
        }

        .SiteMapLink:hover, .RegisterLink:hover, .LoginLink:hover, .NewOperatorLink:hover, .AgentAdminLink:hover, .UserAccountLink:hover, .LogoutLink:hover, .ShoppingBasketLink:hover {
            text-decoration: underline;
        }

    .HeaderMenuContentContainer {
        padding: 20px;
        box-sizing: border-box;
    }

    /* Header Image */
    .Header {
    }

        .HeaderContentHomePage {
        }

    /* Company Logo */
    .CompanyLogoContainer {
        margin-left: auto;
        margin-right: auto;
        width: 1200px;
        max-width: 100%;
    }

        .CompanyLogoContainerContent {
            position: absolute;
            top: 10px;
        }

            .CompanyLogoContainer a {
                outline: 0;
            }

            img.CompanyLogo {
                border: 0;
                height: 70px;
            }

    /* Menu Bar */
    .MenuBar {
        margin-left: auto;
        margin-right: auto;
        width: 1200px;
        max-width: 100%;
        z-index: 999;
        position: relative;
    }

    .MenuBarContainer {
        position: absolute;
        right: 0;
        top: -70px;
    }

    .MenuBarContainerContent {
    }

        ul.MenuItemContainer * {
            list-style: none;
            text-align: left;
            z-index: 999;
        }

        .MenuItemContainer li {
            font-size: 15px;
            white-space: nowrap;
        }

        .MenuItemContainer li .MenuItem {
            line-height: 50px;
            text-decoration: none;
        }

        .MenuItemContainer li .MenuItem_NoClick {
            cursor: pointer;
            line-height: 50px;
            text-decoration: none;
        }

            .MenuItemContainer li .MenuItem_NoClick label {
                display: block;
            }

        .MenuItemContainerSubItems li {
            font-size: 15px;
            white-space: normal;
        }

        .MenuItemContainerSubItems li .MenuItem {
            line-height: 40px;
            text-decoration: none;
        }

        .MenuItemContainerSubItems li .MenuItem_NoClick {
            cursor: pointer;
            line-height: 40px;
            text-decoration: none;
        }

        ul.MenuItemContainer li {
            float: left;
            margin-right: 5px;
            margin-left: 5px;
        }

            ul.MenuItemContainer li a {
                color: #333;
                font-family: Oxygen;
                font-weight: 700;
                display: block;
                padding-left: 15px;
                padding-right: 15px;
                text-transform: uppercase;
            }

            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: #333;
                    text-decoration: none;
                }

        ul.MenuItemContainer ul {
            display: none;
            position: absolute;
            width: 250px;
            border: 1px solid #333;
            background-color: #fff;
        }

            ul.MenuItemContainer ul li {
                _display: inline;
                float: none;
                margin-right: 15px!important;
                margin-left: 15px!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: 0px;
                    padding-right: 0px;
                    width: 220px;
                }

                .MenuFrame {
                    background-color: #fff;
                }

        ul.MenuItemContainer li.hover ul li a {
            background: #fff;
            color: #333;
            text-decoration: none;
        }

            ul.MenuItemContainer li.hover ul li a:hover {
                background-color: #fff;
                color: #333;
                text-decoration: none;
            }

        ul.MenuItemContainer ul ul {
            left: 100%;
            margin-left: 0;
            margin-right: 0;
            top: 0;
        }

        ul.MenuItemContainer ul.MenuFrame {
        }
        
    /* Content */
    .Content {
        margin-left: auto;
        margin-right: auto;
        width: 1200px;
        max-width: 100%;

        margin-bottom:20px;
    }

        .ContentContainer {
            display: inline-block;
            width: 100%;
        }

        .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 {
            margin: 0 auto;
            width: 100%;
        }

            .HeaderImage {
                height: auto;
                width: 100%;
            }

        .SingleColumn {
            float: left;
            width: 100%;
        }

        .LeftColumn {
            float: left;
            width: 70%;
        }

        .RightColumn {
            float: right;
            width: 30%;
        }

        /* Single, Left & Right Column General Formatting */
        .SingleColumn .dsl-table, .SingleColumn .dsl-table-noborder {
            width: 100%;
        }

        .LeftColumn .dsl-table, .LeftColumn .dsl-table-noborder {
            width: 100%;
        }
    
        .RightColumn .dsl-table, .RightColumn .dsl-table-noborder {
            width: 100%;
        }

        /* 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 #e4e4e4;
            padding: 3px;
        }

        .dsl-table-noborder th, .dsl-table-noborder td {
            padding: 3px;
        }

        .dsl-table th, .dsl-table-noborder th {
            background-color: #71c6c0;
            color: #fff;
            font-family: Oxygen;
        }

    /* Container for Bottom Navigation, Powered By DSL and Company Details */
    .ContentBelowContainer {
        position: relative;
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .ContentBelowTop {
    }

    /* Bottom Navigation Bar */
    .BottomNavBar {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 1200px;
        max-width: 100%;
    }

    .BottomNavBarContent {        
    }

    .BottomNavBarListItem {
        float: left;
        list-style: none;
        margin-bottom: 7px;
        border-right: 1px solid #333;
    }

    .BottomNavBarLink {
        border-bottom: 1px dashed transparent;
        font-size: 15px;
        text-decoration: none;
        -webkit-text-size-adjust: none;
        margin: 0 10px;
    }

        .BottomNavBarLink:hover {
            border-bottom: 1px dashed #333;
            text-decoration: none;
        }

.BottomNavBarListItem:first-child .BottomNavBarLink {
    margin-left: 0;
}

.BottomNavBarListItem:last-child {
    border-right: none;
}

.PageFooterMessageTop {
    -webkit-text-size-adjust: none;
    width: 100%;
    display: inline-block;
}

.PageFooterMessageTopContent {
    font-size: 13px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px 0 14px 0;
    text-align: left;
    width: 1200px;
    max-width: 100%;
}

.PageFooterMessageTop .PageFooterMessageTopContent .AddressBlock {
    float: left;
}

.PageFooterMessageTop .PageFooterMessageTopContent .SagePayLogo {
    float:right;
}

    /* Powered by DSL */
    .PoweredByDSL {
        -webkit-text-size-adjust: none;        
        width: 100%;
    }

    .PoweredByDSLContent {
        font-size: 13px;
        margin-left: auto;
        margin-right: auto;
        padding: 15px 0 14px 0;
        text-align: left;
        width: 1200px;
        max-width: 100%;
    }

        .PoweredByDSLContent a {
            border-bottom: 1px dashed transparent;
            color: #333;
            text-decoration: none;
        }

            .PoweredByDSLContent a:hover {
                border-bottom: 1px dashed #333;
                text-decoration: none;
            }

    /* Company Details (Home Page) */
    .CompanyDetails {
        display: none;
    }

    .CompanyDetailsContent {
    }

    /* Page Footer Message */
    .PageFooterMessage {
    }

    /* Mobile Site Switch button */
    .MobileSiteSwitch {
        margin-left: auto;
        margin-right: auto;
        padding-top: 25px;
        position: relative;
        width: 980px;
    }

        .MobileSiteSwitch img {
            max-width: 228px;
            padding-bottom: 15px;
            position: absolute;
            right: 0px;
        }

    .BookingProcessContainer .MobileSiteSwitch {
        background-color: transparent;
        float: none;
        padding-bottom: 10px;
        padding-top: 15px;
        text-align: right;
        width: 980px;
    }

        .BookingProcessContainer .MobileSiteSwitch img {
            position: static;
        }

        @media screen and (min-device-width: 640px) {
            .BookingProcessContainer .MobileSiteSwitch {
                padding-bottom: 10px;
            }

            .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;
                }
}