/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* BON TOST Styles */

*, .font-book {
    font-family: "futura-pt", sans-serif !important;
    font-weight: 400;
    font-style: normal;
}

b, .font-bold {
    font-family: "futura-pt-bold", sans-serif !important;
    font-weight: 700;
    font-style: normal;
}

:root {
    --bon-red: #FF1010;
    --border-color: #E6E6E6;
    --border-color: #e0e0e0;
    --border-color: #cbcbcb;
}

html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

::selection {
    background-color: var(--bon-red);
    color: white;
}

::-moz-selection {
    background-color: var(--bon-red);
    color: white;
}

.logo {
    color: var(--bon-red);
    font-size: 50px;
    text-align: center;
    padding: 40px 0;
    box-sizing: border-box;
}

#app {
    max-width: 1150px;
    border-left: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    box-sizing: border-box;
    min-height: 100%;
    margin: 0 auto;
    padding: 0 50px;
    padding-bottom: 50px;
    overflow-x: hidden;
}

.hero {
    position: relative;
    margin-bottom: 50px;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.ribotas-meniu {
    font-size: clamp(30px, 11.5vw, 135px);
    white-space: nowrap;
    color: var(--bon-red);
    text-align: center;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-images {
    width: 100%;
    display: inline-flex;
    flex-direction: column;
}

.image-row {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.image-row:not(:last-child) {
    margin-bottom: 25px;
}

.image-row img {
    flex: 1;
    max-width: calc((100% - (3 * 20px)) / 4);
    background: whitesmoke;
}

.our-menu .image-row {
    margin-bottom: 35px;
}

.our-menu .image-row > * {
    max-width: calc((100% - (2 * 30px)) / 3);
}

.our-menu .image-row .img-wrapper {
    position: relative;
    overflow: hidden;
}

.our-menu .image-row .img-wrapper .caption {
    position: absolute;
    top: 15px;
    left: 15px;
    color: white;
    z-index: 10;
    font-size: 14px;
}

.our-menu .image-row .img-wrapper img {
    height: 100%;
    width: 100%;
    display: block;
    max-width: none;
}

.vision-hero {
    text-align: center;
    color: var(--bon-red);
    font-size: 35px;
    padding: 120px 0;
    border-bottom: 1px solid var(--border-color);
    border-top: 1px solid var(--border-color);
}

.vision {
    font-size: 35px;
    text-align: center;
    margin-bottom: 40px;
}

.contacts-section {
    margin: 0 auto;
    margin-top: 60px;
    width: 100%;
    border: 1.5px solid #FF1010;
    box-shadow: -15px 15px 0 #FF1010;
    background-color: white;
    position: relative;
    display: flex;
    box-sizing: border-box;
    color: #707070;
    font-size: 18px;
    line-height: 130%;
}

.contacts-section h3 {
    font-size: 32px;
    font-weight: 500;
    padding: 0;
    margin-bottom: 25px;
}

.working-hours {
    display: flex;
}

.working-hours .weekdays {
    margin-right: 40px;
}

.contacts-section h4 {
    font-size: 25px;
    font-weight: 500;
    margin-top: 35px;
    margin-bottom: 10px;
}

.left {
    margin-right: 100px;
    flex-shrink: 0;
    padding: 50px;
    padding-right: 0;
}

.right {
    padding: 30px 30px 30px 0;
    width: 100%;
}

.iframe-wrapper {
    background: whitesmoke;
    border: 1px solid var(--bon-red) !important;
    height: 100%;
    width: 100%;
}

iframe.map {
    filter: saturate(0) brightness(101%);
}

.reviews {
    margin-top: 90px;
    border-top: 1px solid var(--border-color);
    padding-top: 65px;
}

.reviews h3 {
    color: var(--bon-red);
    text-align: center;
    font-size: 35px;
    margin-bottom: 80px;
}

.outside-photos {
    margin-top: 80px;
    display: flex;
    position: relative;
    justify-content: space-between;
}

.outside-photos img {
    width: calc(50% - 30px);
    box-shadow: -18px 18px 0 #FF8472;
    outline: solid 5px var(--bon-red);
}

.our-menu {
    padding-left: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    border-bottom: var(--border-color) solid 1px;
}

.our-menu h3 {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
    font-size: 35px;
    color: var(--bon-red);
}

.placeholder {
    border: #dcdcdc 1px solid;
}

.placeholder img {
    background: #f8f8f8 !important;
}

.footer-links {
    margin-top: 50px;
    padding: 80px 0 20px 0;
    border-top: 1px solid var(--border-color);
    text-align: center;
    color: #999;
}

.footer-links h3 {
    color: #999;
    font-size: 18px;
    margin-bottom: 40px;
}

.footer-link {
    color: #999;
    text-decoration: none;
    font-size: 18px;
    transition: all 0.2s ease;
}

.footer-link:hover {
    color: var(--bon-red);
}

.footer-link:hover .link-text {
    text-decoration: underline;
    text-decoration-color: var(--bon-red);
}

.footer-link:not(:last-child)::after {
    content: " / ";
    color: #707070;
    margin: 0 8px;
}

.main-footer {
    margin-top: 20px;
    padding: 30px 0;
    text-align: center;
    color: #999;
    font-size: 16px;
    line-height: 1.6;
}

/* Responsive Design */

@media (max-width: 1100px) {
    .our-menu {
        padding-left: 20px;
        padding-right: 20px;
    }

    .our-menu .image-row {
        margin-bottom: 22px !important;
    }
}

@media (max-width: 880px) {
    #app {
        padding-left: 20px;
        padding-right: 20px;
    }

    .logo {
        font-size: max(5vw, 30px)
    }

    .our-menu {
        padding-left: 10px;
        padding-right: 10px;
    }

    .our-menu .image-row > * {
        max-width: calc((100% - (2 * 20px)) / 3);
    }

    .contacts-section {
        flex-wrap: wrap;
        padding: 30px;
        box-shadow: none;
        gap: 40px;
        border: 1px solid var(--bon-red) !important;
    }

    .right, .left {
        padding: 0;
        box-sizing: border-box;
        box-shadow: -10px 10px 0 #FF1010;
    }

    .left {
        background: #fafafa;
        width: 100%;
        padding: 40px 30px;
        border: 1px solid var(--bon-red);
    }

    .right {
        height: 200px;
    }

    .iframe-wrapper {
        border: 1px solid var(--bon-red) !important;
    }

    .vision-hero p {
        font-size: max(4vw, 20px);
    }

    .vision-hero .vision {
        font-size: max(4vw, 25px);
    }

    .outside-photos {
        padding: 20px;
        margin-top: 50px;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: center;
    }
}

@media (max-width: 800px) {
    .our-menu .image-row .caption {
        position: initial;
        height: 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        left: 0 !important;
        top: 0 !important;
        text-align: center;
        padding: 0 5px;
        box-sizing: border-box;
        text-shadow: red 1px 1px;
    }
}

@media (max-width: 700px) {
    .image-row:not(:last-child) {
        margin-bottom: 15px;
    }

    .vision-hero {
        padding: 100px 0;
    }

    .outside-photos {
        margin-top: 30px;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: center;
    }

    .outside-photos img {
        width: 70%;
    }
}

@media (max-width: 500px) {
    .image-row:not(:last-child) {
        margin-bottom: 15px;
    }

    .vision-hero {
        padding: 65px 0;
    }

    .vision-hero .vision {
        margin-bottom: 30px;
    }

    .vision-hero p {
        font-size: 16px;
    }

    .vision-hero br {
        display: none;
    }

    .contacts-section {
        padding: 5px;
        border: none !important;
        box-shadow: none;
    }

    .outside-photos {
        padding: 10px;
    }

    .outside-photos img {
        width: 100%;
        outline-width: 4px;
        box-shadow: -10px 10px 0 #FF8472;
    }

    .our-menu {
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 40px;
    }

    .our-menu .image-row:not(:last-child) {
        margin-bottom: 8px !important;
    }

    .our-menu .image-row > * {
        max-width: calc((100% - (2 * 5px)) / 3);
        width: 100%;
    }
}
