/* --------------------- CSS that couyld well be required as there not in styles.css -----------------------*/

/*
:focus, :link, :visited {
    transition: all .5s ease-in;
    text-decoration: none;
}
*/

#breadcrumb {
    font-size: calc(0.5rem + 0.3vw);
    padding: 1vw 0 2vw;
}

#breadcrumb  a {
    padding-right: 1vw;
    position: relative;
}

#breadcrumb .fa {
    font-size: calc(0.5rem - -0.3vw);
    padding-left: 1vw;
}

#site .vc_carousel-inner img{
    width: 100vw;
    height: auto;
}

/*
.home #site .vc_carousel-inner img{
    width: auto;
    float: left;
}
#main-menu {
    display: block;
}
#content {
    padding: 0rem 0 2rem;
}

#site .vc_btn3-container {
    margin-bottom: 2vw;
}
*/


/* CTAs not wrapping text at small widths*/
#site .vc_general.vc_cta3.vc_cta3-icons-left .vc_cta3_content-container{
    display: block;
}
#site .vc_general.vc_cta3 .vc_cta3-actions {
    white-space: normal;
}

/* Remove the margin on the icons */
#site .vc_icon_element{
    margin-bottom: 0;
}

/** Removes the small gap at the base of the carousel */

#site .wpb_images_carousel .vc_item{
    height: auto!important;
} 
#site .wpb_images_carousel .vc_inner img{
    display: block;
}
#site h1{
    font-family: 'harlees', sans-serif;
    font-size: calc(1.75rem - -6vw);
    line-height: 0.8;
    text-transform: uppercase;
    letter-spacing: -.5vw;
    display: inline;
}
#site h1 strong{
    font-size: calc(1.75rem - -4vw);
    letter-spacing: -.25vw;
}

body.home #site h1{
    font-size: calc(1.75rem - -8vw);
}
body.home #site h1 strong{
    font-size: calc(1.75rem - -6vw);
    letter-spacing: -.25vw;
}

h2{
    font-family: 'harlees', sans-serif;
    line-height: 0.8;
    font-size: calc(0.75rem - -3vw);
}
h3{
    line-height: 1.2;
    font-size: calc(0.75rem - -1.5vw);
}
h4{
    font-size: calc(0.75rem - -1.5vw);
}
h5{
    font-size: calc(0.75rem - -0.5vw);
}

footer h4{
    font-family: 'harlees', sans-serif;
    line-height: 0.85;
    font-size: calc(0.75rem - -2.5vw);
}
footer h5{
    font-family: 'franklin-gothic-urw-comp', sans-serif;
    line-height: 0.9;
    font-size: calc(0.75rem - -1.5vw);
}

#site nav li a{
    text-align: left;
}


#site nav li a span {
    font-family: 'franklin-gothic-urw-comp', sans-serif;
}

@media( min-width : 769px ){
    #site .menu li {
        display: inline-block !important;
        position: relative;
    }
    #site .menu a {
        padding: 0 0.5189vw;
    }
    .menu .sub-menu a {
        padding: 0.3rem 0.5rem;
        text-align: left;
    }
}


#site #menu-main-menu li:nth-child(3) a {
    color: black !important;
}
#site #menu-main-menu li .sub-menu {
    display: none;
    position: absolute;
    /* top: 1.0379vw; */
    right: 0;
    padding: 0;
    width: 200px;
    background-color: #fff;
}
#site #menu-main-menu li:hover .sub-menu {
    display: block;
}
#site #menu-main-menu li .sub-menu li {
    float: none;
    display: block !important;
}


/* --------------------- END CSS that could well be required -----------------------*/

#content{
    background: none;
    padding: 0;
}
.small p{
    font-size: calc(0.5rem + 0.2vw);
}
.white p {
    color: white;
}
#site .home-header.bottom {
    bottom: -4vw;
}
@media( max-width : 1400px ){ 
    .dsm-col-10 .vc_col-sm-8 .vc_col-sm-4 {
        width: 50%;
    }
}
@media( max-width : 1100px ){ 
    .home-header {
        height: 40vw !important;
    }
    #site .home-header .dsm-col-7 {
        width: 100%;
    }
}
@media( max-width : 1024px ){ 
    .dsm-col-10 .vc_col-sm-8 .vc_col-sm-4 {
        width: 100%;
    }
}

