.topbar-logo-link {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}

.topbar-logo-link:focus-visible {
    outline:2px solid #69BE28;
    outline-offset:4px;
}

.topbar-logo-link .topbar-logo {
    pointer-events:none;
}

.mainnav a.soon-tab {
    position:relative;
    overflow:hidden;
    margin-left:auto;
    color:#fff !important;
    background:#141414;
    border-left:1px solid rgba(255,255,255,.12);
    border-right:1px solid rgba(255,255,255,.12);
    letter-spacing:0;
}

.mainnav a.soon-tab::before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 0%, rgba(105,190,40,.28) 45%, transparent 70%);
    transform:translateX(-120%);
    animation:soonSweep 2.2s ease-in-out infinite;
}

.mainnav a.soon-tab span {
    position:relative;
    z-index:1;
}

.mainnav a.soon-tab:hover {
    background:#202020;
    color:#69BE28 !important;
}

.mainnav a.soon-tab:active {
    transform:translateY(1px) scale(.98);
}

@keyframes soonSweep {
    0%, 35% { transform:translateX(-120%); }
    70%, 100% { transform:translateX(120%); }
}

.free-choice-field {
    display:none;
    margin-top:10px;
}

.free-choice-field.open {
    display:block;
}

.free-choice-field input {
    width:100%;
}

[data-occasion-url] {
    cursor:pointer;
}

.footer-info {
    display:block !important;
    background:#2f2f2f !important;
    color:#fff !important;
    padding:80px 20px !important;
    border-top:4px solid #69BE28 !important;
    margin-top:0 !important;
    text-align:center !important;
}

.footer-info .footer-container {
    display:block !important;
    width:100% !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:center !important;
}

.footer-info .footer-title {
    margin:0 0 25px !important;
    color:#fff !important;
    font-size:36px !important;
    line-height:1.1 !important;
    text-align:center !important;
    text-transform:uppercase !important;
    letter-spacing:0 !important;
}

.footer-info .footer-hours {
    margin:0 auto 25px !important;
    padding:0 !important;
    border:0 !important;
    width:auto !important;
    max-width:none !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1.45 !important;
    text-align:center !important;
}

.footer-info .footer-hours p {
    margin:0 0 6px !important;
    text-align:center !important;
}

.footer-info .footer-award {
    margin:0 auto 35px !important;
    max-width:900px !important;
    color:#69BE28 !important;
    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.45 !important;
    text-align:center !important;
}

.footer-info .footer-social {
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:20px !important;
    flex-wrap:wrap !important;
    margin:0 auto 35px !important;
}

.footer-info .social-btn {
    width:48px !important;
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    border:2px solid #69BE28 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:22px !important;
    text-decoration:none !important;
    transition:.25s !important;
}

.footer-info .social-btn:hover {
    background:#69BE28 !important;
    color:#000 !important;
}

.footer-info .google-review-card {
    display:inline-block !important;
    margin:28px auto 34px !important;
    padding:14px 18px !important;
    background:#efefef !important;
    border:0 !important;
    border-top:5px solid #69BE28 !important;
    box-shadow:0 6px 18px rgba(0,0,0,.22) !important;
    color:#111 !important;
    text-align:left !important;
}

.footer-info .google-review-top {
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
}

.footer-info .google-g {
    width:46px !important;
    height:46px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-shrink:0 !important;
    background:#fff !important;
    color:#4285F4 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:40px !important;
    font-weight:700 !important;
}

.footer-info .google-review-title {
    color:#555 !important;
    font-size:14px !important;
    line-height:1.2 !important;
}

.footer-info .google-review-rating-row {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:4px 0 !important;
}

.footer-info .google-review-score {
    color:#111 !important;
    font-size:16px !important;
    font-weight:700 !important;
}

.footer-info .google-review-stars {
    color:#fb8c00 !important;
    font-size:17px !important;
    letter-spacing:0 !important;
}

.footer-info .google-review-count {
    color:#666 !important;
    font-size:13px !important;
    line-height:1.2 !important;
}

.footer-info .footer-address {
    display:block !important;
    margin:0 auto 30px !important;
    padding:0 !important;
    width:auto !important;
    max-width:900px !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1.4 !important;
    text-align:center !important;
}

.footer-info .footer-address p {
    margin:0 0 5px !important;
    text-align:center !important;
}

.footer-info .footer-text {
    display:block !important;
    width:auto !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    color:#cfcfcf !important;
    font-size:17px !important;
    line-height:1.6 !important;
    text-align:center !important;
}

footer.footer {
    display:block !important;
    background:#2f2f2f !important;
    color:#fff !important;
    border-top:4px solid #69BE28 !important;
    margin-top:10px !important;
}

footer.footer .footer-inner {
    max-width:1500px !important;
    margin:0 auto !important;
    padding:28px 34px 34px !important;
    text-align:center !important;
    color:#d7d7d7 !important;
    font-size:16px !important;
    line-height:1.4 !important;
}

@media (max-width:760px) {
    .footer-info {
        padding:56px 18px !important;
    }

    .footer-info .footer-title {
        font-size:30px !important;
    }

    .footer-info .footer-hours,
    .footer-info .footer-address {
        font-size:16px !important;
    }

    .footer-info .footer-award {
        font-size:18px !important;
    }

    .footer-info .footer-text {
        font-size:15px !important;
    }
}
