
body {
    overflow-y: scroll;
}

.pan1 {
    margin: 0px;
}

.tab1 {
    vertical-align: middle;
}

.FreezePanelOff {
    visibility: hidden;
    display: none;
    position: absolute;
    top: -100px;
    left: -100px;
}

.FreezePanelOn {
    position: fixed;
    top: 0px;
    left: 0px;
    visibility: visible;
    display: block;
    width: 100%;
    height: 150%;
    background-color: #666;
    z-index: 100000;
    filter: alpha(opacity=85);
    -moz-opacity: 0.85;
    opacity: 0.85;
    padding-top: 20%;
}

.InnerFreezePanel {
    text-align: center;
    background-color: #171;
    color: White;
    font-size: large;
    border: dashed 2px #111;
    padding: 9px;
    z-index: 100001;
    position: absolute; /* can't used "fixed" here for mobile devices! */
    left: 0px;
    width: 100%;
    top: 10%;
}

.FreezeFloatWrapper {
    width: 100%;
    height: 0px;
    text-align: center;
    position: relative;
    z-index: 100001;
}

.FreezeFloat {
    display: none;
    margin: 0 auto;
    z-index: 100001;
    text-align: center;
    position: relative;
    top: 100px;
    width: 600px;
}

.tblMerac, .tabCusDetails, .tblMeracBillingAddress, .tblCardDetails, .tblMeracBuy, .tblMeracUpgrades {
    font-weight: normal;
    width: 100%;
}

    .tblCardDetails th, .tblMeracBillingAddress th {
        font-weight: bold;
    }

#divMeracPCBasket h2 {
    text-align: left;
}


#tdMeracPayNow {
    text-align: center;
}

.tblMerac, .tabCusDetails, .tblMeracBuy, .tblMeracUpgrades {
    border-color: #888888;
    border-style: solid;
    border-width: 0px;
    border-left-width: 0px;
    border-right-width: 0px;
    border-collapse: collapse;
}

.tblMeracRows, .tblRowAlter, .tblMeracFooter {
    border-top: 1px solid #eeeeee;
    text-align: left;
}

    .tblMeracFooter td {
        font-weight: bold;
    }

        .tblMeracFooter td:first-child + td + td + td {
            text-align: right;
        }

.shoppingcart TABLE {
    border: 1px solid black;
}

.tblMerac TH, .tabCusDetails TH, .basketHeader td, th.tblMeracBillingAddress, .SessionHeader, divNoLogHeader, .divMeracSectionHeader {
    /*text-align: right;*/
    height: 24px;
    vertical-align: middle;
    BORDER-BOTTOM: #ffffff 1px solid;
    padding-left: 5px;
    padding-right: 5px;
    font-weight: bold;
}

.SessionHeader {
    height: 20px;
}

.basketfooter td {
    font-weight: bold;
    text-align: left;
}

.tblMerac TD, .tblMeracBillingAddress td, .tblMeracBuy TD, .tblMeracUpgrades TD, .tblMemberDetails td {
    padding: 5px;
    vertical-align: middle;
}

.tblLoginReg {
    text-align: left;
    width: 100%;
}

#divOptionalLogin {
    margin-top: 20px;
}

.tblMerac#tblLogin TD {
    vertical-align: top;
}

.tblMeracBillingAddress td {
    border-bottom: 0px solid #dddddd;
    line-height: 20px;
    text-align: left;
}

.tblMeracInner {
    width: 100%;
}

    .tblMeracInner td {
        border-bottom-width: 0px;
    }

    .tblMeracInner th, .thInner {
        font-size: 1.1em;
        background-color: transparent;
        font-weight: normal;
        text-align: left;
    }

.valSummary {
    padding-top: 10px;
    padding-bottom: 10px;
    color: Red;
    /* font-size:1.2em;*/
}

.tdMeracGridSaving {
    color: Red;
}

#locationheader {
    background-color: Black;
    color: White;
    font-family: Verdana;
    font-size: 10pt;
    font-weight: bold;
}

#locationdetail {
    background-color: #eeeeee;
    font-family: Verdana;
    font-size: 10pt;
    height: 80px;
}

.ActiveButton, .ActiveWelcomeButton {
    border: 0px solid #999;
    vertical-align: middle;
    text-align: center;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    margin: 0px;
    font-weight: bold;
    /*font-size: 1.2em;*/
    display: inline-block;
}

    .ActiveButton a, .ActiveButton a:visited, .ActiveButton a:link, .ActiveButton a:active {
        text-decoration: none;
    }

.ActiveWelcomeButton {
    width: 250px;
    margin: 0px auto;
    display: inline-block;
}

.InactiveButton, .InactiveWelcomeButton {
    color: #000000;
    font-weight: bold;
    /*font-size: 1.2em;*/
    border: 0px solid #999;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    vertical-align: middle;
    text-align: center;
    margin: 0px;
    display: inline-block;
}

.InactiveWelcomeButton {
    background: blue;
    color: #eeeeee;
    width: 250px;
    margin: 30px auto;
}

div.InactiveButton a, div.InactiveButton a:link, div.InactiveButton a:visited, div.InactiveButton a:hover, div.InactiveButton a:active {
    color: #000000;
    text-decoration: none;
    font-weight: bold;
}

.GenericButton {
    font-weight: normal;
    /*font-size: 1.2em;*/
    border-style: solid;
    border-left-color: #cccccc;
    border-top-color: #cccccc;
    border-bottom-color: #999999;
    border-right-color: #999999;
    text-decoration: none;
    padding: 4px 10px;
    margin: 0;
    cursor: pointer;
    cursor: hand;
}

    .GenericButton#cphMainPage_btnShopping {
        float: left;
    }

    .GenericButton#cphMainPage_btnContinue {
        float: right;
    }

    .GenericButton#btnSubmit /* Pay Now Button */ {
        width: 90px;
        height: 35px;
    }

.meracRemoveAll {
    text-align: right;
    margin-bottom: 10px;
}

.contenthead {
    height: 70px;
}

.MeracBodyTextTitle {
    TEXT-ALIGN: left;
    COLOR: #000000;
    FONT-SIZE: 1.6em;
    FONT-WEIGHT: bold
}

H1.MeracBodyTextTitle {
    TEXT-ALIGN: left;
    FONT-SIZE: 1.6em;
    FONT-WEIGHT: bold;
    PADDING-TOP: 6px
}

H3.MeracBodyTextTitle {
    COLOR: #000000;
    FONT-SIZE: 1.4em
}

H4.MeracBodyTextTitle, div.contact-column-two h4 {
    FONT-SIZE: 1.4em;
}

.newbasketfooter, .divClearer {
    width: 100%;
    clear: both;
}

.newbasketfooter {
    padding-top: 5px;
}

.basketTotalPanel {
    width: inherit;
}

.tblLoginFields .txtLogin {
    width: 140px;
}

.tblLoginFields td {
    padding-bottom: 5px;
}

.pRegister {
    width: 240px;
    text-align: center;
    font-size: 1.3em;
}

.checkoutNext {
    POSITION: relative;
    DISPLAY: inline;
    MARGIN-LEFT: 10px
}

.continueShopping {
    POSITION: relative;
    DISPLAY: inline;
    MARGIN-LEFT: 474px
}

DIV.space {
    HEIGHT: 15px
}

.paymentLoading {
    Z-INDEX: 100000;
    POSITION: relative;
    TEXT-ALIGN: center;
    FILTER: alpha(opacity=70);
    PADDING-BOTTOM: 35px;
    BACKGROUND-COLOR: white;
    MARGIN-TOP: -207px;
    WIDTH: 500px;
    TOP: 207px;
    FONT-WEIGHT: bold;
    PADDING-TOP: 35px;
    LEFT: 0px;
    opacity: 0.7
}

.optionalHeader {
    PADDING-BOTTOM: 0px;
    MARGIN: 15px 0px 15px;
    PADDING-LEFT: 20px;
    PADDING-RIGHT: 0px;
    PADDING-TOP: 0px;
    font-size: 1.2em;
}

.optionalFooter {
    PADDING-BOTTOM: 0px;
    MARGIN: 5px 0px 10px;
    PADDING-LEFT: 20px;
    PADDING-RIGHT: 0px;
    PADDING-TOP: 0px;
}

.divQTYButtons {
    position: relative;
    width: 15px;
    height: 30px;
}

.button-postop {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 0px;
    background-image: url(../images/uparrow15.jpg);
}

.button-posbottom {
    position: absolute;
    top: 15px;
    left: 0px;
    padding: 0px;
    background-image: url(../images/downarrow15.jpg);
}

.button-postop, .button-posbottom {
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    width: 15px;
    height: 15px;
    border-width: 0px;
}

.divMainContent {
    /*font-size:1.0em;*/
    display: block;
}

.divMainContent, .divWholeSection, .divMenuSection {
    width: 100%;
}