@media( max-width : 768px ){ 
    
    #site .dsm-col-5,
    #site .dsm-col-6 {width: 100%;}
    #site .dsm-mar-r-2{margin-right: 4.1515%;}
    #site .dsm-mar-l-2{margin-left: 4.1515%;}
    #site .dsm-col-8{width: 91.6666%;}
    
    #site .mobile-hide,
    #main-navigation-wrap {display: none;}
    .menu li {
        display: block;
    }
    #site .main-navigation-block .dsm-mar-r-1,
    #site .footer-menu-wrap .dsm-mar-r-1{
        margin-right: 0%;
    }
    #site .main-navigation-block .dsm-mar-l-1,
    #site .footer-menu-wrap .dsm-mar-l-1{
        margin-left: 0%;
    }
    #site .main-navigation-block .dsm-col-10,
    #site .footer-menu-wrap .dsm-col-10{
        width: 100%;
    }
    .menu a {
        padding: 0.5rem 8.3333%;
    }
    #site .footer-menu-wrap p {
        text-align: center !important;
    }
    #site .slide-text {
        position: static;
    }
/*    #site .wpb_single_image.vc_align_left,*/
    footer *{
        text-align: center;
    }
    #site .vc_icon_element.vc_icon_element-outer.float-left.vc_icon_element-align-left{
        display: inline-block;
        float: none;
    }
    
    #site img.attachment-capricorn_image.size-capricorn_image.wp-post-image{
        position: static;
        width: 100%;
    }
    #site #menu-main-menu li .sub-menu {
        display: block;
        position: static;
        padding: 0;
        width: 100%;

    }
}

/* ---------------------------------- Harlees SPECIFIC ------------------------------------------*/
/* --------- Menu styles -------*/
.menu h2 {
/*    font-family: 'lucky_fellasregular', sans-serif;*/
    font-size: calc(1.5rem - -1vw);
/*    font-weight: 300;*/
    margin-bottom: 0.5vw;
}
.menu table tr:nth-child(even) {
    background: none;
}
.menu table td,
.menu table td p {
    font-size: calc(0.75rem - -0.3vw);
    vertical-align: top;
    font-family: 'franklin-gothic-urw-comp', sans-serif;
    line-height: 1.3;
}
.menu table td strong {
    font-size: calc(0.7rem - -0.3vw);
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    line-height: 1;
}
.menu table td em {
    font-size: calc(0.55rem - -0.3vw);
/*    margin-left: 1vw;*/
    display: block;
    font-family: 'franklin-gothic-urw', sans-serif;
/*    padding-bottom: 1.5vw!important;*/
}
.menu table td:has(em) {
    padding-top: 0;
}
.menu table td:nth-child(1) {
    width: 80%;
/*    padding-left: 3vw;*/
}
.menu table td:nth-child(2){
    width: 20%; 
    text-align: right;
}
@media print {
    #header,
    #main-navigation-wrap,
    #footer,
    .menu .no-print,
    #header{
        display: none;
    }
}

#site .vc_general.vc_cta3 h3{
    line-height: 0.8;
    font-family: 'harlees', sans-serif;
    margin-top: 0;
    margin-bottom: 0;
    font-size: calc(0.75rem - -5vw);
    letter-spacing: -0.2rem;
}
#site .vc_col-sm-4 .vc_general.vc_cta3 h3,
#site .vc_col-sm-3 .vc_general.vc_cta3 h3{
     font-size: calc(0.75rem - -2.75vw);
}

#site .vc_general.vc_cta3 a,
#site .vc_general.vc_cta3 p{
/*    margin-bottom: 0;*/
    font-size: calc(0.75rem - -1vw);
    font-weight: bold;
    line-height: 1;
}
#site .click-n-collect a.vc_general {
    float: right;
}

@media( min-width : 768px ){ 
    #site .harlees-locations.vc_cta3-actions-bottom h3 {
        padding-bottom: 10vw;
    }
}
@media( min-width : 1296px ){ 
    #site .harlees-locations.vc_cta3-actions-bottom h3 {
        padding-bottom: 1.6vw;
    }
}

#site .section-wrap-header{
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
}


/** FLEX styles **/


.custom-flex-header .vc_row{
    display: flex;
    flex-wrap: wrap;
}

.custom-flex-header .vc_row *{
    display: flex;
    vertical-align: middle;
    align-items: stretch;
}

.custom-flex-header .vc_row .menu a{
    height: 100%;
    align-items: center;
    border-bottom: 8px solid transparent;
}

.custom-flex-header .vc_row .vc_col-sm-9 > .vc_column-inner{
    justify-content: flex-end;
}

body.home a.vc_single_image-wrapper {
    transition: all 0.5s ease;
    opacity: 0!important;
}

body.home .Brand-Logo.active a.vc_single_image-wrapper{
    opacity: 1!important;
}

