/* Main shop CSS */
*{
    margin:0;
    padding:0;
    box-sizing:border-box
}
body{
    font-family:var(--primary-font-family);
    font-size:18px;
    font-weight:400;
    line-height:26px;
    color:var(--body-overlay);
    margin:0;
    padding:0;
    background:var(--background-image);
    background-attachment:fixed;
    background-position:center top;
    overscroll-behavior:none
}
#wrapper{
    max-width:var(--max-width);
    margin:0 auto;
    padding-bottom:0;
    background:var(--body-bg);
    overflow-x:hidden
}
hr{
    border-top:1px solid var(--dark-grey-transparent)
}
h1,h2,h3,h4,h5,h6{
    font-family:var(--secondary-font-family);
    font-weight:300;
    line-height:30px;
    margin:0 0 30px;
    color:var(--body-overlay);
    text-align:center
}
h1{
    font-size:32px
}
h2{
    font-size:28px
}
h3{
    font-size:22px
}
h4{
    font-size:20px
}
h5{
    font-size:18px
}
h6{
    font-size:16px
}
p{
    margin:0 0 20px;
    word-break:break-word
}
p a{
    color:var(--key-colour);
    border-bottom:1px dotted var(--key-colour);
    word-break:break-word
}
a,.link {
    font-family:var(--secondary-font-family);
    font-weight:400;
    color:var(--key-colour);
    text-decoration:none;
    cursor:pointer;
    border-bottom:1px dotted var(--key-colour)
}
#content a, #content .link {
    font-family: var(--primary-font-family);
}
a:hover,.link:hover{
    color:var(--key-colour);
    text-decoration:none
}
section{
    padding:30px 0 0
}
dl,ol,ul{
    padding-left:25px
}
#content[role=main]{
    max-width:100%;
    margin:0 auto;
    padding:30px 15px 0;
    margin-top:50px
}
@media screen and (max-width:767px){
    #content[role=main]{
        margin-top:0
    }
    #content[role=main],.shop-page #content[role=main]{
        padding-top:90px
    }
    .product-details-page #content[role=main]{
        padding:0
    }
    .has-site-notice #content[role=main]{
        padding-top:160px
    }
    .has-site-notice .product-details-page #content[role=main]{
        padding-top:40px
    }
}
.container{
    max-width:1200px
}
.hide{
    display:none
}
.hidden{
    display:none!important
}
h1::after{
    content:'';
    width:200px;
    display:block;
    margin:25px auto 50px
}
.form-group{
    width:100%
}
.col-form-label{
    font-weight:400;
    text-transform:none;
    padding:0;
    margin:0 0 6px
}
.col-form-label span{
    color:red
}
.form-control,select{
    height:41px;
    line-height:40px;
    font-size:18px;
    color:var(--input-text);
    border:1px solid var(--key-colour);
    border-radius:0;
    background-color:var(--input-background);
    padding:0 15px;
    margin:0
}
.form-control:focus{
    color:var(--input-text);
    =
}
select.form-control: not([size]):not([multiple]){
    height:41px
}
.form-control.textarea{
    min-height:100px;
    resize:vertical;
    line-height:26px;
    padding:15px
}
.form-control:focus,#crafty_postcode_display select:focus{
    background-color:var(--input-background);
    box-shadow:none;
    border-color:var(--key-colour)
}
select{
    -moz-appearance:none;
    -webkit-appearance:none;
    background-image:url(data:image/svg+xml;
     base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
    background-repeat:no-repeat;
    background-position:top 17px right 10px;
    padding:0 40px 0 15px
}
input[type=number]{
    -webkit-appearance:textfield;
    appearance:textfield
}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance:none;
    margin:0
}
.custom-radio{
    position:relative;
    padding-left:25px;
    margin-bottom:15px;
    color:color:var(--key-colour)
}
.custom-radio .link{
    color:color:var(--key-colour)
}
.custom-radio input{
    position:absolute;
    visibility:hidden;
    opacity:0
}
.custom-radio span:before{
    content:'';
    position:absolute;
    left:0;
    top:3px;
    display:inline-block;
    width:20px;
    height:20px;
    border-radius:30px;
    border:2px solid var(--key-colour);
    background-color:#fff
}
.custom-radio span::after{
    content:'';
    width:10px;
    height:10px;
    background-color:var(--key-colour);
    display:inline-block;
    border-radius:20px;
    position:absolute;
    left:5px;
    top:8px;
    display:none
}
.custom-radio input:checked~span:after{
    display:block
}
.custom-checkbox{
    position:relative;
    padding-left:30px;
    margin-bottom:0;
    cursor:pointer;
    color:var(--key-colour)
}
.custom-checkbox .link{
    color:var(--key-colour)
}
.custom-checkbox input{
    position:absolute;
    visibility:hidden;
    opacity:0
}
.custom-checkbox span:before{
    content:'';
    position:absolute;
    left:0;
    top:5px;
    display:inline-block;
    width:20px;
    height:20px;
    border-radius:4px;
    border:2px solid var(--key-colour)
}
.custom-checkbox span:after{
    content:'';
    position:absolute;
    left:7px;
    width:6px;
    height:14px;
    border:solid var(--key-colour);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
    top:7px;
    display:none
}
.custom-checkbox input:checked~span:after{
    display:block
}
.form-captcha-images{
    display:flex;
    justify-content:center;
    align-items:center
}
.captcha-img{
    position:relative;
    margin:0 10px
}
.captcha-img input{
    position:absolute;
    visibility:hidden;
    opacity:0
}
.captcha-img .cpt-lbl{
    cursor:pointer;
    margin-bottom:0
}
.brd-red{
    border:4px solid #ce0b0b;
    padding:5px
}
.captcha-img .cpt-lbl svg{
    fill:var(--key-colour);
    text-decoration:none;
    width:70px;
    height:70px
}
.cpt-heading{
    margin:1em 0
}
.btn{
    font-family:var(--secondary-font-family);
    font-size:18px;
    cursor:pointer;
    white-space:normal;
    position:relative;
    text-decoration:none;
    text-align:center;
    font-weight:300;
    padding:8px 15px;
    border-radius:0;
    border:1px solid var(--key-colour)
}
.btn-primary,.btn-primary:disabled,btn-primary:focus{
    color:var(--key-colour-overlay);
    background-color:var(--key-colour)
}
.btn-primary:hover{
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    border-color:var(--key-colour)
}
.btn-primary:focus,.btn-primary:active,.btn-primary:not(:disabled):not(.disabled):active{
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    box-shadow:var(--button-box-shadow);
    border:1px solid var(--key-colour)
}
.btn-primary:disabled{
    opacity:.65;
    cursor:default;
    border:1px solid var(--key-colour)
}
.btn-primary:disabled:hover{
    color:var(--button-text-color);
    background-color:var(--key-colour);
    box-shadow:none
}
.btn-transparent{
    background-color:#fff;
    color:#717171
}
.width-50{
    display:block;
    width:50%;
    margin:0 auto
}
.width-60{
    display:block;
    width:60%;
    margin:0 auto
}
.width-70{
    display:block;
    width:70%;
    margin:0 auto
}
.width-80{
    display:block;
    width:80%;
    margin:0 auto
}
.social-login-buttons{
    position:relative;
    display:block;
    width:60%;
    margin:0 auto 50px;
    padding:15px 15px 25px;
    border:1px solid var(--key-colour);
    border-bottom:none
}
.social-login-buttons .login-buttons-message{
    position:absolute;
    bottom:-13px;
    left:0;
    right:0;
    margin:0;
    background-color:transparent;
    padding:0;
    text-align:center
}
.social-login-buttons .login-buttons-message:before{
    content:"";
    position:absolute;
    left:-1px;
    top:50%;
    border-bottom:1px solid var(--key-colour);
    width:50px
}
.social-login-buttons .login-buttons-message:after{
    content:"";
    position:absolute;
    right:-1px;
    top:50%;
    border-bottom:1px solid var(--key-colour);
    width:50px
}
.facebook-btn{
    position:relative;
    background-color:#4267b2;
    border:none;
    color:#fff;
    margin:0 auto 15px
}
.facebook-btn:hover{
    color:#fff
}
.google-btn{
    position:relative;
    color:#757575;
    background-color:#fff;
    border-color:#cfcfcf;
    margin:0 auto 15px
}
.google-btn:hover{
    color:#757575
}
.btn .button-icon{
    width:33px;
    height:33px;
    display:inline-block;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:100px;
    border:none
}
.btn .button-icon svg{
    width:100%;
    height:100%
}
.modal-content .social-login-buttons{
    width:100%
}
.modal-content .social-login-buttons .login-buttons-message:before,.modal-content .social-login-buttons .login-buttons-message:after{
    width:20px
}
@media screen and (max-width:991px){
    .social-login-buttons .btn,.facebook-btn,.google-btn{
        display:flex;
        justify-content:center;
        align-items:center;
        padding:8px
    }
    .social-login-buttons{
        width:85%
    }
    .btn .button-icon{
        position:static;
        margin-right:10px;
        transform:translate(0)
    }
}
@media screen and (max-width:767px){
    .width-50,.width-60,.width-70,.width-80{
        width:100%
    }
    .social-login-buttons{
        width:100%;
        border-bottom:1px solid var(--key-colour);
        padding:15px
    }
    .social-login-buttons .login-buttons-message{
        position:static;
        margin-top:15px
    }
    .social-login-buttons .login-buttons-message:before,.social-login-buttons .login-buttons-message:after{
        display:none
    }
}
.modal{
    display:none;
    position:fixed;
    z-index:9999;
    left:0;
    top:0;
    width:100%;
    height:100%;
    overflow:auto;
    background-color:#000;
    background-color:rgba(0,0,0,.4)
}
.modal-content{
    background-color:#fefefe;
    margin:auto;
    padding:20px;
    border:1px solid #888;
    color:#484848;
    max-width:600px;
    width:100%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    max-height:100%
}
.modal .close{
    position:absolute;
    top:-10px;
    right:-10px;
    color:#000;
    opacity:1;
    width:40px;
    height:40px;
    background-color:#fff;
    text-align:center;
    line-height:35px;
    border-radius:40px;
    border:2px solid var(--key-colour);
    z-index:10001
}
.modal .close:hover,.modal .close:focus{
    color:#fff;
    background-color:var(--key-colour);
    cursor:pointer
}
.modal-action-buttons{
    display:flex;
    flex-wrap:wrap;
    justify-content:center
}
.modal .button{
    display:inline-block;
    width:100px;
    font-family:var(--secondary-font-family);
    cursor:pointer;
    position:relative;
    text-decoration:none;
    text-align:center;
    font-weight:300;
    padding:8px 15px;
    border-radius:0;
    border:1px solid var(--key-colour);
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    margin:0 5px
}
.modal .button:hover{
    color:var(--key-colour);
    background-color:#fff;
    border-color:var(--key-colour)
}
.modal p.body{
    text-align:center
}
@media only screen and (max-width:767px){
    .modal-content{
        width:95%
    }
}
.rsDefault .rsArrowIcn{
    background:var(--key-colour)!important
}
.rsDefault .rsArrowIcn:hover{
    background-color:var(--key-colour)
}
.rsDefault.rsHor .rsArrowLeft .rsArrowIcn::before{
    content:'';
    position:absolute;
    background-color:transparent;
    border-right:10px solid var(--key-colour-overlay);
    border-left:10px solid transparent;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    top:50%;
    left:30%;
    transform:translate(-50%,-50%)
}
.rsDefault.rsHor .rsArrowRight .rsArrowIcn::before{
    content:'';
    position:absolute;
    background-color:transparent;
    border-left:10px solid var(--key-colour-overlay);
    border-right:10px solid transparent;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    left:70%;
    top:50%;
    transform:translate(-50%,-50%)
}
.rsSlideTitle{
    padding:.4em .8em;
    margin:0;
    line-height:1.5em;
    opacity:1!important;
    background:var(--key-colour)
}
.rsSlideTitle p{
    margin-bottom:0;
    font-size:1.25em;
    font-weight:300;
    color:var(--key-colour-overlay);
    font-family:var(--secondary-font-family)
}
.rsSlideTitle a{
    border-bottom:none;
    color:var(--key-colour-overlay);
    font-family:var(--secondary-font-family);
    border-bottom:1px solid var(--key-colour-overlay)
}
.rsFirstSlideTitle{
    left:0;
    top:0
}
.rsImg{
    max-width:100%!important;
    width:auto!important
}
.product-img .rsSlide{
    height:720px!important
}
@media screen and (max-width:767px){
    .product-img .rsImg.rsMainSlideImage{
        position:static;
        max-height:720px;
        object-fit:cover
    }
    .product-img .rsSlide{
        height:auto!important;
        max-height:720px
    }
}
@media screen and (max-width:640px){
    .products-holder .products>.row .col-md-6.full-width-block{
        padding:0
    }
}
header{
    position:relative;
    overflow:visible;
    background-color:var(--desktop-header-bg);
    z-index:9999
}
@media screen and (max-width:1023px){
    header{
        position:relative;
        overflow:visible;
        background-color:var(--mobile-header-bg);
        z-index:9999
    }
}
.header-wrap{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    background-color:var(--desktop-header-bg);
    z-index:999
}
.flex-item{
    width:33%;
    flex:1 1 auto
}
.flex-item.full-width-flex{
    width:100%;
    flex:100%;
    background:var(--desktop-nav-bar-bg)
}
.header-top-icons-block{
    display:flex;
    align-items:center;
    justify-content:flex-end
}
.header-top-icons-block.desktop-links .telephone-block,.header-top-icons-block .basket-block{
    display:flex;
    align-items:center
}
.header-top-icons-block.desktop-links .telephone-block{
    margin-right:30px
}
.header-top-icons-block div a{
    display:inline-block;
    font-family:var(--primary-font-family);
    color:var(--desktop-header-overlay);
    margin:0;
    border:none;
    outline:none
}
.header-top .telephone-block a span{
    color:var(--desktop-header-overlay)
}
.header-top-icons-block .icon-inside-div{
    display:inline-block
}
.loggedin-user.dropdown-toggle::after{
    display:none
}
.logged-in-username{
    padding:0 0 0 53px;
    color:var(--desktop-header-overlay)
}
.logged-in-username a{
    border-bottom:none;
    color:var(--desktop-header-overlay)
}
.icon-inside-div svg{
    display:inline-block;
    fill:var(--desktop-header-overlay);
    width:30px;
    height:30px;
    margin-right:25px
}
.icon-inside-div svg:not(:root){
    overflow:visible
}
.menu-toggler{
    display:none
}
.site-identity{
    text-align:center;
    padding:5px 0
}
.site-identity .logo{
    display:inline-block;
    width:var(--logo-max-width,150px);
    padding:0;
    text-decoration:none;
    color:var(--mobile-header-overlay);
    border:none
}
.primary-nav-wrapper{
    background-color:var(--desktop-navigation-bar-bg)
}
.nav-wrapper-sticky{
    max-width:var(--max-width);
    width:100%;
    margin:0 auto;
    position:fixed;
    top:0;
    left:0;
    right:0;
    opacity:0;
    visibility:hidden;
    z-index:-999;
    background-color:var(--desktop-navigation-bar-bg);
    transition:.3s
}
.scroll-up .nav-wrapper-sticky{
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    z-index:999;
    box-shadow:0 4px 17px 0 rgba(0,0,0,.08)
}
.scroll-down .nav-wrapper-sticky{
    transform:translate3d(0,0,0);
    opacity:1;
    visibility:visible;
    z-index:999;
    box-shadow:0 4px 17px 0 rgba(0,0,0,.08)
}
.mm-listview{
    display:block!important
}
.mm-menu_offcanvas:not(.mm-menu_opened){
    display:block;
    transform:translateX(0);
    opacity:0;
    visibility:hidden;
    z-index:-1
}
.mm-menu_popup{
    max-width:100%;
    width:100%;
    max-height:100%;
    height:100%;
    display:flex;
    top:60px;
    left:auto;
    transform:translateX(0);
    box-shadow:none;
    background-color:var(--mobile-nav-header-bg)
}
.scroll-up .primary-nav-wrapper.mm-menu_popup{
    top:63px;
    bottom:0
}
.mm-panels{
    background-color:var(--mobile-nav-header-bg);
    border-top:1px solid var(--dark-grey-transparent)
}
.mm-navbar_sticky{
    display:none
}
.mm-panel{
    background-color:var(--mobile-nav-bg)
}
.mm-listitem{
    text-align:center;
    background-color:var(--desktop-navigation-bar-bg)
}
.mm-listitem__text{
    border-bottom:1px solid ar(--dark-grey-transparent);
    padding:20px
}
.mm-menu a,.mm-menu a:active,.mm-menu a:hover,.mm-menu a:link,.mm-menu a:visited{
    color:var(--mobile-nav-bg-overlay);
    background:var(--mobile-nav-bg)
}
.mm-listitem.active,.mm-listview .active.mm-listitem{
    background-color:var(--key-colour-overlay)
}
.mm-listitem.active .mm-listitem__text{
    color:var(--mobile-nav-header-active-overlay);
    background:var(--mobile-nav-header-active-bg)
}
.mm-listitem::after{
    display:none
}
.mm-listitem_opened>.mm-listitem__btn{
    background:0 0
}
.mm-btn.mm-btn_next.mm-listitem__btn{
    background-color:transparent
}
.mm-listitem .mm-btn_next{
    position:absolute;
    left:0;
    right:0;
    top:0;
    width:100%;
    height:60px;
    z-index:99
}
.mm-listitem .mm-btn_next:after{
    content:'\f067';
    font-family:fontawesome;
    width:30px;
    height:30px;
    line-height:30px;
    text-align:center;
    position:absolute;
    right:20%;
    top:0;
    transform:rotate(0);
    border:none;
    font-size:20px;
    color:var(--mobile-nav-header-overlay)
}
.mm-listitem.mm-listitem_opened .mm-btn_next:after{
    transform:rotate(135deg)
}
.mm-menu a:focus{
    outline:none
}
.mm-listitem__btn:not(.mm-listitem__text){
    border:0
}
.mm-navbar{
    background:var(--mobile-nav-bg);
    border:none;
    padding:7px
}
.mm-navbars_bottom{
    -ms-flex-negative:0;
    flex-shrink:0
}
.mm-navbars_bottom .mm-navbar:first-child{
    border:none
}
.mm-menu .mm-navbar>div{
    justify-content:center
}
.mm-menu .mm-navbar a{
    display:inline-block;
    border:none;
    width:35px;
    height:35px;
    background-size:100%;
    border-radius:4px;
    overflow:hidden;
    margin:0 9px
}
.mm-menu .mm-navbar svg{
    width:100%;
    height:100%;
    fill:var(--mobile-nav-bg-overlay)
}
.mm-wrapper_blocking .mm-wrapper__blocker{
    display:none
}
a.mburger{
    border-bottom:none;
    color:var(--mobile-header-overlay)
}
a.mburger:focus{
    outline:none
}
.mburger{
    --mb-button-size: 38px;
    --mb-bar-height: 3px;
    --mb-bar-spacing: 5px;
    --mb-cross-timeout: 0;
    --mb-animate-timeout: 0;
    text-transform:uppercase;
    font-size:14px;
    color:var(--key-colour)
}
.mburger .mburger-bars{
    margin-right:5px
}
li.has-submenu .submenu-div{
    opacity:0;
    visibility:hidden;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:1;
    padding:30px 0;
    border-top:1px solid transparent;
    color:var(--desktop-nav-bar-overlay);
    background:var(--desktop-nav-bar-bg);
    transition:all .3s ease-in-out
}
li.has-submenu:hover .submenu-div{
    opacity:1;
    visibility:visible
}
li.has-submenu .submenu-div>ul{
    display:flex;
    flex-direction:column;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:flex-start;
    max-width:70%;
    width:100%;
    margin:auto;
    height:220px
}
li.has-submenu .submenu-div ul li{
    display:inline-flex;
    width:33%!important;
    float:none;
    align-items:center;
    justify-content:flex-start
}
nav.main{
    position:relative;
    overflow:visible;
    z-index:1
}
.logo img{
    max-width:100%;
    height:auto
}
nav.main ul{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    width:100%;
    margin:0;
    padding:0;
    background:var(--desktop-nav-bar-bg)
}
nav.main ul li{
    display:inline-block
}
.scroll-up nav.main ul li a,.scroll-down nav.main ul li a,nav.main ul li a{
    color:var(--desktop-nav-bar-overlay);
    display:inline-block;
    font-size:18px;
    padding:22px 18px;
    letter-spacing:0;
    border-bottom:none
}
li.has-submenu .submenu-div ul li a{
    display:block;
    width:100%;
    padding:5px 10px;
    cursor:pointer;
    color:var(--navigation-text);
    text-align:left;
    font-size:18px
}
li.has-submenu .submenu-div ul li a:hover{
    color:var(--desktop-nav-bar-overlay)
}
nav.main ul li.active>a,nav.main ul li a:hover{
    color:var(--desktop-nav-bar-active-overlay);
    background-color:var(--desktop-nav-bar-active-bg);
    cursor:pointer
}
.hide-for-medium-down{
    display:inline-block;
    font-family:var(--secondary-font-family);
    color:var(--desktop-header-overlay)
}
.show-for-medium-down{
    display:none
}
.hide-for-large-up{
    display:none!important
}
@media screen and (max-width:1280px){
    li.has-submenu .submenu-div>ul{
        max-width:90%
    }
}
@media screen and (max-width:1023px){
    #wrapper{
        overflow:visible
    }
    header{
        position:sticky;
        top:0;
        left:0;
        right:0
    }
    .header-wrap{
        transition:.4s;
        box-shadow:0 4px 7px 0 rgba(0,0,0,.2);
        background:var(--mobile-header-bg)
    }
    .header-wrap .site-identity{
        padding:6px 0
    }
    .menu-toggler,.menu-toggler p{
        background-color:transparent;
        color:#333;
        text-align:left;
        padding-left:10px;
        display:block
    }
    .menu-toggler p.current{
        display:none
    }
    .menu-toggler p{
        width:100%;
        border:none
    }
    .site-identity .logo{
        width:110px;
        height:50px;
        padding:0
    }
    .logo img{
        padding:0;
        width:100%;
        height:100%;
        object-fit:contain
    }
    .telephone-block{
        text-align:right
    }
    .header-top-icons-block{
        flex-direction:row;
        justify-content:flex-end;
        padding:0;
        align-items:center
    }
    .header-top-icons-block .telephone-block,.header-top-icons-block .basket-block{
        margin:0 10px 0 0
    }
    .header-top-icons-block .basket-block{
        order:3
    }
    .header-top-icons-block .basket-block.btn-group{
        order:1
    }
    .header-top-icons-block .telephone-block{
        margin-right:10px;
        order:2
    }
    .icon-inside-div svg{
        width:20px;
        height:20px;
        margin-right:5px
    }
    .logged-in-username{
        display:none
    }
    nav.main ul{
        display:none
    }
    .icon-inside-div svg{
        fill:var(--mobile-header-overlay)
    }
    .hide-for-medium-down{
        display:none!important
    }
    .show-for-medium-down{
        display:block
    }
    .header-wrap .site-identity{
        text-align:center
    }
    .scroll-down .header-wrap{
        transform:translate3d(0,0,0);
        top:0;
        left:0;
        right:0
    }
    .scroll-up .header-wrap{
        transform:translate3d(0,0,0);
        background-color:var(--mobile-header-bg);
        z-index:999
    }
    .scroll-down .primary-nav-wrapper{
        transform:translate3d(0,0,0)
    }
    .nav-wrapper-sticky{
        display:none
    }
    li.has-submenu .submenu-div{
        padding:0;
        border:none;
        display:block;
        opacity:1;
        visibility:visible;
        position:static;
        border-bottom:1px solid var(--dark-grey-transparent);
        background:var(--mobile-nav-header-bg)
    }
    li.has-submenu .submenu-div ul{
        max-width:100%;
        height:auto
    }
    li.has-submenu .submenu-div ul li{
        width:100%!important
    }
    li.has-submenu .submenu-div ul li a{
        padding:15px;
        text-align:center
    }
    li.has-submenu .submenu-div ul li .mm-listitem__text{
        border-bottom:none;
        color:var(--mobile-nav-bg-overlay)
    }
    .prod-details.products-holder{
        margin-top:42px
    }
}
@media screen and (max-width:767px){
    .hide-for-large-up{
        display:block!important
    }
}
.featured-products .featured-product-img{
    width:100%;
    height:493px
}
.featured-products .featured-product-img img{
    width:100%;
    height:100%;
    object-fit:cover
}
.featured-products .product-name{
    display:inline-block;
    font-family:var(--secondary-font-family);
    color:var(--key-colour);
    border-bottom:none;
    font-size:20px;
    line-height:26px;
    margin-top:16px
}
.featured-products .single-product{
    margin:0 0 30px;
    text-align:center
}
@media screen and (max-width:640px){
    .fb_iframe_widget_fluid span,.fb_iframe_widget_fluid span iframe{
        height:300px!important
    }
    .facebook-info-block #likebox-wrapper{
        margin-bottom:30px
    }
}
.social-icons{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    padding:10px 0 20px
}
.social-icons a{
    margin:0 10px;
    border-bottom:none
}
.social-icons a svg{
    fill:var(--key-colour);
    text-decoration:none;
    width:40px;
    height:40px
}
.quotes-section .quote-single{
    position:relative;
    border-top:1px solid var(--dark-grey-transparent);
    padding:50px 50px 30px
}
.quotes-section .quote-single:last-child{
    border-bottom:1px solid var(--dark-grey-transparent)
}
.quotes-section .quote-single:before{
    content:'"';
    display:inline-block;
    position:absolute;
    left:15px;
    top:40px;
    font-family:var(--secondary-font-family);
    font-size:64px;
    font-weight:400;
    color:var(--body-overlay)
}
.quotes-section .quote-single p{
    font-family:var(--testimonial-font-family);
    font-size:24px;
    font-weight:300;
    text-transform:none;
    margin:0 0 10px
}
.quotes-section .quote-single a{
    font-family:var(--testimonial-font-family);
    color:var(--key-colour)
}
.address-block a{
    font-family:var(--primary-font-family);
    font-weight:400;
    color:var(--key-colour);
    border-bottom:1px dotted var(--key-colour)
}
.shop-opening-times .shop-opening-time-item{
    display:table;
    width:100%;
    color:var(--desktop-footer-overlay)
}
.shop-opening-times .day-name{
    display:table-cell;
    width:70px
}
.location-and-address-section #map{
    width:100%;
    height:100%
}
.location-and-address-section h3{
    text-align:left
}
@media screen and (max-width:767px){
    .location-and-address-section h3{
        margin-bottom:15px
    }
    .location-and-address-section .location-block{
        padding-top:20px
    }
    .location-and-address-section #map{
        height:300px;
        margin-bottom:20px
    }
}
.embed-responsive{
    position:relative;
    display:block;
    width:100%;
    height:514px;
    padding:0;
    overflow:hidden
}
.embed-responsive iframe{
    position:static;
    top:0;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    border:0
}
@media screen and (max-width:767px){
    .embed-responsive{
        height:250px
    }
}
.contact-form .form-control.textarea{
    min-height:220px;
    max-height:220px;
    height:100%;
    resize:none
}
.calltoaction a{
    color:var(--key-colour)
}
.shop-wrap{
    padding-top:0
}
.main-content{
    max-width:1600px;
    padding:0 15px;
    margin:0 auto;
    width:100%
}
.products-holder{
    display:block;
    margin-top:0;
    margin-bottom:40px
}
.products-holder .products{
    margin-bottom:30px
}
.row.collage{
    justify-content:center
}
.collage .pbox{
    width:33.33%;
    padding:0 15px;
    margin-bottom:25px
}
.collage .pbox1{
    padding-bottom:40px;
    padding-left:2px;
    padding-right:2px
}
.collage .img-cont a{
    display:inline-block;
    width:100%;
    height:470px;
    border-bottom:none
}
.collage .img-cont a img{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    transition:opacity .4s ease-in-out;
    width:100%;
    height:100%;
    object-fit:contain;
    background-color:var(--body-bg)
}
.collage .img-cont a{
    position:relative;
    width:100%!important
}
.collage .img-cont a img:not(:first-child){
    opacity:0
}
.collage .img-cont a:hover img:first-child{
    opacity:1;
    z-index:0
}
.collage .img-cont a:hover img:nth-of-type(2){
    opacity:1;
    z-index:1
}
.collage .prod-name{
    display:block;
    text-align:center
}
.collage .prod-name p{
    color:var(--body-overlay);
    margin-bottom:15px
}
.collage .prod-name p.from-price{
    opacity:.6
}
.home-gallery{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row-reverse;
    margin:0 -10px
}
.masonry-item{
    display:inline-block;
    width:33.33%;
    padding:10px
}
.masonry-item .masonry-content{
    width:100%
}
.full-width-wrapper .collage .col-lg-4,.full-width-wrapper .collage .col-md-4{
    flex:0 0 25%;
    max-width:25%
}
@media screen and (max-width:991px){
    .full-width-wrapper .collage .col-lg-4,.full-width-wrapper .collage .col-md-4{
        flex:0 0 33.33%;
        max-width:33.3333%
    }
}
@media screen and (max-width:767px){
    .masonry-item{
        width:50%
    }
    .collage .prod-name{
        padding-top:15px
    }
    .collage .pbox .img-cont a{
        height:160px
    }
    .collage .pbox1.col-12{
        padding:0 0 40px;
        width:100%
    }
    .collage .pbox1.col-6{
        padding:0 1px
    }
    .collage .pbox1.col-6 .img-cont a{
        height:280px
    }
    .collage .img-cont a:hover img:first-child{
        opacity:1;
        z-index:1
    }
    .collage .img-cont a:hover img:nth-of-type(2){
        z-index:0;
        opacity:0
    }
    .full-width-wrapper .collage .col-lg-4,.full-width-wrapper .collage .col-md-4{
        flex:0 0 50%;
        max-width:50%
    }
    .full-width-wrapper .collage .col-lg-4.col-12,.full-width-wrapper .collage .col-md-4.col-12{
        flex:0 0 100%;
        max-width:100%
    }
}
.product-info-wrapper{
    position:relative;
    max-width:90%
}
.product-info-wrapper .item-form{
    max-width:100%
}
.product-info-wrapper .select-wrapper .table-select-box select.form-control{
    background:var(--input-background);
    color:var(--input-text)
}
.product-info-wrapper .select-wrapper .table-select-box::after{
    border-top:2px solid var(--key-colour);
    border-right:2px solid var(--key-colour);
    border-bottom:2px solid transparent;
    border-left:2px solid transparent;
    width:16px;
    height:16px;
    transform:rotate(135deg);
    top:8px;
    pointer-events:none
}
.product-info-wrapper .select-wrapper .table-select-box::before{
    content:'';
    width:1px;
    position:absolute;
    height:41px;
    background-color:var(--key-colour);
    top:0;
    right:45px;
    pointer-events:none
}
.cat-breadcrumb a{
    color:var(--breadcrumb-color);
    border-bottom:none
}
.product-info-wrapper h3{
    font-size:26px;
    text-align:left
}
.product-info-wrapper h3>p{
    font-family:var(--primary-font-family);
    font-size:16px;
    text-transform:initial;
    margin-bottom:0;
    margin-top:10px
}
.product-info-wrapper .product-item-description{
    padding-bottom:20px
}
.product-info-wrapper .select-wrapper .table-select-box{
    width:100%
}
.product-info-wrapper .select-wrapper .pricetext{
    display:inline-block;
    font-family:var(--secondary-font-family);
    font-size:28px;
    line-height:34px;
    color:var(--body-overlay);
    padding-bottom:30px
}
.products .product-links{
    padding-top:20px
}
.products .product-links .row{
    align-items:center
}
.products .product-links .row .col-md-6:last-child{
    padding:0
}
.qty-container .input-group{
    align-items:center;
    justify-content:flex-start
}
form #decrease span,form #increase span{
    display:inline-block;
    width:35px;
    height:40px;
    line-height:38px;
    border:1px solid var(--key-colour);
    text-align:center;
    padding:0;
    color:var(--key-colour-overlay);
    background:var(--key-colour);
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -khtml-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    cursor:pointer
}
.input-group-prepend{
    margin-right:0
}
.input-group-append{
    margin-left:0
}
.qty-container .input-group input#number{
    display:inline-block;
    text-align:center;
    border:1px solid var(--key-colour);
    margin:0;
    width:80px;
    height:40px;
    border-left:none;
    border-right:none;
    background:var(--input-background);
    color:var(--input-text)
}
.product-info-wrapper .delivery-info{
    padding-top:20px;
    text-align:center
}
.product-info-wrapper .delivery-info a{
    color:var(--key-colour)
}
.error-msg{
    padding-top:20px;
    color:red;
    margin-bottom:0
}
.products .basket-link-block{
    position:absolute;
    top:-10px;
    right:0
}
.basket-link-block i{
    font-size:18px;
    padding-right:10px
}
.product-action-buttons{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between
}
.product-action-buttons .btn{
    width:49%
}
.shop-product .prod-name{
    color:var(--body-overlay)
}
.shop-product .from-price{
    opacity:.6;
    color:var(--body-overlay)
}
@media screen and (max-width:1180px){
    .qty-container .input-group input#number{
        width:45px
    }
}
@media screen and (max-width:1024px){
    .product-info-wrapper{
        max-width:100%
    }
    .product-info-wrapper .item-form{
        max-width:100%
    }
}
@media screen and (max-width:991px){
    .product-info-wrapper{
        padding-top:30px
    }
    .product-info-wrapper .delivery-info{
        position:static
    }
    .products .basket-link-block{
        top:20px
    }
    .qty-container .input-group{
        justify-content:center;
        padding-bottom:20px
    }
    .qty-container .input-group input#number{
        width:80px
    }
    .product-info-wrapper .item-form{
        max-width:100%
    }
    .products .product-links .row{
        flex-direction:column
    }
    .products .product-links .row .col-md-6{
        width:100%;
        max-width:100%
    }
    .products .product-links .row .col-md-6:last-child{
        padding:0 15px
    }
}
@media screen and (max-width:767px){
    .cat-breadcrumb{
        display:none
    }
    .product-info-wrapper .delivery-info{
        padding-top:20px;
        text-align:center
    }
}
@media screen and (max-width:640px){
    .products .basket-link-block{
        position:static;
        padding-bottom:20px;
        text-align:right
    }
    .product-action-buttons .btn{
        width:100%;
        margin-bottom:15px
    }
}
.checkout-wrap{
    padding:20px 0 50px;
    overflow:hidden
}
.checkout-wrap h1{
    margin-top:20px
}
.checkout-wrap #del-header-descr-local a{
    color:var(--key-colour)
}
.table td,.table th{
    text-align:left;
    vertical-align:middle;
    border-top:none;
    padding:15px
}
.table tr{
    position:relative;
    transform:scale(1)
}
.table td p{
    margin-bottom:0
}
.table thead th{
    vertical-align:middle;
    border-bottom:1px solid var(--dark-grey-transparent)
}
.table.checkout thead th:nth-child(2),.table.checkout tbody td:nth-child(2){
    text-align:center
}
.table.checkout thead th:nth-child(3),.table.checkout tbody td:nth-child(3){
    text-align:left
}
.table.summary thead th:nth-child(3),.table.summary tbody td:nth-child(3){
    text-align:right
}
.item-table-data{
    display:flex;
    align-items:center;
    position:relative
}
.link.basket-remove svg{
    fill:var(--body-overlay)
}
.item-name-details-wrap{
    display:flex;
    flex-direction:column;
    font-size:16px
}
.item-name-details-wrap a{
    font-family:var(--primary-font-family);
    font-size:18px;
    font-weight:600;
    color:var(--key-colour);
    border-bottom:1px dotted var(--key-colour)
}
.table-select-box select.form-control{
    background-color:var(--key-colour);
    color:var(--key-colour-overlay);
    padding:0 45px 0 15px
}
.table-select-box{
    position:relative;
    width:80px;
    margin:auto
}
.table-select-box:after{
    content:'';
    position:absolute;
    top:13px;
    right:15px;
    border-top:13px solid var(--key-colour-overlay);
    border-left:8px solid transparent;
    border-bottom:8px solid transparent;
    border-right:8px solid transparent;
    z-index:1;
    pointer-events:none
}
.total-price{
    font-weight:600
}
.link.basket-remove,.link.basket-remove svg{
    display:inline-block;
    width:25px;
    height:25px;
    border-bottom:none
}
.price-and-remove-icon{
    display:flex;
    justify-content:space-between;
    align-items:center
}
.price-and-remove-icon .itemprice{
    font-family:var(--secondary-font-family);
    font-size:22px
}
.collect-order-yourself{
    display:flex;
    flex-direction:column;
    justify-content:space-around;
    align-items:center;
    padding:30px 0
}
.collect-order-yourself label{
    margin-bottom:0
}
.checkout-button{
    text-align:center;
    padding:10px 0 30px
}
.cart-form-block{
    max-width:1200px;
    width:100%;
    margin:0 auto
}
.table-head .table-head-inner{
    display:flex;
    border-bottom:1px solid var(--dark-grey-transparent)
}
.table-head .table-head-inner>div{
    font-weight:600;
    padding:15px
}
.table-head-inner .tbl-item-name{
    width:57%
}
.table-head-inner .tbl-item-quantity{
    width:22%
}
.table-head-inner .tbl-item-price{
    width:22%
}
.single-item-details{
    display:flex;
    align-items:flex-start;
    padding:15px
}
.item-img-wrap{
    width:200px;
    height:auto
}
.item-img-wrap img{
    width:100%;
    height:auto;
    object-fit:contain
}
.table-body .item-table-data{
    width:calc(100% - 135px);
    padding-left:20px;
    justify-content:space-between;
    align-items:flex-start
}
.item-name-details-block .item-name-outer-wrap{
    display:inline-block;
    width:auto
}
.single-item-details .item-name-details-block{
    width:30%
}
.single-item-details .basket-quantity{
    width:20%
}
.single-item-details .price{
    width:24%
}
.cart-subtotal-block{
    padding-top:20px;
    max-width:88%
}
.subtotal-price{
    display:flex;
    justify-content:flex-end
}
.loginForm.width-50{
    padding:0 8px
}
@media screen and (max-width:1024px){
    .cart-subtotal-block{
        max-width:90%
    }
    .table-head-inner .tbl-item-name{
        width:70%
    }
    .table-head-inner .tbl-item-quantity{
        width:22%
    }
    .table-head-inner .tbl-item-price{
        width:21%
    }
    .single-item-details .basket-quantity{
        width:23%
    }
    .single-item-details .item-name-details-block{
        width:38%
    }
    .single-item-details .price{
        width:21%
    }
}
@media screen and (max-width:991px){
    .price-and-remove-icon .link.basket-remove{
        position:absolute;
        right:0;
        bottom:0
    }
    .cart-subtotal-block{
        max-width:100%
    }
    .item-img-wrap{
        width:200px
    }
    .table-head-inner .tbl-item-name{
        width:63%
    }
    .table-head-inner .tbl-item-quantity{
        width:18%
    }
    .table-head-inner .tbl-item-price{
        width:19%
    }
    .single-item-details .item-name-details-block{
        width:44%
    }
    .single-item-details .basket-quantity{
        width:20%
    }
    .single-item-details .price{
        width:23%
    }
    .loginForm.width-50{
        width:80%;
        padding:0 15px
    }
}
@media screen and (max-width:767px){
    .table th,.table tr{
        padding:20px 5px
    }
    .table.cart-table thead{
        display:none
    }
    .table tr{
        border-bottom:1px solid var(--dark-grey-transparent)
    }
    .table.cart-table td{
        display:block;
        width:100%;
        font-size:16px;
        padding:15px
    }
    .table.cart-table td::before{
        content:attr(data-th);
        display:block;
        width:100%;
        text-align:left;
        margin-bottom:10px;
        font-family:var(--secondary-font-family);
        font-size:18px;
        font-weight:700
    }
    .table.cart-table tr:last-child td::before{
        display:none
    }
    .table.cart-table td.basket-quantity,.table.cart-table td.price,.table.cart-table td.remove-from-cart{
        display:inline-block;
        position:relative;
        width:100%;
        padding-left:35%;
        text-align:left
    }
    .table.cart-table td.basket-quantity:before,.table.cart-table td.price:before,.table.cart-table td.remove-from-cart:before{
        display:block;
        width:calc(50% - 25px);
        position:absolute;
        left:15px;
        top:50%;
        transform:translateY(-50%)
    }
    .table.cart-table tbody td:nth-child(3){
        text-align:center
    }
    .link.basket-remove svg{
        width:20px;
        height:20px
    }
    .item-name-details-wrap{
        width:100%
    }
    .item-name-details-wrap a{
        display:inline-block;
        font-size:16px;
        line-height:16px
    }
    .table .table-select-box{
        width:100px;
        margin:0
    }
    .table .table-select-box select.form-control{
        width:100%;
        padding:0 10px;
        font-size:16px
    }
    .table-select-box{
        width:65px
    }
    .collect-order-yourself h2{
        font-size:20px
    }
    .shopping-cart-page #content[role=main]{
        padding:90px 0 0
    }
    .has-site-notice.shopping-cart-page #content[role=main]{
        padding-top:150px
    }
    #shoppingcart .table{
        max-width:110%;
        width:auto;
        margin:0 -15px
    }
    .table-head{
        display:none
    }
    .single-item-details{
        padding:0 0 30px
    }
    .item-img-wrap{
        width:160px
    }
    .table-body .item-table-data{
        width:calc(100% - 160px);
        flex-direction:column
    }
    .single-item-details .item-name-details-block{
        width:100%;
        margin-bottom:20px
    }
    .single-item-details .basket-quantity{
        width:100%;
        margin-bottom:20px
    }
    .single-item-details .price{
        width:100%;
        margin-bottom:20px
    }
    .cart-subtotal-block{
        padding:0 30px
    }
    .cart-subtotal-block .subtotal-price{
        display:flex
    }
    .cart-subtotal-block p{
        margin-bottom:0
    }
    .cart-subtotal-block .total-price{
        padding-left:30px
    }
    .price-and-remove-icon{
        padding-right:30px
    }
    .price-and-remove-icon .link.basket-remove{
        position:static
    }
    .checkout-button{
        padding:10px 15px 30px
    }
    .loginForm.width-50{
        width:100%
    }
}
@media screen and (max-width:640px){
    .collect-order-yourself{
        flex-direction:column
    }
    .collect-order-yourself h2{
        margin-bottom:15px
    }
}
.inline-label{
    display:flex;
    width:100%;
    align-items:center
}
.inline-label .col-form-label{
    display:inline-block;
    width:240px;
    margin-bottom:0;
    padding-right:20px
}
.inline-label .form-control,.inline-label .label-description-block{
    width:calc(100% - 240px);
    display:inline-block
}
.set-preffered-time .inline-label .col-form-label{
    width:300px
}
.set-preffered-time .inline-label .form-control,.set-preffered-time .inline-label .label-description-block{
    width:calc(100% - 300px)
}
.search-postcode-wrap .inline-label .label-description-block{
    display:flex
}
.search-postcode-wrap .inline-label .label-description-block .form-control{
    max-width:130px;
    width:100%
}
.findaddress:disabled,.findaddress[disabled],.findaddress[disabled]:hover,button:disabled,button[disabled],button[disabled]:hover{
    background-color:var(--key-colour);
    border-color:var(--key-colour)
}
.add-address-block{
    padding-top:20px
}
.delivery-variable-option a{
    color:var(--key-colour)
}
.optional-delivery-time-info{
    padding-bottom:20px
}
.form-control.recipient-title{
    width:100px
}
@media screen and (max-width:767px){
    .form-control.recipient-title{
        width:100%
    }
}
#delivery-calendar .inline-label{
    display:block
}
#delivery-calendar .col-form-label,#delivery-calendar .label-description-block{
    width:100%
}
.calendar #dateselect{
    width:100%;
    font-weight:400;
    line-height:31px
}
.calendar #dateselect th,.calendar #dateselect td{
    line-height:50px;
    padding:0;
    text-align:center
}
.calendar #dateselect th{
    text-transform:capitalize;
    font-weight:400
}
.calendar{
    position:relative
}
.ui-datepicker-calendar{
    margin:auto
}
.calendar #dateselect .ui-state-disabled{
    color:#545454;
    background:#e4e4e4
}
.ui-datepicker-calendar a.ui-state-default{
    color:#333;
    background:#fff;
    border-bottom:none
}
.ui-datepicker-calendar .ui-state-default{
    display:block;
    font-family:var(--primary-font-family);
    width:40px;
    height:40px;
    line-height:40px;
    margin:5px
}
.ui-datepicker-calendar a.ui-state-default.ui-state-hover{
    background:0 0;
    color:#333;
    opacity:1
}
.ui-datepicker-calendar a.ui-state-active,.ui-datepicker-calendar a.ui-state-default.ui-state-active.ui-state-hover{
    background:var(--key-colour);
    color:var(--key-colour-overlay)
}
.calendar #dateselect .ui-datepicker-prev,.calendar #dateselect .ui-datepicker-next{
    position:absolute;
    left:0;
    width:35px;
    height:35px;
    display:block;
    cursor:pointer;
    border-bottom:none;
    color:var(--key-colour)
}
.calendar #dateselect .ui-datepicker-prev:before{
    content:'';
    position:absolute;
    background-color:transparent;
    border-right:10px solid var(--key-colour-overlay);
    border-left:10px solid transparent;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    top:50%;
    left:30%;
    transform:translate(-50%,-50%);
    display:none
}
.calendar #dateselect .ui-datepicker-next:before{
    content:'';
    position:absolute;
    background-color:transparent;
    border-left:10px solid var(--key-colour-overlay);
    border-right:10px solid transparent;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    left:70%;
    top:50%;
    transform:translate(-50%,-50%);
    display:none
}
.calendar #dateselect .ui-datepicker-next{
    right:0;
    left:auto
}
.ui-datepicker .ui-datepicker-title{
    display:flex;
    margin:10px 40px;
    text-align:center;
    justify-content:center
}
.ui-datepicker .ui-datepicker-title select{
    background:var(--key-colour);
    color:var(--key-colour-overlay);
    width:110px;
    margin:0 5px;
    text-align:center
}
@media screen and (max-width:767px){
    .ui-datepicker-calendar .ui-state-default{
        display:block;
        font-family:var(--primary-font-family);
        width:30px;
        height:30px;
        line-height:30px;
        margin:5px;
        font-size:14px
    }
}
.search-postcode-wrap{
    padding:20px 0
}
.search-postcode-btn{
    margin-left:20px
}
.search-postcode-btn .btn{
    padding:6px 25px
}
#postcode-error{
    font-family:var(--primary-font-family);
    font-size:16px
}
.select-rough-location-wrap p{
    font-weight:600;
    font-size:18px;
    color:#d40000;
    margin-bottom:10px
}
.no-postcode-delivery-div .check{
    display:block;
    width:100%
}
.submit-details-button{
    text-align:center;
    padding:40px 0 20px
}
@media screen and (max-width:767px){
    .inline-label{
        flex-direction:column;
        align-items:flex-start
    }
    .inline-label .col-form-label{
        margin-bottom:7px;
        width:100%;
        padding:0
    }
    .inline-label .form-control,.inline-label .label-description-block{
        width:100%
    }
    .search-postcode-btn{
        width:60%;
        margin-left:0
    }
    .search-postcode-btn .btn{
        width:100%;
        padding:6px 15px
    }
    .no-postcode-delivery-div .check{
        width:100%
    }
    .search-postcode-wrap .inline-label .label-description-block{
        display:flex;
        justify-content:space-between
    }
    .search-postcode-wrap .inline-label .label-description-block .form-control{
        max-width:38%
    }
    .set-preffered-time .inline-label .form-control,.set-preffered-time .inline-label .label-description-block{
        width:100%
    }
    .set-preffered-time .inline-label .col-form-label{
        width:100%
    }
}
.label-description-block>.table-select-box{
    width:100%
}
.label-description-block>.table-select-box select.form-control{
    width:100%;
    height:41px
}
.gift-card-section{
    padding:20px 0;
    border-top:1px solid var(--dark-grey-transparent);
    border-bottom:1px solid var(--dark-grey-transparent)
}
.gift-card-section .form-group{
    width:55%;
    margin-left:auto;
    margin-bottom:0
}
.gift-card-section .form-group .col-form-label{
    width:300px
}
.gift-card-section .label-description-block{
    display:flex
}
.summary-review-info{
    position:relative;
    height:100%;
    padding:15px 20px 30px
}
.summary-review-info .delivery-details{
    margin-bottom:15px
}
.summary-review-info h3{
    position:relative;
    display:block;
    text-align:left;
    padding-bottom:5px;
    margin-bottom:15px
}
.summary-review-info h3:after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:200px;
    height:1px;
    background-color:#cfcfcf
}
.summary-info-single{
    display:table;
    width:100%;
    padding-bottom:10px;
    word-break:break-all
}
.summary-info-single span{
    display:table-cell;
    width:100px
}
.summary-review-info .summary-edit-button{
    position:absolute;
    bottom:10px;
    left:20px
}
.summary-review-info .summary-edit-button a{
    color:var(--key-colour);
    border-bottom:1px dotted var(--key-colour)
}
.summary-review-info__funeral .summary-info-single span{
    width:250px
}
.gift-message-wrap .item-name{
    font-weight:700;
    padding-bottom:10px
}
.gift-message-wrap .item-message{
    margin-bottom:15px
}
.gift-message-wrap .summary-edit-button a{
    padding-top:20px;
    color:var(--key-colour)
}
.summary-form{
    padding-top:30px
}
.summary-form .textarea{
    min-height:80px
}
.terms-and-conditions-wrap{
    padding-top:30px
}
.terms-and-conditions-wrap .check{
    display:flex;
    align-items:center;
    padding-bottom:20px
}
.checkoutbox p{
    margin:0 20px 0 0
}
.checkoutbox .custom-checkbox{
    display:block;
    margin-bottom:0
}
.payment-with-stripe-btn,.payment-with-paypal-btn{
    padding-bottom:20px
}
.text-red{
    color:red
}
.gift-divider{
    border-top:1px solid #e4e3e3;
    margin-top:20px
}
.code-error{
    margin:1em 0;
    color:red;
    display:none
}
.char-rem-box{
    margin-top:10px;
    text-align:left
}
.char-rem-box a{
    color:var(--key-colour)
}
@media screen and (max-width:1024px){
    .gift-card-section .form-group{
        width:100%
    }
}
@media screen and (max-width:767px){
    .gift-card-section .form-group .col-form-label{
        text-align:left;
        width:100%
    }
    .gift-card-section .label-description-block{
        display:flex;
        justify-content:space-between
    }
    .gift-card-section .label-description-block .search-postcode-btn{
        width:39%
    }
    .summary-review-info{
        padding:15px 0 40px
    }
    .summary-review-info .summary-edit-button{
        left:0
    }
}
.gift-message-select .table-select-box{
    width:100%
}
.gift-message-select .table-select-box:after{
    top:auto;
    bottom:5px
}
.textarea-info-para{
    padding:15px 0
}
.textarea-info-para p{
    color:red;
    text-align:left;
    font-weight:700;
    margin:0 0 1em
}
.text-red{
    color:red
}
.order-details-cell{
    display:table;
    width:100%
}
.order-details-cell h4{
    display:table-cell;
    vertical-align:top;
    width:25%;
    line-height:24px;
    text-align:left;
    font-weight:700;
    margin:0;
    padding:0
}
.order-details-cell span{
    line-height:24px
}
.table.tbl-order-received tbody td:nth-child(2),.table.tbl-order-received tbody td:nth-child(3){
    border-bottom:1px solid #e6e6e6;
    padding:20px 15px 10px
}
.table.tbl-order-received tr.cart-item-row td:nth-child(2),.table.tbl-order-received tr.cart-item-row td:nth-child(3){
    border:none;
    padding:15px
}
.order-tracking-block{
    text-align:center;
    padding:30px 0
}
.order-tracking-block p{
    font-weight:700;
    color:var(--key-colour);
    margin-bottom:0
}
.invoice-num{
    text-align:center
}
.invoice-num span{
    font-weight:700
}
@media screen and (max-width:991px){
    .order-details-cell h4{
        width:30%;
        font-size:16px
    }
    #order .table td{
        padding:15px
    }
}
@media screen and (max-width:767px){
    .order-details-cell{
        display:block
    }
    .order-details-cell h4{
        width:100%
    }
    #order .table tr{
        border-bottom:none
    }
    #order .table tr.cart-item-row{
        border-bottom:1px solid var(--key-colour)
    }
    #order .table tr.cart-items-footer td:first-child{
        display:none
    }
    #order .table tr.cart-items-footer td:nth-child(2),#order .table tr.cart-items-footer td:nth-child(3){
        text-align:left
    }
    #order .table tr.cart-items-footer td{
        padding:25px 15px 5px
    }
}
footer{
    padding:30px 0 0;
    background-color:var(--desktop-footer-bg);
    padding-bottom:70px
}
.footer-logo-wrap{
    background-color:var(--desktop-footer-header-bg)
}
footer #subscribeFormFooter .row{
    align-items:center
}
footer .logo img{
    display:none!important
}
.columns{
    width:100%;
    padding:0 15px
}
.medium-9{
    width:75%;
    padding:0 15px
}
.medium-4{
    width:33.33%;
    padding:0 15px
}
.medium-3{
    width:25%;
    padding:0 15px
}
footer #subscribeFormFooter{
    max-width:1200px;
    width:100%;
    margin:0 auto;
    padding:30px 0;
    border-top:1px solid var(--dark-grey-transparent);
    border-bottom:1px solid var(--dark-grey-transparent)
}
footer #subscribeFormFooter h4{
    text-align:left;
    margin-bottom:0;
    font-size:18px;
    color:var(--desktop-footer-overlay)
}
footer label{
    margin-bottom:0;
    color:var(--desktop-footer-overlay)
}
footer input{
    width:100%;
    height:41px;
    line-height:40px;
    font-size:18px;
    color:var(--input-text);
    border:1px solid var(--key-colour);
    border-radius:0;
    background-color:var(--input-background);
    padding:0 15px;
    margin:0
}
footer .button{
    display:inline-block;
    height:41px;
    font-family:var(--secondary-font-family);
    cursor:pointer;
    position:relative;
    text-decoration:none;
    text-align:center;
    font-weight:300;
    padding:0!important;
    border-radius:0;
    border-color:var(--key-colour);
    color:var(--key-colour-overlay);
    background-color:var(--key-colour)
}
footer .button:hover{
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    border-color:var(--key-colour)
}
footer nav.main ul{
    text-align:center;
    background-color:var(--navigation-active*/
    )
}
footer .logo{
    display:block;
    width:300px;
    padding:0;
    margin:auto;
    border-bottom:none
}
footer .logo img{
    width:100%;
    padding:0
}
footer .tel{
    display:none
}
.footer-widgets{
    padding:40px 0;
    max-width:1200px;
    width:100%;
    margin:0 auto
}
.footer-widget h3{
    font-size:18px;
    font-weight:500;
    color:var(--desktop-footer-overlay);
    border-bottom:1px solid var(--dark-grey-transparent);
    padding-bottom:15px;
    margin-bottom:15px;
    text-align:left
}
.footer-widget a{
    color:var(--desktop-footer-overlay)
}
.footer-widget a:hover{
    color:var(--desktop-footer-overlay)
}
.footer-widget .social-icons{
    text-align:left;
    padding-top:20px;
    justify-content:flex-start
}
.footer-widget .social-icons a{
    display:inline-block;
    margin-right:10px;
    margin-left:0
}
.footer-widget .social-icons svg{
    width:40px;
    height:40px;
    fill:var(--key-colour)
}
footer .author{
    padding:20px 15px;
    background-color:var(--desktop-footer-bg)
}
footer.shop-cats-disp .author{
    margin-bottom:80px
}
footer .author p{
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    margin-bottom:0;
    padding:0 15px
}
footer .author p>a{
    width:33.33%;
    color:var(--desktop-footer-overlay);
    text-align:center;
    border-bottom:none
}
footer .author p::after{
    content:'';
    display:block;
    width:33.33%
}
footer .author p img{
    width:33.33%;
    text-align:right
}
.warning-header{
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    padding:10px 15px;
    text-align:center;
    width:100%;
    font-size:18px;
    font-family:Arial;
    border-radius:0;
    margin-bottom:0
}
@media screen and (max-width:1024px){
    footer{
        padding:70px 15px 0;
        padding-bottom:70px
    }
    .footer-widget .social-icons svg{
        width:25px;
        height:25px
    }
    footer #subscribeFormFooter .row .medium-3:first-child{
        width:100%
    }
    footer #subscribeFormFooter h4{
        text-align:center;
        margin-bottom:20px
    }
    .medium-3{
        width:33.33%
    }
    .medium-9{
        width:100%
    }
    footer #subscribeFormFooter .row{
        align-items:flex-end
    }
    footer .author p::after{
        display:none
    }
    footer .author p img{
        width:auto
    }
    footer .author p>a{
        width:auto
    }
}
@media screen and (max-width:767px){
    .medium-4{
        width:100%
    }
    .medium-3{
        width:100%
    }
    footer .logo{
        width:100%
    }
    footer input{
        margin-bottom:15px
    }
    .footer-widget .social-icons{
        justify-content:center
    }
    footer .author p{
        flex-direction:column-reverse
    }
    footer .author p>a{
        margin-bottom:15px
    }
    .mobile-padding{
        padding:20px 0
    }
    footer nav.main ul li{
        display:block
    }
    footer nav.main ul li a{
        width:100%
    }
    .warning-header{
        padding:10px 25px;
        margin:62px 0 0;
        position:fixed;
        z-index:99
    }
}
.facebook-btn{
    display:none!important
}
.sold-out-label{
    position:absolute;
    right:0;
    right:6px;
    top:5%;
    padding:7px;
    text-transform:uppercase;
    font-family:var(--secondary-font-family);
    color:var(--key-colour-overlay);
    background-color:var(--key-colour);
    z-index:1
}
.img-cont{
    position:relative
}
#visit-shop,#visit-shop-cat{
    font-size:18px;
    padding:17px 27px 17px 34px;
    border-radius:30px;
    position:fixed;
    bottom:15px;
    left:0;
    right:0;
    margin:auto;
    z-index:11;
    width:auto;
    max-width:222px;
    display:flex;
    white-space:nowrap;
    background:var(--key-colour);
    color:var(--key-colour-overlay);
    align-items:center;
    justify-content:center
}
#visit-shop-cat:hover{
    color:var(--key-colour-overlay)
}
@media screen and (min-width:768px){
    .cal-container .ui-datepicker-inline.ui-datepicker-multi{
        width:100%!important;
        display:flex!important;
        justify-content:center
    }
    .cal-container .ui-datepicker-group{
        display:inline-block
    }
    .cal-container .ui-datepicker-group-first{
        margin-right:4em
    }
}
@media screen and (max-width:767px){
    .cal-container .ui-datepicker-calendar{
        margin:0;
        width:100%
    }
    .cal-container .ui-datepicker-inline.ui-datepicker{
        width:100%!important
    }
    html{
        overflow-x:hidden
    }
    header{
        position:fixed
    }
}
@media screen and (max-width:1008px){
    .mobile-fixed{
        font-size:18px;
        padding:17px 27px 17px 34px;
        border-radius:30px;
        position:fixed;
        bottom:15px;
        left:0;
        right:0;
        margin:auto;
        z-index:11;
        width:auto;
        max-width:222px;
        display:flex;
        white-space:nowrap;
        background:var(--key-colour);
        color:var(--key-colour-overlay);
        align-items:center;
        justify-content:center
    }
    .mobile-fixed:hover{
        color:var(--key-colour-overlay)
    }
}
.header-top-icons-block{
    display:none;
    align-items:center;
    justify-content:flex-end;
    line-height:1;
    padding-right:10px
}
.header-top-icons-block.desktop-links{
    display:flex
}
.telephone-mobile-block{
    margin-left:24px;
    padding:0 6px;
    text-decoration:none;
    border-bottom-style:none
}
.header-top-icons-block .social-block-link{
    margin-right:6px
}
.header-top-icons-block .social-block-link>a{
    display:inline-block;
    padding:0 5px
}
.flex-item a{
    line-height:1
}
.flex-item a svg{
    fill:var(--desktop-header-overlay);
    width:32px;
    height:32px
}
@media screen and (max-width:1023px){
    .flex-item a svg{
        fill:var(--mobile-header-overlay);
        width:32px;
        height:32px
    }
}
.sticky-nav{
    position:fixed;
    left:0;
    bottom:0;
    display:none;
    width:100%;
    background-color:var(--mobile-header-bg);
    padding:5px 0;
    z-index:999;
    box-shadow:0 4px 17px 0 rgb(0 0 0/8%);
    transition:all .2s ease-out
}
.toggle-menu-btn{
    border:none;
    background-color:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    height:50px;
    font-family:inherit;
    text-transform:inherit;
    font-size:17px;
    font-weight:500;
    line-height:1;
    color:var(--mobile-header-overlay);
    padding:0 4px;
    padding-top:8px
}
.toggle-menu-btn .icon{
    display:flex;
    flex-direction:column;
    align-items:center
}
.toggle-menu-btn .icon span{
    display:inline-block;
    width:26px;
    height:3px;
    background-color:var(--mobile-header-overlay);
    border-radius:12px;
    transition:all .4s ease;
    transition-delay:.1s
}
.toggle-menu-btn .icon span:nth-child(2){
    margin:4px 0;
    transition-delay:0s
}
.toggle-menu-btn.active .icon span:nth-child(2){
    opacity:0;
    visibility:hidden
}
.toggle-menu-btn.active .icon span:nth-child(1){
    transform:rotate(45deg) translateY(5px) translateX(5px)
}
.toggle-menu-btn.active .icon span:last-child{
    transform:rotate(-45deg) translateY(-5px) translateX(5px)
}
.sticky-nav__list{
    display:flex;
    align-items:center;
    width:100%;
    padding:0;
    margin:0
}
.sticky-nav__list-item{
    list-style:none;
    display:flex;
    justify-content:center;
    width:25%;
    padding:0 10px
}
.sticky-nav__list-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    height:50px;
    text-decoration:none;
    font-size:17px;
    line-height:1.2;
    font-weight:500;
    color:var(--mobile-header-overlay);
    padding:0 4px;
    padding-top:3px;
    text-decoration:none;
    border-bottom-style:none;
    font-family:inherit
}
.sticky-nav__list-icon{
    display:inline-block;
    line-height:1
}
.sticky-nav__list-icon svg{
    max-width:28px;
    height:24px;
    object-fit:cover;
    fill:currentColor
}
@media(max-width:1023.98px){
    .site-identity .logo{
        width:110px;
        height:50px;
        padding:0
    }
    .site-identity .logo img{
        width:100%;
        height:100%;
        object-fit:contain
    }
    #visit-shop,#visit-shop-cat{
        display:none
    }
    nav.main:not(.footer-nav-cats){
        display:none
    }
    .sticky-nav{
        display:block
    }
}
.header-top{
    display:flex;
    align-items:center;
    max-width:1200px;
    width:100%;
    margin:0 auto
}
.header-top-icons-block{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    line-height:1;
    padding-right:10px
}
.header-top-icons-block.desktop-social-link{
    justify-content:flex-start
}
.left-social-links{
    padding-left:24px
}
.telephone-mobile-block{
    margin-left:24px;
    padding:0 6px
}
.header-top-icons-block .social-block-link{
    margin-right:6px
}
.header-top-icons-block .social-block-link>a{
    display:inline-block;
    padding:0 5px
}
.flex-item a svg{
    fill:var(--desktop-header-overlay);
    width:32px;
    height:32px
}
.sticky-nav{
    position:fixed;
    left:0;
    bottom:0;
    display:none;
    width:100%;
    background-color:var(--mobile-header-bg);
    padding:5px 0;
    z-index:999;
    box-shadow:0 4px 17px 0 rgb(0 0 0/8%);
    transition:all .2s ease-out
}
.toggle-menu-btn{
    border:none;
    background-color:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    height:50px;
    font-family:inherit;
    font-size:17px;
    font-weight:500;
    line-height:1;
    color:var(--mobile-header-overlay);
    padding:0 4px;
    padding-top:8px
}
.toggle-menu-btn:focus{
}
.toggle-menu-btn .icon{
    display:flex;
    flex-direction:column;
    align-items:center
}
.toggle-menu-btn .icon span{
    display:inline-block;
    width:26px;
    height:3px;
    background-color:var(--mobile-header-overlay);
    border-radius:12px;
    transition:all .4s ease;
    transition-delay:.1s
}
.toggle-menu-btn .icon span:nth-child(2){
    margin:4px 0;
    transition-delay:0s
}
.toggle-menu-btn.active .icon span:nth-child(2){
    opacity:0;
    visibility:hidden
}
.toggle-menu-btn.active .icon span:nth-child(1){
    transform:rotate(45deg) translateY(5px) translateX(5px)
}
.toggle-menu-btn.active .icon span:last-child{
    transform:rotate(-45deg) translateY(-5px) translateX(5px)
}
.sticky-nav__list{
    display:flex;
    align-items:center;
    width:100%;
    padding:0;
    margin:0
}
.sticky-nav__list-item{
    list-style:none;
    display:flex;
    justify-content:center;
    width:25%;
    padding:0 10px
}
.sticky-nav__list-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    height:50px;
    text-decoration:none;
    font-size:17px;
    line-height:1.2;
    font-weight:500;
    color:var(--mobile-header-overlay);
    padding:0 4px;
    padding-top:3px
}
.sticky-nav__list-link:hover,.sticky-nav__list-link:focus{
    color:var(--mobile-header-overlay)
}
.sticky-nav__list-icon{
    display:inline-block;
    line-height:1
}
.sticky-nav__list-icon svg{
    max-width:28px;
    height:24px;
    object-fit:cover;
    fill:currentColor
}
@media(max-width:1023.98px){
    .site-identity .logo{
        width:110px;
        height:50px;
        padding:0
    }
    .site-identity .logo img{
        width:100%;
        height:100%;
        object-fit:contain
    }
    #visit-shop,#visit-shop-cat{
        display:none
    }
    nav.main{
        display:none
    }
    .sticky-nav{
        display:block
    }
    .flex-item.full-width-flex{
        display:none
    }
}
