/* General site */

    html {
        font-size: 20px;
    }

    body {
        margin: 0;
        font-size: 16px;
    }

    p {
        margin-top: 0;
    }

    *, ::after, ::before {
        box-sizing: border-box;
    }

    img {
        max-width: 100%;
    }

    h2 {
        font-size: 30px;
    }

    input[type=number] {
        -moz-appearance: textfield;
    }

    .sidr-hidden {
        display: none;
    }

    .main__content {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }

    .btn, button {
        font-family: inherit;
        white-space: nowrap;
        transition: all .25s;
        padding: .5rem 1rem;
        font-weight: bold;
        font-size: 14px;
        border: none;
        cursor: pointer !important;
    }

    #contentliner {
        margin: 0;
        padding: 0;
    }

    content .validation-summary-errors {
        padding: 1rem;
        margin-bottom: 1.5rem;
    }

    content .validation-summary-errors ul {
        padding-left: 15px;
        margin-bottom: 0;
    }

    #items .validation-summary-errors {
        margin-bottom: 0;
        position: absolute;
        top: 0;
        width: 100%;
    }

    #approvequote .paymentdetails {
        margin-bottom: 1rem;
    }

/* Header */

    header {
        padding: 10px 0;
        position: -webkit-sticky; 
        position: sticky;
        top: 0;
        z-index: 999;
        box-shadow: 0px 10px 18px 1px rgba(0,0,0,0.11);
    }

    header .search input {
        width: 200px;
        padding: 7px;
    }

    header #sidr form {
        margin: 0;
    }

    header #sidr form input {
        margin: 0;
        padding: 15px;
        color: #fff;
        font-size: 16px;
    }

    header #sidr form input::placeholder {
        color: #fff;
    }

    .top-nav {
        min-height: 30px;
    }

    .menu-toggle {
        display: none
    }

    .brand-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .brand-header .nav-menu {
        margin-left: auto;
        display: flex;
        align-items: center;
    }

    .brand-header .logo {
        display: inline-block;
        vertical-align: middle;
        padding-right: 20px;
    }

    .brand-header .logo img {
        max-width: 175px;
        height: auto;
    }

    .brand-header .nav-menu ul {
        display: flex;
        align-items: center;
        list-style: none;
    }

    .brand-header .nav-menu li > a,
    .brand-header .nav-menu .menu-account-icons > a,
    .brand-header .nav-menu .menu-account-icons > span {
        text-decoration: none;
        padding: 0 8px;
        font-size: 15px;
        position: relative;
        font-weight: 600;
        cursor: pointer;
    }

    .brand-header .nav-menu a {
        text-decoration: none;
    }

    .brand-header .menu-account-icons i {
        margin-right: 2px;
    }

    .brand-header .nav-menu .count {
        position: absolute;
        top: -10px;
        left: -3px;
        padding: 3px 5px;
        border-radius: 30px;
        font-size: 11px;
    }

    .brand-header .cartsummary {
        margin-left: 5px;
    }

    .brand-header .menu-account-icons {
        display: flex;
        align-items: center;
    }

    .brand-header #searchcriteria {
        width: 160px;
    }
    
    .banner {
        min-height: 200px;
        background-repeat: no-repeat;
        background-size: cover !important;
        background-position: center;
        position: relative;
        display: flex;
        align-items: center;
    }

    /* .banner:before {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        content: '';
        background: rgba(0,178,217,1);
    } */

    .banner .banner__content {
        position: relative;
        z-index: 10;
    }

    .banner .banner__content h1 {
        font-size: 45px;
        margin-bottom: 0;
        margin-top: 0;
        line-height: 1;
    }

    .banner .banner__content_subhead {
        font-size: 16px;
    }

    .cartsummary:hover #cart {
        display: block;
    }

    .cart-no-items {
        padding: 10px;
    }
    
    #cart {
        position: absolute;
        width: 300px;
        top: 15px;
        left: -100px;
        display: none;
        cursor: context-menu;
        z-index: 99;
    }
    
    #cart .liner {
        border: none;
        padding: 0;
        border-top: none;
        box-shadow: 0px 12px 18px -3px rgba(0,0,0,0.15);
    }

    #cart .row-qty {
        text-align: center;
    }
    
    #cart .liner .totals {
        margin: 0 10px;
        padding: 10px 0;
        text-align: right;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    #cart .liner .totals label {
        margin: 0;
        float: none;
        font-size: 13px;
        font-weight: 300 !important;
        margin-right: 5px;
    }
    
    #cart .liner .totals .amount {
        font-size: 17px;
        font-weight: 600 !important;
    }
    
    #cart .liner .totals .amount {
        padding: 0;
        margin: 0;
        width: auto;
    }
    
    #cart .cart-title {
        font-weight: bold;
        text-align: left;
        margin: 0 10px;
        padding: 10px 0;
        margin-bottom: 10px;
    }
    
    #cart .table-wrap {
        margin: 0 10px;
        padding-top: 15px;
        max-height: 250px;
        overflow-y: auto;
    }
    
    #cart .table-wrap .qty-header {
        min-width: 35px;
        text-align: center;
    }
    
    #cart .table-wrap tr {
        text-align: left;
    }
    
    #cart .table-wrap td {
        padding: 7px 0;
        font-size: 14px;
        font-weight: 500;
    }
    
    #cart .table-wrap table {
        width: 100%;
    }
    
    #cart .table-wrap table thead {
        font-weight: bold;
        text-align: left;
        margin: 0 10px;
        padding: 10px 0;
        margin-bottom: 10px;
        width: 100%;
    }
    
    #cart .liner ul {
        flex-wrap: wrap;
        padding: 10px 0 !important;
    }
    
    #cart .items-count-label {
        font-size: 13px;
        font-weight: 300;
        padding-left: 5px;
    }
    
    #cart .items-count {
        font-weight: bold;
    }
    
    #cart .liner li.cartitem {
        border: none;
        width: 100%;
        text-align: left;
        color: #404040;
        padding: 0 .75rem;
        margin-top: 0;
    }
    
    #cart .liner li.cartitem h2 {
        display: block;
        margin-bottom: 0;
    }
    
    #cart .liner button.checkout {
        width: 100%;
        max-width: 100%;
        padding: 10px 0;
        border: none;
        margin-bottom: -1px;
        cursor: pointer;
    }

    .menu-search-box {
        position: absolute;
        top: 40px;
        padding: 0;
        z-index: 99;
        box-shadow: 0px 12px 18px -3px rgba(0,0,0,0.15);
        max-height: 0;
        overflow: hidden;
        transition: all .5s;
        opacity: 0;
        min-height: 0;
    }

    .menu-search-box.open {
        max-height: 100%;
        overflow: visible;
        padding: 10px 20px;
        opacity: 1;
        min-height: 50px;
        display: flex;
        align-items: center;
    }

    .menu-search-box input {
        border: none;
        transition: all .5s;
        font-size: 15px;
        outline: none;
    }

    .search-close {
        position: absolute;
        top: 5px;
        right: 5px;
    }