.divWholeSection, .divMenuSection {
    text-align: center;
    font-weight: normal;
    margin: 0px auto;
}

    .divMenuSection td {
        /*font-size:0.8em;*/
        width: 20%;
        font-size: small;
    }


div.contact-column-one {
    width: 650px;
}

div.contact-column-one, div.contact-column-two {
    display: inline-block;
    margin: 0px;
}

td.tblErrorMessage, .tblErrorMessageTitle, td.tblConfirmMessageTitle, p.tblConfirmMessageExtra {
    font-weight: bold;
}

.tblConfirmMessageTitle, .tblErrorMessageTitle {
    font-size: 1.4em;
}

.tblErrorMessageTitle {
    color: #ff0000;
}

.lblError, p.lblError, .lblError ul li {
    color: #ff0000;
}

.divTickets {
    width: 100%;
    text-align: center;
}

/*input[type="checkbox"]
{
    border-width: 0px;
    margin-right:5px;
}*/

.divPayPal, .divPayPoint {
    text-align: center;
}

#imgWP_JCB {
    display: none;
}

.spaBooking, .divSessionDesc, .divSessionDate {
    font-weight: bold;
    font-size: 1.4em;
}

.spaMeracSessionType {
    font-style: italic;
}

.divSessionCalDateWrapper {
    display: flex;
    flex-flow: row wrap;
    gap: 2rem;
    justify-content: space-between;
}

.divSessionDesc, .divSessionDate {
    display: block;
    margin-top: 5px;
    margin-bottom: 5px;
}

.divSessionTimeSlot {
    text-align: left;
}

.divSessionTickets {
    display: block;
    clear: both;
    text-align: left;
    overflow: hidden;
}

.divSessionTitle {
    padding: 10px 0px 10px 10px;
    text-align: left;
}

.divSessionWait {
    height: 50px;
    display: block;
    clear: both;
    padding-top: 30px;
}

.divSessionCal {
    display: block;
}

.divSessionDateButton {
    display: block;
    padding: 30px;
}

.divSessionAddButton {
    margin-top: 20px;
    margin-bottom: 20px;
}

.spaSessionLeg, #divSessionLegHeader {
    font-weight: bold;
}

#divSessionLegHeader, .divSessionLegTimes {
    display: inline-block;
    vertical-align: top;
}

.divSessionLegTimes {
    max-width: 500px;
}

.SessionTimeSelected {
    background-color: #fff;
}

#divSessionItinerary {
    text-align: left;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

.divSessionPageItinerary {
    display: none;
}

.divMeracSessionLeg {
    border-top: 1px solid #000;
    padding-bottom: 5px;
    clear: both;
}

#divSessionLegInfo {
    margin-bottom: 10px;
}

.divSessionLegDate {
    float: right;
}

#divMeracSessionLegInfo {
    clear: both;
}

.divSessionAvailableTime {
    display: inline-block;
    margin: 5px;
}

.divSessionLegProgressImg {
    position: fixed;
    margin: auto auto;
    text-align: center;
    left: 50%;
    top: 50%;
    background-color: #fff;
    margin-top: -40px;
    margin-left: -40px;
    border: 5px outset;
}

.lblSessBookInfo {
    font-style: italic;
    font-size: smaller;
}

.calSession {
    font-size: 1.2em;
    width: 100%;
}

    .calSession td {
        text-align: center;
    }

        .calSession td[colspan="7"], .calAvailability td[colspan="7"] {
            background-color: transparent !important;
            border: 0;
        }

table.calSession {
    border-spacing: 2px;
}

#divProgressImg {
    display: none;
    height: 80px;
    width: 80px;
    background-image: url("../images/loading.gif");
    background-repeat: no-repeat;
    background-size: cover;
}

.calHeader {
    font-weight: bold;
    font-size: 1.0em;
    text-align: center;
}

.calNextPrev a, .calNextPrev a:active, .calNextPrev a:link, .calNextPrev a:visited {
    font-weight: normal;
    color: inherit !important;
    padding-left: 2px;
    padding-right: 2px;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calOtherMonth {
    color: #999999;
}

.calSelected {
    background-color: #333399;
    color: #ffffff;
    font-weight: bold;
    background-clip: padding-box;
    border-radius: 40px;
    border: 2px solid red;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.calTitle {
    border: 0px solid black;
    font-size: 1.1em;
    background-color: transparent;
    color: inherit;
}

.calUnavailable {
    background-color: salmon;
    color: White;
    text-align: center;
}

td.calDays {
    font-weight: bold !important;
    border: 1px solid #CCCCDD;
    border-right-width: 0px;
}

    td.calDays a, td.calOtherMonth a, td.calSelected a {
        text-decoration: none;
    }

    td.calDays:hover {
        background-color: #EFEFEF;
    }

table.calTitle tr {
    display: flex;
}

td.calTitle, .calTitle td {
    padding: 2px;
    margin: 2px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calToday {
    background-color: #CCCCCC;
}

.calSelector {
    color: Yellow;
}

.divSessionDates, .divSessionCalendar {
    flex-grow: 1;
    flex-basis: 45%;
    width: fit-content;
}

.fsGiftAid label, .divTsAndCs label, .divSignUp label, .chkDonation label {
    width: 100%;
    float: none;
    display: inline;
    margin-right: 0.3em;
}

.divDonation {
    text-align: left;
    padding-bottom: 15px;
}

#cphMainPage_rvDonation {
    display: inline-block;
}

#cphMainPage_divDonateAny {
    position: relative;
}

.ulDonationOptions {
    list-style: none;
    text-align: left;
    display: inline-block;
    *display: inline;
    zoom: 1;
}

#divMeracBasket {
    margin-bottom: 10px;
}

#divBasketGiftAidImage {
    background: url(../images/Gift_Aid_UK_Logo.svg) no-repeat;
    width: 250px;
    height: 90px;
}

.divBasketGiftAid {
    display: inline-block;
}

#cphMainPage_divMeracAddDonation {
    text-align: center
}

#cphMainPage_rblGiftAid input[type="radio"] {
    margin-right: 5px;
}

#cphMainPage_divBasketGiftAidCustom, #cphMainPage_divBasketGiftAid {
    margin: 20px auto;
    max-width: 440px;
    text-align: justify;
}

#divBasketGiftAidValidation, .divBasketGiftAidMessage {
    text-align: center;
    padding: 2px;
}

.divBasketGiftAidMessage {
    margin-bottom: 20px;
    font-size: 20px;
}

.divMeracBasketNVImage, .divMeracBasketNVDesc {
    display: inline-block;
}

.divMeracBasketNVImage {
    vertical-align: middle;
    margin-left: 10px;
}

.btnArrowBackNoDonation, .btnArrowForwardWithDonation {
    background: url(../images/Arrow-Left.png) no-repeat;
    width: 300px;
    height: 220px;
    border: none;
}

.btnArrowBackNoDonation {
    float: left;
}

.btnArrowForwardWithDonation {
    float: right;
    background: url(../images/Arrow-Right.png) no-repeat;
    font-weight: bold;
    color: #ffffff;
}

.divGiftAid {
    margin-top: 2px;
    margin-bottom: 2px;
}

    .divGiftAid img {
        border: 0px solid #ffffff !important;
        padding-bottom: 10px;
    }

.divGiftAidDecs {
    text-align: left;
    margin-top: 10px;
}

.divGiftAidCover {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: gray;
    filter: alpha(Opacity=50);
    opacity: 0.5;
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    z-index: 100000;
}

.divGiftAidPopup, .divGiftAidSelectedPopup, .divAvailDateMsg {
    position: absolute;
    top: 40px;
    margin-top: 0px;
    left: 50%;
    width: 300px;
    margin-left: -150px;
    background-color: #ffffff;
    padding: 10px;
    border: 2px solid #888888;
    z-index: 100001;
    -webkit-box-shadow: 0px 0px 10px 0px #555;
    box-shadow: 0px 0px 10px 0px #555;
}

.lblWhatIsGiftAid {
    text-align: left;
}

#cphMainPage_upGiftAddress label {
    display: inline-block;
}

.dgMeracItem {
    width: 500px;
}

.gridTotalHeader {
    width: 60px;
}

.tdTsAndCs {
    text-align: center;
}

th.grdRight, td.grdRight {
    text-align: right;
}

.lblRequired {
    font-weight: bold;
}

.spaVoucherSaving {
    font-weight: bold;
    font-size: 1.2em;
    color: #ff0000;
}

.divVoucher {
    font-size: 0.9em;
}

.valError, .tdSessionSoldOut {
    color: Red;
}

#cphMainPage_vsMessage {
    margin: 10px 0px 10px;
}

.MeracErrorControl {
    border: 1px solid #ff0000 !important;
}

.divLookupButtons {
    margin-top: 20px;
}

.divMeracAddLookup {
    text-align: left;
    margin: 0 auto;
    width: 500px;
}

    .divMeracAddLookup li label {
        display: block;
        width: 9.1em;
    }