.Brand-Logo{
    padding: 1.5vw;
    transition: opacity 0.5s ease;
}

body.home .home-brand-logo {
    transition: opacity 0.5s ease;
    opacity: 0!important;
}

body.home .home-brand-logo.active{
    opacity: 1!important;
}

@media( max-width : 768px ){ 

    body.home #site .home-brand-logo {
        display: none;
    }
    body.home #site a.vc_single_image-wrapper {
        opacity: 1!important;
    }   
    #header .Brand-Logo img{
        width: 33%!important;
    }
    #site .section-wrap-header{
        position: static;
    }
    
    #site .menu-col-6 .menu-quick-links-container li{
        width: 100%!important;
    }
    #site .menu-col-6 .menu-quick-links-container li a{
        padding: 1rem!important;
    }
    
}
/*

.flex-content-elements {
    display: flex;
}
.flex-content-elements * {
    display: flex;
}
.flex-content-elements section.vc_cta3-container * {
    display: block;
}

*/

#site .vc_general.vc_cta3{
    border: 0;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
}

.weather *{
    font-family: 'harlees', sans-serif;
}
#harlees-map > div{
    border: 1px solid;
}

#site .bottom-n15{ bottom: -15vw; }

#site #menu-quick-links.menu a{
    padding: 0.5189vw; 
}

#site .custom-flex-header{
    transition: background-image 0.3s ease-in;
}
body.home #site .custom-flex-header {
    background-color: unset !important;
    background-image: linear-gradient(to right, rgba(255,255,255,0.8), rgba(255,255,255,0.8)) !important;
}
body.home #site .custom-flex-header.active{
    background-color: unset !important;
    background-image: linear-gradient(to right, rgba(255,255,255,0.6), rgba(255,255,255,1)) !important;
}

#site .home-brand-logo{
    position: relative;
    z-index: 9999 !important;
}
.home-welcome p{
    font-size: calc(0.75rem - -1vw);
    line-height: 1.5;
}
.home-welcome p strong{
    font-size: calc(0.75rem - -1.5vw);
    line-height: 1;
}
#site .harlees-app .vc_general.vc_cta3 {
    background-position: center right !important;
}
#site .vc_general.vc_cta3.harlees-no-shadow {
    box-shadow: none;
}
#site .vc_general.vc_cta3.harlees-no-shadow img {
    padding: 0 2vw;
    width: auto;
}
@media(max-width:768px){
    #site .mobile-remove-abs{
        position: static;
    }
    #site .mobile-remove-abs h1{
        letter-spacing: 0;
    }
}


/* RESTAURANT MENU SETUP **/

#restaurant-menu {
    padding-top: 0!important;  
}

#restaurant-menu .wpb_text_column h1{
    font-size: calc(1.75rem - -4vw);
    display: block;
}
#restaurant-menu .wpb_text_column h2{
    text-transform: uppercase;
    letter-spacing: -2.5px;
    border-bottom: 2px solid;
    margin-bottom: 0vw;
    font-size: calc(1.5rem - -0.75vw);
}
#restaurant-menu .wpb_text_column h3{
    text-transform: uppercase;
    font-weight: bold;
    font-size: calc(0.75rem - -1vw);
    letter-spacing: -0.5px;
    margin-bottom: 0;
}
#restaurant-menu .wpb_text_column p{
    text-transform: uppercase;
    font-family: 'franklin-gothic-urw-comp', sans-serif;
    font-size: calc(0.75rem - -0.1vw);
}
 
#restaurant-menu table{
    margin: 0.5rem 0!important;
}

#restaurant-menu table th, 
#restaurant-menu table td{
    padding: 0 0 0.5vw 0;
    font-size: calc(0.70rem - -0.3vw);
}
#restaurant-menu table td strong{
    padding: 0;
    font-size: calc(0.70rem - -0.3vw);
    font-family: 'franklin-gothic-urw-comp', sans-serif;
}

@media print { 
    #restaurant-menu .vc_col-sm-6{width: 50%!important; float:left;}
    #restaurant-menu .vc_col-sm-6:nth-child(1){padding-right:4%;}
    #restaurant-menu .vc_col-sm-6:nth-child(2){padding-left:4%;}
}

.toppings-table th{
    background-color: #7fa9ae !important;
    color: white;
    font-family: 'franklin-gothic-urw-comp', sans-serif;
}

#restaurant-menu .toppings-table table th, 
#restaurant-menu .toppings-table table td{
    padding: 0 0.5rem;
    border: 1px solid #007581;
    text-align: left;
}

.featured-special{
    padding: 0.5rem 1.5rem;
    
}