/* Sites */

#sites .liner {
    background: #fff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
}

#sites .liner h2 {
    margin-top: 0;
    font-size: 25px;
    margin-bottom: 10px;
}

#sites .liner .cta-primary {
    padding: .5rem 1rem;
    display: block;
    text-align: center;
    margin-top: 20px;
    text-decoration: none;
    font-weight: bold;
}

#sites .liner .address {
    margin-top: auto;
    font-size: 14px;
}

#sites .liner .phone {
    font-size: 14px;
}

#select-site fieldset {
    margin-top: 2rem;
}

#select-site fieldset legend {
    margin-bottom: 1rem;
}

#select-site #search-form {
    margin-bottom: 30px;
}

#select-site #search-form input {
    font-size: 16px;
}

#select-site .or {
    display: inline-block;
    margin: 0 20px 0 15px;
}

#select-site #get-position {
    padding: .5rem 1rem;
    text-align: center;
    margin-top: 20px;
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
}

/* Category */

    .category a {
        text-decoration: none;
    }

    .category h2 {
        padding: 15px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        font-size: 20px;
        margin-bottom: 0;
        margin-top: -5px;
    }

    #folder .categories .category h2 { 
        margin-top: -5px;
    }

    #menu .liner {
        height: 100%;
    }

    #menu form input {
        background: none;
        border: none;
        border-bottom: 1px solid #ddd;
        width: 100%;
        padding: 10px 15px;
        font-size: 16px;
        outline: none;
    }

    #menu ul {
        padding: 0;
    }

    #menu ul li {
        margin-bottom: 0;
    }

    #menu ul li.activefolder ul li a {
        padding: 5px 10px;
    }

    #menu ul li a {
        text-decoration: none;
        padding: 10px 15px;
        display: block;
    }

    .items .item button.addtocart {
        flex-grow: 1;
    }
    
    .items .liner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .items .liner .item-liner {
        width: 32%;
        position: relative;
        margin-bottom: 1.5rem;
    }
    
    #items .item {
        height: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
        width: 100%;
        margin-bottom: 0;
    }

    #items > #addedmessage {
        position: relative;
        width: 100%;
        margin-bottom: 2rem;
        padding: 1rem;
    }

    #items .item #addedmessage {
        z-index: 99;
    }
    
    #items .item .quantity {
        padding: 10px 0;
    }

    .item .dietary {
        position: absolute;
        top: 0px;
        right: 0px;
        margin: 15px;
        list-style-type: none;
    }
    
    .item .dietary li {
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        display: inline-block;
        width: 35px;
        height: 35px;
        margin-left: 2px;
    }
    
    .item .text {
        padding: 1rem;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        display: flex !important;
    }
    
    .item .text label {
        margin-bottom: 0;
    }
    
    .item .text h3 {
        display: block;
        width: 100%;
        margin-top: 0;
    }
    
    .items .text .priceserve {
        margin-top: auto;
    }
    
    .item .text .qty {
        margin-bottom: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
    }
    
    .item select {
        max-width: 100%;
        font-size: 16px;
        padding: 10px;
    }    

    .item .text .qty input {
        width: 100%;
        border-right: 0;
        padding: 6px 10px;
        border-radius: 0;
    }
    
    .item .text .qty label {
        display: block;
        width: 100%;
    }
    
    .item .fancybox {
        width: 100%;
    }
    
    .item .item-image {
        height: 280px;
        width: 100%;
        background-position: center;
        background-size: cover;
    }

    .item .qty-input-wrap {
        display: flex;
    }
    
    .qty-input-wrap .qty-toggle {
        padding: 5px 10px;
        cursor: pointer;
        display: flex;
        align-items: center;
    }
    
    .type-icon {
        position: relative;
    }
    
    .type-icon .count {
        position: absolute;
        padding: 2px 7px;
        top: 5px;
        right: 5px;
        font-size: 12px;
        border-radius: 100%;
    }

    #items .item .qty input {
        margin-right: 0;
        border-radius: 0;
        font-size: 14px;
        min-width: 50px;
        text-align: center;
    }

    #addedmessage {
        margin-bottom: 0;
        position: absolute;
        top: 0;
        left: 0;
    }