.divBillingAddress {
    position: relative;
}

#cphMainPage_divGiftAddress {
    margin: 30px auto;
    display: none;
    overflow: hidden;
    z-index: -1;
}

.divGiftAddressPadding {
    display: block;
    clear: both;
    height: 20px;
}

#cphMainPage_divGiftAddress fieldset {
    text-align: left;
}

.chkGiftAddress label {
    float: none;
    width: auto;
}

.lstLookupAdds {
    width: 400px;
    /* height:120px; Can't specify height as Safari iOS doesn't render select size attr */
    font-size: 0.9em;
}

.txtCusDetDOB {
    vertical-align: top;
}

.divPromoEmails, .divBookingSource {
    display: block;
    text-align: center;
    width: 90%;
    margin: 0 auto;
}

.divBookingSource {
    margin-bottom: 20px;
}

.divExtDesc {
    font-size: 0.9em;
    font-style: italic;
    order: 2;
    flex-basis: 100%;
}

.divMeracBilling {
    margin: 0px auto;
    width: 100%;
    text-align: center;
}

.divMeracReqInfo {
    color: #ff0000;
    text-align: center;
    clear: both;
    display: block;
}

.divExtraPaymentText {
    font-weight: bold;
    margin-bottom: 20px;
}

.divPaymentDetailsHeaderText {
    margin-top: 20px;
    margin-bottom: 20px;
}

.aPCLookupToggle {
    margin-left: 135px;
    font-size: 0.9em;
    text-decoration: underline;
}


.inpMeracPostcodeLookup {
    width: 100px;
    margin-right: 10px;
}

.divMeracAddressInfo {
    width: 240px;
    left: 140px;
    position: relative;
    font-size: 0.9em;
}

#divTicketUserMessage {
    clear: both;
}

.divDonationDetails {
    text-align: left;
    margin-bottom: 30px;
}

/* Welcome Page */

.divMeracEventsList {
    max-width: 800px;
    width: 100%;
    text-align: center;
}

/* Party Page */
.divPartyDetails {
    text-align: left;
}

.divPartyRoom, .divPartyChildTitle {
    display: inline;
}

.divPartyRoomTitle {
    font-weight: bold;
    margin-top: 20px;
    display: block;
}

.divPartyChildTitle {
    width: 200px;
    display: inline-block;
}

.divPartyTitle {
    width: 100px;
    display: inline-block;
    font-weight: bold;
}

.divFood {
    padding-top: 10px;
    padding-bottom: 10px;
}

.calAvailability {
    margin: 0 auto;
    text-decoration: none;
    max-width: 40rem;
}

.tdCustDetLine {
    height: 50px;
}

.tdCustDetLine2 {
    height: 30px;
}

.divMainTicketSection {
    text-align: center;
    margin: 0px auto;
    width: 100%;
}

.divLogin, .divNoLogin {
    display: inline-block;
    width: 44%;
    vertical-align: top;
    margin-bottom: 50px;
}

#divNoAccContinue {
    margin-top: 20px;
}

.divSpace {
    display: inline-block;
    width: 10%;
}

.GenericButton#btnSubmit {
    width: 90px;
    height: 35px;
}

.divGAExtra {
    text-align: left;
    font-style: italic;
    margin-top: 15px;
}

.tblConfBasket {
    width: 100%;
    padding: 10px;
}

.tdConfBasket {
    font-weight: bold;
    font-size: 16px;
}

.trConfBasket {
    font-weight: bold;
}

.tdConfTotals {
    text-align: right;
    padding-right: 20px;
    font-weight: bold;
}

.divConfirmEmailSent {
    margin-top: 20px;
}

.divLogHeader {
    display: inline-block;
    font-weight: bold;
}

.divFixedPeriod {
    display: block;
    margin-bottom: 20px;
}

/* Config Items */

.divConfID, .divConfName, .txtConfOption, divConfValue, .lblConfig {
    display: inline-block;
    padding: 10px;
}

.lblConfig {
    float: none;
    width: auto;
}

.divConfID, .divConfName {
    font-weight: bold;
    text-align: left;
}

.txtConfColour, .txtConfLogin {
    color: #000000;
    text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
    padding: 10px;
}

    .txtConfColour#txtNewField {
        text-transform: uppercase;
    }

.divConfLogin, .divConfItems, .divConfMenu {
    margin: 30px;
}

    .divConfMenu h1 {
        text-align: center;
        padding-bottom: 30px;
    }

.divConfMenuItems div {
    padding-top: 10px;
    padding-bottom: 20px;
}

.divNewField {
    display: none;
    border: 1px outset #000000;
    margin-top: 20px;
    padding: 10px;
}

.divConfigClose {
    margin-top: 10px;
    text-align: right;
}

.tblConfigEmailTemplate {
    width: 100%;
}

    .tblConfigEmailTemplate td:last-child {
        text-align: left;
    }

.txtMeracEmailHTML {
    width: 100%;
    height: 600px;
}

.divCover, .divMeracTimeoutCover {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: gray;
    filter: alpha(Opacity=50);
    opacity: 0.5;
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    z-index: 0;
}

.divMeracTimeoutCover {
    position: fixed;
    z-index: 100000;
    visibility: hidden;
}

.divPreviewEmail, .divMeracAdminMessage {
    position: fixed;
    top: 50%;
    height: 340px;
    margin-top: -170px;
    left: 50%;
    width: 740px;
    margin-left: -370px;
    background-color: #ffffff;
    padding: 10px;
    border: 2px solid #888888;
    z-index: 100000;
    -webkit-box-shadow: 0px 0px 10px 0px #555;
    box-shadow: 0px 0px 10px 0px #555;
}

.divPreviewEmail, .divMeracAdminMessage {
    height: 550px;
    margin-top: -275px;
}

.divMeracAdminMessage {
    width: 300px;
    margin-left: -150px;
    height: 300px;
    margin-top: -150px;
}

.divMeracAdminMessageText {
    height: 86%;
}

.divMeracAdminMsgButton {
    text-align: center;
}

.imgPreviewClose {
    position: absolute;
    top: -10px;
    left: 745px;
}

/* END Config Items */

.txtNamedTicket {
    display: inline-block;
    width: 70px;
}

.lblNamedTicket {
    display: inline-block;
    color: Red;
    font-size: large;
}

.spaNamedTickets {
    color: Red;
    order: 1;
}

.grdSales-desc {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 10px;
    /*row-gap: 10px;*/
}

.tblBasketQty {
    width: 45px;
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 2px;
    margin-bottom: 2px;
}

.tblBasketButton {
    width: 100%;
    margin: 0px auto;
}

.divCustomControls {
    margin: 0px auto;
    text-align: left;
    width: 100%;
}

.divTemplateTitle {
    margin-top: 20px;
    margin-bottom: 20px;
}

.lblTemplateName {
    padding: 10px;
    font-size: 1.1em;
    font-weight: bold;
}

.divConfCompleteBooking {
    margin-top: 20px;
    background-color: beige;
    width: 100%;
}

.divConfCompleteInfo {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 70px;
    display: inline-block;
}

.txtBookingRef {
    font-size: 1.7em;
    border: 1px #333 solid;
    width: 100px;
    text-align: center;
    padding: 5px;
}

.imgGiftAid {
    width: 198px;
    height: 70px;
    border: 0px;
    display: inline;
    zoom: 1;
}

.imgGiftAidCoins {
    display: none;
}

/* ADOPTIONS */

.divAdoptions {
    text-align: left;
}

.divAdoptOptions {
    text-align: left;
    margin-top: 20px;
    margin-bottom: 20px;
}

.lblAdotionOpt {
    display: inline-block;
    width: 200px;
}

.ddlAdoptions {
    width: 300px;
}

.divAdoptees {
    width: 425px;
    display: inline-block;
    zoom: 1;
    *display: inline;
    padding: 5px;
    margin: 5px;
    text-align: center;
    vertical-align: top;
}

.imgAdoption {
    width: 180px;
    -moz-box-shadow: 3px 3px 5px 6px #ccc;
    -webkit-box-shadow: 3px 3px 5px 6px #ccc;
    box-shadow: 3px 3px 5px 6px #ccc;
}

.lblAdoptionName {
    text-shadow: 1px 1px 1px #000;
    white-space: nowrap;
}

.tdAdoptionName {
    height: 15px;
    width: 20px;
    vertical-align: middle;
    text-align: center;
    padding-bottom: 5px;
}

.tdAdoptionNotes, .tdAdoptionButton {
    padding: 10px;
}

.divAdoptees .tblBasketQty {
    width: 425px;
}

.divAdoptMsg {
    margin: 10px;
    text-align: center;
}

.txtAdoptMsg {
    resize: none;
}

#cphMainPage_divDeliveryAddress #liMeracCustDetPwd, #cphMainPage_divDeliveryAddress #liMeracCustDetEmail, #cphMainPage_divDeliveryAddress #liMeracCustDetConfEmail, #cphMainPage_divDeliveryAddress #liMeracCustDetPhone, #cphMainPage_divDeliveryAddress #liMeracCustDetMobile, #cphMainPage_divDeliveryAddress #cphMainPage_ucDelAddress_vsCustDetails {
    display: none;
}

#cphMainPage_divCustomControls #liMeracCustDetPwd, #cphMainPage_divCustomControls #liMeracCustDetEmail, #cphMainPage_divCustomControls #liMeracCustDetConfEmail, #cphMainPage_divCustomControls #liMeracCustDetPhone, #cphMainPage_divCustomControls #liMeracCustDetMobile {
    display: block;
}

/* BASKET DONATIONS */

.divBasketDonation {
    margin-top: 10px;
    margin-bottom: 20px;
}

.divDonationHeader {
    font-weight: bold;
    margin: 10px 0px 0px 0px;
}

.divDonationPrompt {
    margin-bottom: 20px;
}

.txtDonation {
    padding: 10px 10px 10px 15px;
    width: 50px;
}

.divDonationButton {
    margin-top: 20px;
}

/* START BASKET DELIVERY OPTIONS */

.divDeliveryOptions {
    width: 300px;
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 10px;
    float: right;
    text-align: left;
}

.spaDelTitle, .spaDelLocation {
    display: block;
    padding-top: 5px;
    padding-bottom: 10px;
}

.spaDelTitle {
    font-weight: bold;
}

.divDelCosts {
    padding: 5px;
    width: 310px;
    text-align: center;
    background-color: Silver;
    font-size: 1.2em;
}

.divPostcode {
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
    text-align: left;
}

.txtBasketPostcode {
    margin-top: 5px;
    margin-right: 10px;
}

.cboPostage {
    width: 260px;
}

.GenericButton#cphMainPage_btnChangePostcode {
    width: 70px;
}

.divPostageOption label {
    display: inline-block;
}

.divPostageOptionTitle {
    font-weight: bold;
    margin-bottom: 10px;
}

/* END BASKET DELIVERY OPTIONS */

/* START BASKET CAPTURE QUESTIONS */

.divQuestion, .divQuestionAnswer {
    display: inline-block;
    padding-right: 10px;
    vertical-align: middle;
}

.tdCaptureQuestion {
    text-align: left;
}

.rbnYes {
    padding-right: 10px;
}

/* END BASKET CAPTURE QUESTIONS */

/* START BASKET SIDE CATEGORIES */

#divMeracBasketPage {
    display: inline-block;
    margin-right: 10px;
}

.divMeracBasketSideInfo {
    display: inline-block;
    vertical-align: top;
    text-align: left;
}

/* END BASKET SIDE CATEGORIES */

/* START REGISTER FORM */

fieldset {
    margin: 1.5em 0 0 0;
    padding: 0;
}

legend {
    margin-left: 1em;
    color: #000000;
    font-weight: bold;
}

fieldset ol {
    padding: 1em 1em 0 1em;
    list-style: none;
}

fieldset li {
    padding-bottom: 1em;
    padding-left: 1em;
}

fieldset.submit {
    border-style: none;
}

.lblMeracRegister, .lblMeracRegisterSmallNote {
    float: left;
    margin-right: 0.3em;
}

.lblMeracRegisterSmallNote {
    width: 10em;
    font-size: 0.7em;
}

#cphMainPage_divDeliveryAddress .lblMeracRegister {
    width: 11em;
}

legend span#cphMainPage_edt1_lblCustDetLegend, legend span#cphMainPage_edt1_lblCustDetAddressTitle {
    float: none;
}

.cblTimeSlots {
    width: 100%;
}

    .cblTimeSlots tbody {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        gap: 0.5rem;
    }

    .cblTimeSlots tr {
        flex-basis: 275px;
    }

    .cblTimeSlots td {
        display: flex;
    }

td.calToday {
    border: 2px solid #66f;
}

.cblTimeSlots label {
    flex-grow: 1;
    text-align: left;
}

.cblTimeSlots .btn-check + .btn:hover {
    box-shadow: 0 0 4px 2px;
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
}

/* END REGISTER FORM */

/* ADMIN EMAILS */

.divTemplates {
    margin-top: 20px;
    margin-bottom: 20px;
    zoom: 1;
}

.divAttachments {
    display: inline;
}

.divEmailNew {
    display: inline-block;
    zoom: 1;
}

.divTemplateMsg {
    font-size: 1.2em;
    font-weight: bold;
    color: Red;
    text-align: center;
    vertical-align: middle;
    background-color: #fdfdfd;
    width: 500px;
    height: 50px;
    margin: 0 auto 30px;
    padding: 10px;
}

.divSendTest {
    margin-top: 30px;
}

.divDateAvailButton {
    margin: 10px 10px 0px 10px;
}

    .divDateAvailButton input {
        width: 100%;
    }

.divAvailDateMsg {
    height: auto;
}

/* ADMIN CHECK ACCESS */

.divCheckAccess, .divAccessResult {
    margin: 30px 0px 30px 0px;
}

.divCheckAccessResult {
    display: block;
    width: 300px;
    text-align: left;
    margin: 0 auto;
}

/* ADMIN REPORTING */

#divMAdminReports, #cphMainPage_divMAdminRepParams, #cphMainPage_divMAdminRepResult {
    margin: 20px;
}

    #cphMainPage_divMAdminRepParams li span {
        min-width: 100px;
        display: inline-block;
    }

.lblTime {
    margin-left: 5px;
}

#cphMainPage_btnExport {
    margin-top: 20px;
}

.gvMAdminResult {
    width: 100%;
    text-align: left;
    box-shadow: silver 3px 3px;
}

#divMeracWebsiteVersion {
    position: fixed;
    bottom: 1px;
    right: 3px;
    font-size: 8pt;
}

#lblMOIVersion {
    color: #0099FF;
}

/* GLOBAL SHOP CHANGES */

.divShopProdDesc {
    text-align: left;
}

.meracSearch {
    display: block;
    float: right;
}

/* SESSION SEATING */

.divSeating {
    text-align: left;
    width: 450px;
    display: inline-block;
    *display: inline;
    zoom: 1;
    position: relative;
}

#cphMainPage_divSeating span, .imgSeating {
    cursor: hand;
    cursor: pointer;
}

#cphMainPage_divSeating span {
    font-size: larger;
}

.imgSeatingBooked {
    background-color: Red;
}

.imgSeatingReserved {
    background-color: Gray !important;
}

.divSeatBlocked, .imgSeatingBlocked {
    background-color: Gray !important;
}

.divSeatingInner, .divSeatingProcessing {
    display: inline-block;
    *display: inline;
    zoom: 1;
}

.divSeatingProcessing {
    margin: 50px;
    vertical-align: top;
    display: none;
    float: right;
}

#cphMainPage_divSeatingKey {
    width: 300px;
    display: inline-block;
    *display: inline;
    zoom: 1;
    margin: 0px 0px 10px 20px;
    vertical-align: top;
}

.imgKey {
    src: url(../images/seating_trans.png);
}

#divSeatingKeyTitle {
    margin-bottom: 10px;
    font-weight: bold;
}

#cphMainPage_divSeatingProcessing {
    position: fixed;
    z-index: 10;
    top: 45%;
    background-color: #ffffff;
    height: 0px;
    width: 250px;
    border: blanchedalmond 1px solid;
    padding: 30px;
}

.divSeatingBlockTitle {
    font-weight: bold;
}

.divSeatingBlock {
    margin-top: 10px;
}

.divErrorMsg {
    padding: 20px;
}

#cphMainPage_divMAdminRepResult {
    margin-top: 10px;
}

.divSeatSelected {
    background-color: #00ff00;
}

#cphMainPage_txtSeatTotal {
    max-width: 50px;
}

#cphMainPage_grdSeatingKey td:first-child {
    min-width: 64px;
    text-align: center;
}

#cphMainPage_upSessions #divSessionHeader .optionalHeader seating, #cphMainPage_upSessions .optionalHeader seating, #divMeracSessionSeating .optionalHeader session, #divMeracSessionSeating .optionalFooter session, #divMeracSessionPage .optionalFooter seating {
    display: none;
}

/* SESSION TIMEOUT */

.divMeracTimeoutWrapper {
    position: relative;
}

#divMeracTimeout {
    position: fixed;
    top: 200px;
    left: 50%;
    visibility: hidden;
    margin-left: -160px;
    text-align: left;
    max-width: 320px;
    z-index: 100000;
}

.tblInactivityHeader {
    border: outset 2px #666666;
    max-width: 600px;
    width: 100%;
}

.tblInactivityDetails, .tdInactivityInnerTable {
    background-color: #E5E5E5;
    color: #000000;
    padding: 10px;
    border-top: 0px;
}

.tblInactivityHeaderInner {
    background-color: #FC9050;
    text-indent: 10px;
    font-weight: bold;
    padding: 10px;
}