/* Account */

    .site__signin {
        display: flex;
    }

    .site__signin h2 {
        font-size: 30px;
        margin-bottom: 20px;
    }

    .site__signin .existingcustomers,
    .site__signin .newcustomers {
        width: 50%;
    }

    #signin .existingcustomers .liner,
    #signin .newcustomers .liner {
        padding: 1.5rem;
    }

    #signin .signinpanel form input {
        max-width: 100%;
    }

    #signin h2 {
        margin-top: 0;
    }

    #signin.site__signin .signinpanel {
        padding: 2rem;
    }

    content #signin .signinpanel {
        max-width: 100%;
        padding: 0;
        background-color: transparent;
    }

     .signinpanel {
        border: none;
    }

     .newcustomers .signinpanel {
        background: none;
    }

     .signinpanel input {
        max-width: 100%;
    }
    

     .signinpanel .buttonarea button {
        width: 100%;
    }

     .existingcustomers .signinpanel p a {
        font-size: 13px;
    }

    .site__signin .signinpanel button {
        margin-bottom: 0;
    }

    .site__signin .signinpanel input,
    #createaccount input, #createaccount textarea,
    #createaccount select {
        padding: 10px 15px;
        text-align: left;
        border-radius: 3px;
    }

    #content input, #content textarea,
    #content select {
        padding: 10px 15px;
        text-align: left;
        border-radius: 3px;
    }

    #createaccount input[type="radio"] {
        width: auto !important;
    }

    #createaccount input, #createaccount textarea,
    #createaccount select {
        width: 100% !important;
    }

    #createaccount h2 {
        padding: 10px;
        margin-top: 0;
        text-align: center;
    }

    #createaccount fieldset .fs-col-md-6,
    #createaccount fieldset .fs-col-12 {
        margin-bottom: .5rem;
    }

    #createaccount .passtrengthMeter {
        margin-bottom: 10px;
    }

    #createaccount .passtrengthMeter.strong::after {
        background-color: #2db749;
        width: 100%;
    }

    #createaccount .passtrengthMeter.strong .tooltip {
        background-color: #2db749;
    }

    #createaccount .passtrengthMeter.strong .tooltip:after {
        border-bottom: solid #2db749 7px;
    }

    #createaccount .passtrengthMeter .showPassword img {
        display: none;
    }

    #createaccount .wording {
        margin-top: 0;
        margin-bottom: 0;
        font-size: 12px;
    }

    div#createaccount {
        width: 60%;
        margin: auto;
    }
    
    #createaccount fieldset {
        padding: 20px;
        margin-bottom: 20px;
        border: none;
    }

    #account a .account-icon {
        margin: auto;
    }

    #account p {
        margin: 0 0 20px 0;
    }    

    #account .account-feature p {
        min-height: 50px;
    }

    #account h2 {
        font-size: 20px;
    }

    #account .buttonarea {
        margin-top: 2rem;
        width: 100% !important;
    }

    #account .account-icon {
        width: 75px;
        height: 75px;
        border-radius: 100%;
        font-size: 25px;
        margin-bottom: .5rem;
        margin-top: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #account .account-feature {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 1rem;
        height: 100%;
    }

    #account .account-feature p {
        margin-bottom: 0;
    }

    #account a {
        text-decoration: none;
    }

    #vieworder h2 {
        font-size: 30px;
        margin-bottom: 20px;
    }

    #vieworder h3 {
        font-size: 20px;
    }

    #vieworder .packitem {
        display: none;
    }