#divMeracCountdown {
    font-size: 18pt;
    font-weight: bold;
}

.divMeracTimeoutSeconds {
    text-align: center;
    background-color: #CFCFCF;
    width: 70px;
    font-size: 8pt;
    padding: 20px;
}

.divMeracCountdownMsg {
    display: inline-block;
    zoom: 1;
    width: 450px;
    margin-left: 10px;
    line-height: 18px;
}

.tblInactivityDetails tr hr {
    margin-top: 5px;
    margin-bottom: 5px;
}

.tblInactivityDetails tr:first-child td {
    padding: 10px;
}


/* DONATION POPUP */
#divMeracDonationPopup {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border: 2pt solid rgb(204, 204, 204);
    visibility: hidden;
    background: rgb(255, 255, 255);
    position: fixed;
    z-index: 100001;
    padding: 10px;
    max-width: 350px;
    top: 40%;
}

#divMergeGACover, .meracHidden {
    display: none;
}

#divGAPopupTitle {
    display: block;
    font-weight: bold;
    padding: 0px 10px 10px 10px;
}

#divGAPopupText {
    text-align: left;
    padding: 0px 10px 10px 10px;
    display: inline-block;
    width: 170px;
}

#divGAImage {
    background-image: url('../images/Gift-Aid-logo1.gif');
    background-repeat: no-repeat;
    width: 150px;
    height: 86px;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 10px;
}

#cphMainPage_divDonationPlead {
    position: fixed;
    margin: 0 auto;
    color: red;
    width: 300px;
    border: 2px solid #F59228;
    background-color: #fff;
    z-index: 100001;
    padding: 10px;
    box-shadow: 13px 9px 5px #f59228;
}


#cphMainPage_btnDonateYes {
    background-color: #88ae66;
    margin-bottom: 10px;
}

#cphMainPage_btnDonateNo {
    background-color: #ae8866;
    margin-bottom: 10px;
}

#cphMainPage_lblGiftAidAreYouSure2, #cphMainPage_lblDonationPrompt {
    font-weight: bold;
}

#cphMainPage_rbDonateNo {
    margin-left: 10px;
}

#divGADotateOptions {
    margin: 10px 0;
}

/* Purchased Numbered Vouchers */

.divMeracPNVWrapper {
    display: inline;
}

.divMeracPNVoucher {
    border-right: 1px dashed #000;
    background-image: url(../images/voucher.png);
    background-size: 100% 100%;
    min-width: 280px;
    display: inline-block;
    margin: 10px 0px;
}

.divMeracPNVExpiry {
    padding: 5px;
}

.tblMeracPNVoucher {
    font-size: 14pt;
    text-align: center;
    line-height: 26px;
}

    .tblMeracPNVoucher td {
        padding: 0px 5px;
    }

@keyframes kfPNVoucherCode {
    from {
        color: #000000;
    }

    to {
        color: #ff0000;
    }
}

.tdPNVoucherCode {
    font-weight: bold;
    animation-name: kfPNVoucherCode;
    animation-duration: 2s;
    animation-iteration-count: 3;
}

/* ADMIN Check Access */

.divAccessStatus {
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: left;
}

.divAccessStatuses {
    margin-left: 65px;
    display: inline-block;
}

.divLookupBookingDetails {
    position: fixed;
    top: 20%;
    left: 50%;
    margin-left: -240px;
    width: 480px;
    height: 500px;
    border: 3px outset #003300;
    background-color: #ffffff;
    z-index: 100001;
}

.divLookupDetailsCover {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.5;
    z-index: 100000;
}

.divLookupDetailClose {
    background-image: url("../images/btn_close_button.png");
    position: absolute;
    right: -15px;
    top: -15px;
    width: 29px;
    height: 29px;
    cursor: pointer;
}

.divCABookingNotes, .divBookingDetailsTitle {
    margin: 20px;
}

.divCABookingNotesTitle, .divBookingDetailsTitle, .gvResultDetailFooter {
    font-weight: bold;
}

.gvResultDetailFooter {
    border-top: 1px solid;
    border-bottom: 2px solid;
}

.gvMAdminResult, .gvMAdminResult th {
    padding: 5px;
}

.divLookupCheckAccess {
    margin-top: 10px;
}

.divBookingDetailsGrid {
    overflow-y: scroll;
    max-height: 300px;
    display: inline-block;
}

#cphMainPage_divMeracPCBasketEdit {
    margin-bottom: 5px;
    text-align: right;
    display: none;
}

.divPopupWrapper {
    position: fixed;
    top: 0px;
    z-index: 100000;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .5;
}

.divPopupBox {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100001;
}

.divPopupInnerBox {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    border: 4px outset;
    background-color: #fff;
}

.divPopupMsg {
    z-index: 100001;
    padding: 20px;
    display: inline-block;
    max-width: 450px;
}

.divPopupMsgText {
    margin-bottom: 20px;
}

#divGAInnerTitle {
    font-weight: bold;
    margin: 10px 0;
}

.divMeracAdminUpdateComms, .divMeracAdminUpdateImage {
    margin: 0 auto;
}

.divMeracAdminUpdateImage {
    width: 48px;
    height: 48px;
    background: url(../images/update.gif) no-repeat;
}

.divMeracAdminPage {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    -webkit-border-radius: 3px;
    -webkit-box-orient: vertical;
    -webkit-transition: 200ms transform;
    background: white;
    box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(0,0,0,0.15);
    color: #333;
    display: -webkit-box;
    padding: 0;
    position: relative;
    font-family: 'Segoe UI', Tahoma, sans-serif;
}

.divSessionSeatingDesc {
    margin: 20px 0px;
}

a.meracHeaderLink:active, a.meracHeaderLink:link, a.meracHeaderLink:visited {
    color: #fff;
    text-decoration: underline;
}

.divMeracAdminHeader {
    min-height: 230px;
    background-image: url("../images/logoEmail.png");
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover;
}

.divMeracAdminEmail {
    margin: 20px;
}

.tblConfigEmailTemplate #cphMainPage_lblText, .tblConfigEmailTemplate #cphMainPage_txtEmailText {
    display: none;
}

#cphMainPage_txtBodyStyle {
    width: 100%;
}

.tdMeracEmailLabels {
    width: 210px;
}

.tdMeracEmailEditor {
    height: 500px;
}

.tdLoginDetail {
    width: 66%;
}

/* Member Only Styling */

.divMembersOnly {
    text-align: left;
    position: absolute;
    top: 40px;
    margin-top: 0px;
    left: 50%;
    width: 300px;
    margin-left: -150px;
    background-color: #ffffff;
    padding: 10px;
    border: 2px solid #888888;
    z-index: 100000;
    -webkit-box-shadow: 0px 0px 10px 0px #555;
    box-shadow: 0px 0px 10px 0px #555;
}

.divMembersOnlyDataEntry, .divMemberOnlyResult {
    margin: 10px 0px;
}

.divMemberOnlyCheck {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 15px;
    height: 15px;
    background-image: url(../images/loading.gif);
    background-repeat: no-repeat;
    background-size: contain;
    display: none;
}

#cphMainPage_txtMemberOnlyCardNo, #cphMainPage_txtMemberOnlyPostcode {
    display: block !important;
}

/* END Member Only Styling */

/* Validate member card number */

.inpMeracMemberCardNo {
    max-width: 180px;
}

.rvfMemberCardNo {
    font-size: 25px;
    vertical-align: top;
    display: inline-block;
}

.divMeracMemberValidate {
    width: 100%;
}

.divValidationStatus {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    display: none;
}

.divCardValidated {
    background: green;
    display: inline-block;
}



.divCardValidating {
    background: Orange url(../images/membervalidate_processing.gif);
    background-size: cover;
    display: inline-block;
    margin: 0px 10px;
}

.divCardInvalid {
    background: Red;
    display: inline-block;
    margin: 0px 10px;
}

.txtMemberCardInvalid {
    border: 1px solid red !important;
}

.txtMemberCardValidated {
    border: 1px solid green !important;
}

.lblTicketValidation {
    margin-right: 10px;
}

.lblTicketValidation {
    display: block;
}

input[type="text"].inpMeracMemberCardNo {
    display: inline-block !important;
}


/* END Validate member card number */

/* START Add To Basket */

.divMeracAddToBasket {
    width: 300px;
    height: 200px;
    position: fixed;
    z-index: 100001;
    left: 50%;
    top: 50%;
    margin-top: -100px;
    margin-left: -150px;
    padding: 20px;
    background-color: beige;
    border-width: 5px;
    border-color: #cb334c;
    border-style: ridge;
}

.divATBIcon {
    background-image: url(../images/problem.png);
    width: 33px;
    height: 42px;
}

.divMeracAddToBasketMsg {
    color: #333;
    font-size: 1.6em;
    font-weight: normal;
    line-height: 1.25em;
    font-family: "Segoe UI", Tahoma, sans-serif;
}

.divMeracAddToBasketMsg {
    min-height: 100px;
    margin-bottom: 20px;
}

/* END Add To Basket */

/* START Common shop side-menu */

.divMerac_widget_nav_menu {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    border-radius: 10px;
    padding: 15px 23px 20px;
    background-color: #f6f5f2;
}

.divMeracSideMenu li {
    list-style: none;
    border-bottom: 1px solid #e8e8e8;
    padding: 4px 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

    .divMeracSideMenu li a:hover {
        color: #82a62a;
        background: url(../images/menuArrow.png) no-repeat scroll right center transparent;
        display: block;
    }

/* END Common shop side-menu */

/* CALENDAR KEY START */

.divCalKeyItemCol {
    width: 25px;
    height: 25px;
    border-radius: 25px;
    margin-right: 10px;
    display: inline-block;
}

.divCalKeyItemDesc {
    max-width: 265px;
    display: inline;
}

.divCalKeyItem div {
    vertical-align: middle;
}

.divCalKeyItem {
    display: block;
    margin-bottom: 20px;
}

.divCalKey {
    max-width: 325px;
    text-align: left;
    margin: 20px auto;
    border: 2px solid #2970ca;
    padding: 10px;
    border-radius: 10px;
}

/* CALENDAR KEY END */

/* DONATION PAGE START */

#divMeracDonationPage {
    margin-bottom: 40px;
}

#cphMainPage_txtDonation {
    max-width: 100px;
}

#divMeracDonationPage #cphMainPage_btnContinue {
    margin-top: 20px;
}

/* DONATION PAGE END */

/* SPLIT GRID START */

.buyQty {
    float: left;
    line-height: 40px;
    text-align: center;
    width: 40px;
    background: none;
    border: 0;
    color: #fff;
    cursor: pointer;
    background-color: #999999;
    transition: background-color 400ms ease-in-out;
    outline: 0;
    padding: 0;
    height: 40px;
    margin: 0px;
    border-radius: 4px;
}

.buyQtyMinus, .buyQtyAdd {
    font-size: 20px;
    font-weight: bold;
}

.buyQtyMinus {
    border-right: 2px solid #707070;
    color: Red;
}

.buyQtyAdd {
    border-left: 2px solid #707070;
    color: Lime;
}

.divDonationGridView {
    width: 23px;
    height: 23px;
    background-image: url('../images/ArrowViewGrid.png');
    background-size: cover;
    display: inline-block;
}


.divOpenGrid {
    background-image: url('../images/ArrowHideGrid.png');
}

.divSplitDonationWrapper {
    margin: 20px;
    clear: both;
}

.divSplitHeader {
    font-size: 20px;
    display: inline-block;
}

#divSalesWithDonation table.tblMerac th:nth-child(2), #divSalesWithDonation table.tblMerac td:nth-child(2), #divSalesWithoutDonation table.tblMerac th:nth-child(2), #divSalesWithoutDonation table.tblMerac td:nth-child(2) {
    display: none;
}

@media screen and (max-width: 767px) {
    .buyQty {
        width: 18px;
    }
}

/* SPLIT SRID END */


/* START EVERY PAGE BASKET */

#divMeracPermaBasket {
    display: inline-block;
    position: fixed;
    top: 15%;
    right: 0px;
}

#divMeracPermaBasketInner {
    width: 300px;
}

#divMeracMiniBasketInfo {
    background-color: #fff;
}

.divMeracMiniBasket {
    height: 60px;
    width: 102px;
    clear: none;
    position: absolute;
    right: 0;
    top: 0;
    background: #fc0;
}

.divMeracMiniBasketHover {
    right: 0;
    position: absolute;
    top: 60px;
    width: 600px;
    z-index: 100001;
    display: none;
}

.divZIndexOver {
    z-index: 100001;
}

.aMeracMiniBasket {
    width: 102px;
    display: block;
}

    .aMeracMiniBasket:hover {
        text-decoration: none;
    }

.divMeracMiniBasketHover .divMeracMiniBasketInner {
    background: #fff;
    display: block;
    background-repeat: repeat-y;
}

.divMeracMiniBasketHover .divMeracMiniBasketMainRow {
    padding: 0;
}

divMeracMiniBaskettTable {
    margin: 0;
}

.divMeracMiniBasketEmptyMsg {
    text-align: center;
    font-size: 14px;
    padding: 10px;
}

.divMeracMiniBasketHover .divMeracMiniBasketBotRow {
    padding: 10px;
    display: block;
    overflow: hidden;
}

.divMeracMiniBaskettTable td {
    height: 60px;
    border-bottom: 1px solid #e7e7e7;
    padding: 3px;
    vertical-align: middle;
}

.divMeracMiniBaskettTable .trMeracMiniBasket_LastRow td {
    border-bottom: none;
}

.divMeracMiniBaskettTable .tdMeracMiniBasketProdImg {
    width: 82px;
    padding: 5px 5px 5px 15px;
}

.divMeracMiniBaskettTable .tdMeracMiniBasketProdDesc {
    width: 300px;
    word-break: normal;
}

.divMeracMiniBaskettTable .tdMeracMiniBasketCartItem {
    width: 100px;
}

.divMeracMiniBaskettTable .tdMeracMiniBasketProdPrice {
    width: 100px;
    color: #ce0000;
    font-weight: bold;
}

.divMeracMiniBasketHover th {
    color: #333;
    font-weight: normal;
    line-height: 30px;
    background: #fc0;
}

th.divMeracMiniBasketFirst {
    font-size: 18px;
    padding: 10px 15px;
}


.spaMeracBasketImg, .spaMeracBasketShopImg {
    width: 25px;
    height: 25px;
    display: inline-block;
    margin: 8px 0 0 37px;
    background: url(../shop/images/basket_icon.png) no-repeat;
    background-size: 100%;
}

.spaMeracBasketShopImg {
    background: url(../images/basket_icon.png) no-repeat;
    background-size: 100%;
}

.spaMeracBasketItemsCount {
    font-size: 12px;
    color: #4d4d4d;
    background: none;
    border: none;
    border-radius: 9px;
    padding: 1px 4px;
    display: inline-block;
    vertical-align: top;
    margin: 2px 0 0 0;
    font-weight: bold;
}

.spaMeracBasketTotal {
    width: 100%;
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #4d4d4d;
    text-align: center;
    line-height: 20px;
    margin-top: 5px;
}

input.meracMiniBasketButton {
    display: block;
    min-width: 140px;
    color: #fff;
    font-size: 16px !important;
    float: none;
    margin: 0 auto;
}

.trMeracShopItem:hover {
    background-color: #eee;
    cursor: pointer;
}


/* END EVERY PAGE BASKET */

/* START Session Filter */

#cphMainPage_ddlFilter {
    max-width: 300px;
}

#cphMainPage_divPageFilter {
    margin: 30px 0px;
}

/* END Session Filter */

/* START Direct Debit DD */

.divMeracDDBankDets .lblMeracRegister {
    float: none;
}

/* END Direct Debit */

/* START GDPR Preferences */

#divMeracGDPRCustomerPrefs {
    margin: 20px 0px;
}

    #divMeracGDPRCustomerPrefs div {
        margin-right: 10px;
    }

.divMeracSectionHeader {
    color: #000;
    font-weight: bold;
}

#cphMainPage_divMeracGDPRPrefsReason, #cphMainPage_divMeracGDPRPrefsHowUsed, #cphMainPage_divMeracGDPRPrefsWhoUses {
    text-align: left;
    display: inline-block;
    width: 250px;
    vertical-align: top;
}

#divMeracGDPRCustomerPrefs input, #divMeracGDPRCustomerPrefs table td > label {
    cursor: pointer;
}

/* END GDPR Preferences */

/* Double order checking */
@keyframes kfWarningFlash {
    from {
        color: #000000;
    }

    to {
        color: #ff0000;
    }
}

.spaWarningFlash {
    font-weight: bold;
    animation-name: kfWarningFlash;
    animation-duration: 2s;
    animation-iteration-count: 3;
}

#cphMainPage_divPaymentMessage .divPopupInnerBox input {
    margin-top: 5px;
    width: 100%;
}

/* END Double order checking */

/* START Purchased Numbered Vouchers  */

.divNVWrapper {
    margin: 30px auto;
    max-width: 700px;
    padding: 10px;
}

.divNVEachWrap {
    padding: 40px 0px 40px 20px;
    border: 5px solid #000;
    background-color: beige;
    margin: 20px 0px;
    position: relative;
    min-height: 238px;
    font-size: 24pt;
    text-align: left;
}

.divNVBarcode {
    position: absolute;
    right: 0px;
    top: calc(33%);
    display: contents;
}

.divGiftVoucherWrapper {
    margin: 20px 0px;
    position: relative;
}

.divGiftVoucherInnerWrapper {
    max-width: 300px;
    width: 100%;
    border: 1px solid #000;
    padding: 20px;
}