/* Order Pages */

    #editorder .panel,
    #confirmorder .panel,
    #orderplaced .panel {
        padding: 1.5rem;
        margin-bottom: 1.5rem;
    }

    #editorder .checkout-spacer {
        height: 3px;
        width: 100%;
        margin: 30px 0;
    }

    #editorder textarea {
        height: 75px;
    }

    #editorder .po-code {
        margin-top: 5px;
        font-size: 14px;
        display: block;
    }

    #editorder .panel h2:first-child,
    #confirmorder .panel h2:first-child,
    #orderplaced .panel h2:first-child  {
        padding: 10px;
        margin-top: 0;
        text-align: center;
    }

    #editorder #deliveryinfofields {
        margin-bottom: 0;
    }

    #editorder .panel .deliveryPickupSection.fs-row input {
        width: auto;
    }

    #editorder .panel .fs-row input {
        width: 100%;
    }

    #editorder .panel .field {
        margin-bottom: .5rem;
    }

    #editorder .panel .email-optin {
        display: flex;
        align-items: flex-end;
    }

    #editorder .panel .email-optin input {
        width: auto;
    }

    #editorder form .guest-checkout-options {
        border: none;
        padding: 1rem;
        margin-bottom: 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }

    #editorder .checkout__signin__heading {
        font-size: 22px;
        font-weight: bold;
    }

    #editorder .deliverytime-wrap {
        margin-bottom: .5rem;
    }

    #editorder form .guest-checkout-options h2 {
        margin-top: 0;
        text-align: center;
        margin-bottom: .75rem;
    }

    .checkout__signin__buttonarea {
        display: flex;
        justify-content: center;
    }

    #editorder .other-type-fields > p {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        position: relative;
        width: 100%;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
    }

    #editorder form .guest-checkout-options a {
        padding: .75rem 1rem;
        margin: 0 .5rem;
        text-decoration: none;
    }

    #editorder #items {
        margin-top: .5rem;
    }
    
    #editorder #items .totals {
        margin-top: 1rem;
    }

    #editorder .items-buttonarea {
        margin-top: 1rem;
    }

    #editorder .items-buttonarea .buttonarea-addmore {
        display: flex;
        justify-content: flex-end;
    }

    #editorder .items-buttonarea .field {
        display: flex;
        margin-bottom: 0;
    }

    .table, 
    .table th,
    .table td {
        border: none;
    }

    #editorder .panel #cartitemtable input.quantity {
        width: 50px;
    }

    #editorder .panel .fs-row input#Order_PromoCode {
        width: auto;
    }

    .ordersummary .items {
        margin-top: 20px;
    }

    #cartitems .table th {
        background-color: transparent;
        padding-bottom: 15px;
    }

    #cartitemtable button {
        border: none;
    }

    #cartitemtable button.remove {
        padding: 0;
        background: none;
    }

    .picker__holder {
        max-width: 339px !important;
    }

    #confirmorder h3 {
        margin-top: 0;
        font-size: 20px;
    }

    #confirmorder .table th {
        background: none;
        background-color: transparent;
        padding-bottom: 10px;
    }

    #confirmorder .table td {
        padding: 5px 0;
    }

    #confirmorder #payment {
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }

    #confirmorder .paymentdetails {
        margin-top: 40px;
    }

    #paymentframe.paystream {
        height: 310px;
    }

    #confirmorder .paymentmethods {
        margin-bottom: 20px;
    }

    .paymentdetails .ccoption {
        margin-bottom: 10px;
    }