.divGiftVoucher, .divGiftVoucherValue {
    font-weight: bold;
}

.divGiftVoucherBarcode {
    margin: 20px 0px;
    position: relative;
}

#divGiftVoucherTitle {
    text-align: center;
    padding: 10px 0px 20px;
    font-size: 20pt;
}

.divPVCompanyName {
    position: absolute;
    top: 0px;
    right: 10px;
    background-color: Red;
    color: #fff;
    padding: 10px;
    font-size: 10pt;
    font-weight: bold;
}

/* END Purchased Numbered Vouchers */

/* START Availability Key  */

#cphMainPage_divAvailabilityKey table {
    margin: 20px auto;
}

.aMeracCalDateAvailLoading {
    background-image: url(../images/loading.gif);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* END Availability Key  */

/* START Live Card  */
.divBasketSectionHeader {
    cursor: pointer;
    padding: 10px 5px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-weight: bold;
    transition: 0.4s;
}

.divLiveCardBlurb {
    padding: 10px 0px;
}

.divLiveCards {
    padding: 10px 5px;
    border: 1px solid grey;
    text-align: left;
    margin-top: 10px;
}

    .divLiveCards div span {
        min-width: 150px;
        display: inline-block;
    }

.meracLiveCard {
    background: #000 !important;
    color: #f39723;
}

/* END Live Card  */

/* START Account Invoice  */

.divPayOnAccountMsg, .divPayOnAccountRef {
    color: red;
    margin: 10px 0px;
    text-align: center;
}

.divPayOnAccountRef {
    color: Black;
    font-weight: bold;
}

.divMeracPayOnAccountName, .divMeracPayOnAccountPIN {
    margin: 15px 0px;
}
/* END Account Invoice  */

/* START Slider */

.k3-slider-container {
    width: 80%;
    background: #c0c0c021;
    margin: 20px auto;
    border: 1px solid;
}

    .k3-slider-container button {
        margin-right: initial;
    }

.k3-slider-single {
    padding: 5px;
    background-color: #fff;
    margin: 5px;
    text-align: center;
    border: 1px solid;
    border-radius: 10px;
}

    .k3-slider-single:hover, .k3-slider-single-link:hover {
        background-color: powderblue;
    }

    .k3-slider-single a {
        text-decoration: none;
        color: #000;
    }

.k3-slider-container .slick-prev:before, .k3-slider-container .slick-next:before {
    color: cadetblue;
}

/* END Slider */

/* START Qty Textbox */

.k3_quantity-input {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
}

.k3_decrement-btn, .k3increment-btn {
    align-items: center;
    background: silver;
    box-shadow: none;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 35px;
    justify-content: center;
    padding: 0;
    width: 35px;
}

    .k3_decrement-btn:disabled, .k3increment-btn:disabled {
        background: #ECEDEE;
        cursor: default;
    }

    .k3_decrement-btn svg, .k3increment-btn svg {
        height: 20px;
        width: 20px;
    }

.k3_quantity {
    font-weight: 700;
    font-size: 18px;
    width: 24px;
    text-align: center;
}

/* END Qty Textbox */

/* Smartphones (portrait and landscape) */
@media only screen and (max-width: 767px) {

    .divLogin, .divNoLogin {
        width: 100%;
    }

    .divSpace {
        display: block;
    }

    #divMeracGAMiniArrow {
        display: none;
    }

    .btnArrowForwardWithDonation {
        margin: 0 auto;
    }

    .btnArrowBackNoDonation, .btnArrowForwardWithDonation {
        float: none;
        margin: 0 auto;
        display: block;
    }

    .divPopupInnerBox {
        top: 0%;
        transform: translate(-50%, 50%);
    }
}

.clear {
    clear: both;
}


.address-container {
    clear: both;
}

.address-row {
    clear: both;
}

.liTimeSlot {
    display: flex;
    flex-grow: 1;
}

    .liTimeSlot > label.btn {
        margin-left: 0;
        color: inherit;
    }

.calSession > tbody > tr > td > a {
    display: block;
    width: 100%;
    height: 100%;
}

.calSession > tbody > tr:not(:has(table)) > td:has(a), .calSession > tbody > tr > td > a {
    transition: .15s all;
}

    .calSession > tbody > tr:not(:has(table)) > td:has(a):hover, .calSession > tbody > tr > td > a:hover {
        background-color: #00bb00 !important;
    }

.k3-sessions .row > .card {
    padding-left: 0rem;
    padding-right: 0rem;
}

/* Session Availability - ADMIN */
.row.input-group {
    width: initial;
}

.input-group > div:first-child {
    padding-right: 0;
}

    .input-group > div:first-child > select {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-right-width: 0;
    }

.input-group > div:not(:last-child):not(:first-child) {
    padding-left: 0;
    padding-right: 0;
}

.input-group > div:last-child {
    margin-left: -1px;
    padding-left: 0;
}

    .input-group > div:last-child > button {
        margin-left: -1px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

.colour-conditions > span {
    align-self: center;
}

/* Session bootstrap fixes */

.calSession.table > :not(caption) > * > * {
    padding: 0.5rem 0;
}

.calHeader {
    font-size: 0.9rem;
}

.container {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
}

div.row:has(div.divSessionCalendar) {
    flex-direction: column;
    justify-content: center;
}

    div.row:has(div.divSessionCalendar) > .card, div.row:has(div.divSessionTickets) > .card {
        width: 95%;
        margin: 0 auto;
    }

#ctl00_cphMainPage_divColourLegend > .row {
    justify-content: center;
}

    #ctl00_cphMainPage_divColourLegend > .row > .col-md {
        flex-basis: 50%;
    }

        #ctl00_cphMainPage_divColourLegend > .row > .col-md:nth-child(2n) > .row > .col-md-12 {
            flex-direction: row-reverse;
        }

            #ctl00_cphMainPage_divColourLegend > .row > .col-md:nth-child(2n) > .row > .col-md-12 > .ps-2 {
                padding-right: 0.5rem !important;
            }

.fsGiftAid .form-check {
    padding: 0.5rem;
    padding-left: 2rem;
}

.form-check:has(input:checked[type=checkbox]) {
    box-shadow: 0px 0px 2px 2px var(--bs-card-border-color);
}

@media (min-width: 576px) {
    .calSession.table > :not(caption) > * > * {
        padding: 0.5rem 0.5rem;
    }

    .calHeader {
        font-size: 1.5rem;
    }

    .container {
        padding-right: calc(var(--bs-gutter-x) * 0.5);
        padding-left: calc(var(--bs-gutter-x) * 0.5);
    }
}

@media (min-width: 992px) {
    div.row:has(div.divSessionCalendar) {
        flex-direction: row;
    }
}

/* ADMIN K3 Colors*/

body {
    --k3-border-color: #201e45;
    --k3-card-header-footer-bgcolor: #00e4ff44;
    --k3-option-bgcolor: #201e45;
    --k3-option-color: #ffffff;
    --k3-option-margin: -12px;
    --k3-option-padding: 14px;
    --k3-control-color: #201e45;
    --k3-button-hover-bgcolor: #201e45;
    --k3-button-hover-color: #ffffff;
    --k3-green: #00ff77;
    --k3-dark-blue: #201e45;
    --k3-cyan: #00c4ff;
}

.divMeracAdminPage .form-select {
    border-color: var(--k3-border-color);
}

    .divMeracAdminPage .form-select > option:checked, .divMeracAdminPage .form-select > option:focus {
        background-color: var(--k3-option-bgcolor);
        color: var(--k3-option-color);
        margin-left: var(--k3-option-margin);
        margin-right: var(--k3-option-margin);
        padding-left: var(--k3-option-padding);
        padding-right: var(--k3-option-padding);
    }

.divMeracAdminPage .card {
    border-color: var(--k3-border-color);
}

    .divMeracAdminPage .card > .card-header, .divMeracAdminPage .card > .card-footer {
        border-color: var(--k3-border-color);
        background-color: var(--k3-card-header-footer-bgcolor);
        color: var(--k3-control-color);
    }

.divMeracAdminPage .btn.btn-outline-dark {
    border-color: var(--k3-border-color);
    color: var(--k3-control-color);
}

    .divMeracAdminPage .btn.btn-outline-dark:hover {
        background-color: var(--k3-button-hover-bgcolor);
        color: var(--k3-button-hover-color);
    }

.divMeracAdminPage .input-group > div:last-child > .btn.btn-outline-dark {
    text-align: left;
}

.divMeracAdminPage .input-group-text {
    background-color: var(--k3-card-header-footer-bgcolor);
    border-color: var(--k3-border-color);
}

.divMeracAdminPage .form-control {
    border-color: var(--k3-border-color);
}

.divMeracAdminPage input[type="color"] {
    border-radius: var(--bs-border-radius);
    height: 38px;
    padding: 0.25rem;
    border-color: var(--k3-border-color);
    background-color: transparent;
    transition: all .2s;
}

    .divMeracAdminPage input[type="color"]:hover {
        background-color: var(--k3-button-hover-bgcolor);
    }