/* Pack */

    #pack .selection {
        margin-bottom: 2rem;
    }

    #pack .pack-item .liner {
        border: 3px solid transparent;
        transition: all .5s;
    }

    #pack .pack-item.active .liner {
        box-shadow: 0px 12px 18px -3px rgba(0,0,0,0.15);
    }

    #pack .selection h2 {
        margin-top: 0;
        text-align: center;
        padding: 10px;
    }

    #pack .selection .text {
        padding: 1rem;
        margin-top: -5px;
    }

    #pack .selection h4 {
        margin-top: 0;
        margin-bottom: .5rem;
    }
/* Footer */

    footer {
        padding: 3rem 0;
    }

    footer .footer-contact p {
        margin-bottom: 0;
    }

    footer .footer-head {
        font-weight: bold;
        margin-bottom: 1rem;
    }

    footer .footer-copy {
        text-align: right;
    }

    footer .footer-copy img {
        max-width: 100%;
        width: 150px;
        display: block;
        margin-left: auto;
        margin-bottom: .5rem;
    }

    footer .powered-by {
        display: block;
        font-size: 12px;
        text-decoration: none;
    }

    footer ul {
        padding: 0;
        list-style: none;
        margin: 0;
    }

    footer ul a {
        text-decoration: none;
    }

/* Mobile Devices */

    @media (max-width: 1025px) {
        .menu-account-icons a span.wording {
            display: none;
        }
    }

    @media (max-width: 768px) {

        h2 {
            font-size: 25px;
        }
        
        div#createaccount {
            width: 100%;
        }

        header .brand-header .nav-menu {
            display: none;
        }

        header .menu-toggle {
            display: block;
        }

        content #navpage #menu {
            display: none;
        }

    }

    @media (max-width: 767px) {

        content #editorder .items-buttonarea .buttonarea-addmore {
            justify-content: center;
            margin-top: 1rem;
        }

        body header {
            padding: 15px 0;
        }

        content .banner .banner__content h1 {
            font-size: 35px;
        }

        .menu-toggle {
            display: block
        }

        footer {
            text-align: center;
        }

        body footer .footer-copy {
            text-align: center;
            margin-top: 1rem;
        }

        body footer .footer-copy img {
            margin: auto;
        }

        footer .fs-col-md-3 {
            margin-bottom: 1.5rem;
        }

        body footer .footer-head {
            margin-bottom: .5rem;
        }

        
        content #editorder .panel h2:first-child, 
        content #confirmorder .panel h2:first-child, 
        content #orderplaced .panel h2:first-child {
            padding: 10px;
        }

        content #editorder form .guest-checkout-options {
            text-align: center;
        }

        content #editorder .checkout__signin__heading {
            width: 100%;
        }

        content .checkout__signin__buttonarea {
            flex-wrap: wrap;
        }

        content #editorder .checkout__signin__buttonarea a {
            margin-top: 1rem;
            width: 100%;
        }

        content #pack .pack-item {
            margin-bottom: 1rem;
        }

    }