.divMeracAdminPage table.calAdmin td[colspan="7"] {
    background-color: var(--k3-option-bgcolor) !important;
    color: white;
}

    .divMeracAdminPage table.calAdmin td[colspan="7"] table {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

        .divMeracAdminPage table.calAdmin td[colspan="7"] table a {
            text-decoration: none;
            color: white !important;
            line-height: 34px;
            width: 100%;
            display: block;
            text-align: center;
            vertical-align: middle;
            padding: 5px;
        }

        .divMeracAdminPage table.calAdmin td[colspan="7"] table td[style="width:15%;"]:first-child a {
            border-top-left-radius: var(--bs-border-radius);
            border-bottom-left-radius: var(--bs-border-radius);
        }

        .divMeracAdminPage table.calAdmin td[colspan="7"] table td[style="width:15%;"]:last-child a {
            border-top-right-radius: var(--bs-border-radius);
            border-bottom-right-radius: var(--bs-border-radius);
        }

        .divMeracAdminPage table.calAdmin td[colspan="7"] table a:hover {
            background-color: #00e4ff;
            color: #201e45 !important;
        }

.form-control[readonly="readonly"] {
    background-color: var(--bs-gray-300);
    color: var(--bs-gray-dark);
}

.basket table.tblMerac tr.tblMeracRows, .basket table.tblMerac tr.tblRowAlter {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: auto;
    grid-template-areas:
        "desc desc desc desc remove"
        "price price qty qty total"
        "capq capq capa capa .";
}

    .basket table.tblMerac tr.tblMeracRows:has(td.tdCaptureQuestion):not(:has(td.tdCaptureAnswer)), .basket table.tblMerac tr.tblRowAlter:has(td.tdCaptureQuestion):not(:has(td.tdCaptureAnswer)) {
        grid-template-areas:
            "desc desc desc desc remove"
            "price price qty qty total"
            "cap cap cap cap cap";
    }

    .basket table.tblMerac tr.tblMeracRows > td.tdCaptureQuestion, .basket table.tblMerac tr.tblRowAlter > td.tdCaptureQuestion {
        grid-area: capq;
    }

    .basket table.tblMerac tr.tblMeracRows > td.tdCaptureAnswer, .basket table.tblMerac tr.tblRowAlter > td.tdCaptureAnswer {
        grid-area: capa;
    }

.basket table.tblMerac thead {
    display: none;
}

.basket table.tblMerac tr > td {
    border-bottom-width: 0;
}

    .basket table.tblMerac tr > td.meracBasketDesc {
        grid-area: desc;
        font-size: calc(1.275rem + 0.3vw) !important;
    }

    .basket table.tblMerac tr > td.meracBasketQTY {
        align-self: center;
        justify-self: start;
        grid-area: qty;
        display: flex;
        width: 100%;
        justify-content: start;
    }

    .basket table.tblMerac tr > td.meracBasketUnitPrice::before {
        content: 'Price: ';
        font-weight: bold;
        display: inline-flex;
        width: 3.5rem;
    }

    .basket table.tblMerac tr > td.meracBasketUnitPrice {
        align-self: center;
        grid-area: price;
        justify-self: start;
    }

    .basket table.tblMerac tr > td.meracBasketTotalPrice {
        align-self: start;
        justify-self: end;
        grid-area: total;
        display: flex;
    }

.basket table.tblMerac tbody {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
}

.basket table.tblMerac tr.tblMeracFooter {
    flex-direction: row;
    /* justify-content: stretch; */
    flex-wrap: nowrap;
    display: flex;
}

    .basket table.tblMerac tr.tblMeracFooter > td:not(.meracBasketTotalPriceFooter):not(:first-child) {
        display: none;
    }

    .basket table.tblMerac tr.tblMeracFooter > td {
        display: block;
        flex-basis: 50%;
    }

.basket table.tblMerac tr > td.meracBasketQTY::before {
    display: inline-flex;
    content: 'Quantity: ';
    font-weight: bold;
    width: 7rem;
    align-self: center;
}

.basket table.tblMerac tr > td.meracBasketTotalPrice::before {
    display: inline-flex;
    content: 'Total: ';
    font-weight: bold;
    width: 4rem;
    align-self: center;
}

@media (max-width: 520px) {
    .basket table.tblMerac tr > td.meracBasketQTY::before, .basket table.tblMerac tr > td.meracBasketTotalPrice::before {
        display: none;
    }
}

.basket table.tblMerac tr > td[colspan="10"] {
    grid-area: cap;
    display: flex;
    justify-content: center;
    grid-column: 1/10;
}

.k3-admin-sessionratios input[type=number] {
    width: 4rem;
    text-align: center;
    border-width: 1px;
}

.RatioConditions div.UpdateCover {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    z-index: 1000000;
    left: 0rem;
    top: -0.5rem;
    width: 100%;
    height: calc(100% - 0.5rem);
}

.toast-container {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
}

table.cphMainPage_ftbHTMLEditor_OuterTable, iframe.cphMainPage_ftbHTMLEditor_DesignBox, textarea.cphMainPage_ftbHTMLEditor_HtmlBox {
    width: 100% !important;
}

table.cphMainPage_ftbHTMLEditor_OuterTable {
    border-radius: 0.375rem;
    display: block;
    padding: 0;
    background-color: transparent;
}

    table.cphMainPage_ftbHTMLEditor_OuterTable > tbody > tr > td > div > div:last-child > table {
        position: relative;
        top: -2px;
    }

    table.cphMainPage_ftbHTMLEditor_OuterTable > tbody > tr > td {
        padding: 0;
    }

textarea.cphMainPage_ftbHTMLEditor_HtmlBox {
    padding: 5px !important;
}

td.cphMainPage_ftbHTMLEditor_StartTabOn, td.cphMainPage_ftbHTMLEditor_EndTab, td.cphMainPage_ftbHTMLEditor_StartTabOff {
    border: 0;
    background-color: var(--k3-border-color)
}

td.cphMainPage_ftbHTMLEditor_TabOn {
    border: 2px solid var(--k3-border-color);
    border-width: 0px 2px 2px 2px;
    background-color: var(--k3-cyan);
    color: var(--k3-dark-blue);
    padding: 0.25rem;
    font: 1rem var(--bs-body-font-family) !important;
}

td.cphMainPage_ftbHTMLEditor_TabOffRight, td.cphMainPage_ftbHTMLEditor_TabOffLeft {
    border: 2px solid var(--k3-border-color);
    border-width: 0px 2px 2px 0px;
    background-color: var(--k3-dark-blue);
    color: white;
    padding: 0.25rem;
    font: 1rem var(--bs-body-font-family) !important;
}

div.cphMainPage_ftbHTMLEditor_Toolbar > table > tbody > tr > td:not(:nth-child(2)) {
    display: none;
}

div#cphMainPage_ftbHTMLEditor_toolbarArea {
    display: flex;
    flex-flow: row wrap;
    background-color: var(--k3-cyan);
    padding: 0.25rem;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    border: 2px solid var(--k3-border-color);
    border-bottom-width: 0;
}

div.cphMainPage_ftbHTMLEditor_Toolbar > table {
    background-image: none !important;
}

div#cphMainPage_ftbHTMLEditor_designEditorArea, div#cphMainPage_ftbHTMLEditor_htmlEditorArea {
    border: 1px solid var(--k3-cyan);
    background-color: var(--k3-cyan);
    border-bottom-right-radius: 0.375rem;
    padding: 0.4rem;
    border: 2px solid var(--k3-border-color);
    border-width: 0px 2px 2px;
}

table.cphMainPage_ftbHTMLEditor_OuterTable > tbody > tr > td > div > div:last-child {
    padding-top: 0 !important;
}

tr#cphMainPage_ftbHTMLEditor_TabRow > td:first-child, tr#cphMainPage_ftbHTMLEditor_TabRow > td:last-child {
    display: none;
}

/*tr#cphMainPage_ftbHTMLEditor_TabRow > td.cphMainPage_ftbHTMLEditor_TabOn, tr#cphMainPage_ftbHTMLEditor_TabRow > td.cphMainPage_ftbHTMLEditor_TabOffLeft:first-child {
    border-bottom-left-radius: 0.375rem;
}*/

.bs-dashed {
    border-style: dashed !important;
}

img#cphMainPage_imgHeader {
    width: 50%;
    background-color: var(--k3-dark-blue);
    margin: 1rem auto 0;
    padding: 1rem;
    border-radius: 0.5rem;
    text-align: center;
}

.divImgHeader {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 768px) {
    .k3-donation-content img.card-img-top {
        width: 85% !important;
    }
}

.k3-donation-content li > div.input-group {
    width: 12rem;
    display: inline-flex;
}

.k3-donation-content li.list-group-item {
    text-align: left;
}
