@keyframes blockSlideOutDown {
    0% {
        top: -92px;
        opacity: 0;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}


body {
    background-color: #fff;
    color: #5b5b5b;
}

.h1, h1 {
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 700;
}

.h2, h2 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.7rem;
}

a {
    color: #d43823;
}

.header-top {
    background: #c5c6c6;
    font-size: .8rem;
}
.header-top a {
    color: #fff;
    text-decoration: none;
}
.header-top a:hover{
    color: #D43823;
    text-decoration: none;
}
.header-top .tel-num{
    font-size: .9rem;
}


@media (max-width: 767.98px) {
    .header-top .row {
        row-gap: 8px;
    }
    .header-top .header-phone a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
    }
    .header-top .tel-num {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 1rem;
        line-height: 1.4;
    }
    .header-top .header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .header-top .header-actions a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 44px;
        margin: 0 !important;
        padding: 8px 4px;
        border: 1px solid rgba(255, 255, 255, .55);
        border-radius: 6px;
        font-size: .75rem;
        line-height: 1.4;
        text-align: center;
    }
    .header-top svg {
        flex-shrink: 0;
        width: .9rem;
    }
}



.navbar-brand {
    padding: 0;
}
.navbar-light .navbar-nav .nav-link {
    color: #5b5b5b;
    text-decoration: none;
    font-size: 1rem;
    text-transform: uppercase;
}
.navbar-light .navbar-nav .nav-link:hover {
    color: #D43823;
    text-decoration: none;
}


.u-list {
    font-size: 1.3rem;
    font-weight: 700;
}

.navbar {
    -webkit-box-shadow: 0px 7px 7px 0px rgba(0,0,0,0.28);
    -moz-box-shadow: 0px 7px 7px 0px rgba(0,0,0,0.28);
    -ms-box-shadow: 0px 7px 7px 0px rgba(0,0,0,0.28);
    -o-box-shadow: 0px 7px 7px 0px rgba(0,0,0,0.28);
    box-shadow: 0px 7px 7px 0px rgba(0,0,0,0.28);
}
.navbar-fixed {
    -webkit-animation: blockSlideOutDown .5s;
    animation: blockSlideOutDown .5s;
}




footer {
    background: #ececec;
}
.footer-menu {
    /*background: #3d4b53;*/
}

.footer-menu .h6 {
    color: #5b5b5b;
    text-transform: uppercase;
}
.footer-menu ul {
    border-top: #c0c0c0 1px solid;
}
.footer-menu ul li {
    margin-bottom: .5rem;
    line-height: 1.2rem;
}
.footer-menu a {
    font-size: .8rem;
    color: #5b5b5b;
    text-decoration: none;
}
.footer-menu a:hover {
    color: #D43823;
    text-decoration: none;
}
.footer-bottom {
    /*background: #2f3b42;*/
}

.footer-bottom a {
    color: #5b5b5b;
    text-decoration: none;
}
.footer-bottom a:hover {
    color: #D43823;
    text-decoration: none;
}
.footer-bottom {
    font-size: .8rem;
    color: #5b5b5b;
    border-top: #c0c0c0 1px solid;
}

.footer-bottom .copy {
    white-space: nowrap;
}

.social {
    margin: 0;
    font-size: 1.5rem;

}
.social li a {
    color: #5b5b5b;
}
.social li a:hover {
    color: #D43823;
}

.nav-left {
    background-image: url("../img/menu-shadow.d808cd21fc7c.png");
    background-repeat: repeat-y;
    background-position: right 0;
    border-top: #2B2A29 3px solid;
    border-bottom: #2B2A29 1px solid;
}
.nav-left a {
    border-top: #5B5B5B 1px solid;
    color: #5b5b5b;
}
.nav-left a:first-child {
    border-top: none;
}
.nav-left a:hover {
    background-color: #ececec;
    color: #5b5b5b;
}
.nav-left a.active {
    background-color: #ececec;
}

.card {
    border: none;
    border-radius: 0;
    overflow: hidden;
    background-color: #333;
}
.card a {
    color: #fff;
}
.card a:hover {
    color: #D43823;
}


.card img {
 -moz-transition: all 0.3s ease-out;
 -o-transition: all 0.3s ease-out;
 -webkit-transition: all 0.3s ease-out;
 }

.card img:hover {
 -webkit-transform: scale(1.05);
 -moz-transform: scale(1.05);
 -o-transform: scale(1.05);
 }

.card-img-top {
    border-radius: 0;
}

.card-img-overlay {
    top: auto;
    background: linear-gradient(to bottom,transparent 0,#000 100%);
    padding: 1rem;
    text-transform: uppercase;
}
.card-body {
    padding: 0;
}
.card-title {
    margin-bottom: 0;
}

.breadcrumb li {
    font-size: 80%;
}
.breadcrumb li a {
    color: #5b5b5b;
}
.breadcrumb li a:hover {
    color: #d43823;
    text-decoration: none;
}

.plus-img {
    background: #d2202baa;
    color: #fff;
}
.plus-img svg {
    height: 4rem;
}

:root { --bs-body-color: #5b5b5b; --bs-link-color: #d43823; --bs-link-hover-color: #d43823; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn,
.btn:hover,
.btn:focus,
.btn:active { text-decoration: none; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { line-height: 1.2; }
h1,.h1 { font-size: 2rem; }
h2,.h2 { font-size: 2rem; }
h3,.h3 { font-size: 1.75rem; }
h4,.h4 { font-size: 1.5rem; }
h5,.h5 { font-size: 1.25rem; }
h6,.h6 { font-size: 1rem; }
.container, .row { --bs-gutter-x: 30px; }
@media(min-width:1200px) { .container { max-width:1140px; } }
.breadcrumb { padding: .75rem 0; margin-bottom: 0; }
.text-justify { text-align: justify; }
.btn-danger { --bs-btn-bg:#d2202b; --bs-btn-border-color:#d2202b; }
.gallery-dialog { border:0; padding:0; max-width:95vw; max-height:95vh; max-height:95dvh; background:#111; border-radius:.5rem; box-shadow:0 1rem 4rem rgba(0,0,0,.4); }
.gallery-dialog::backdrop { background:rgba(0,0,0,.85); }
.gallery-dialog img { display:block; max-width:95vw; max-height:95vh; max-height:95dvh; object-fit:contain; }
.gallery-control { position:absolute; z-index:1; display:grid; place-items:center; width:44px; height:44px; padding:0; margin:0; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:#222; box-shadow:0 2px 12px rgba(0,0,0,.3); cursor:pointer; transition:background-color .15s,color .15s; }
.gallery-control:hover { background:#8b111d; color:#fff; }
.gallery-control:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 5px #8b111d; }
.gallery-control svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.gallery-control--prev { left:12px; top:50%; transform:translateY(-50%); }
.gallery-control--next { right:12px; top:50%; transform:translateY(-50%); }
.gallery-control--close { right:12px; top:12px; }
.contact-dialog { width:calc(100% - 2rem); max-width:560px; max-height:calc(100vh - 2rem); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:12px; background:#fff; color:#5b5b5b; box-shadow:0 1rem 4rem rgba(0,0,0,.3); }
.contact-dialog::backdrop { background:rgba(0,0,0,.65); }
.contact-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; border-bottom:1px solid #e5e5e5; }
.contact-dialog-header h2 { margin:0; font-size:1.5rem; }
.contact-dialog-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f2f2f2; color:#333; cursor:pointer; }
.contact-dialog-close svg { display:block; width:24px; height:24px; }
.contact-dialog-close:hover { background:#8b111d; color:#fff; }
.contact-dialog-close:focus-visible { outline:3px solid #8b111d; outline-offset:2px; }
.contact-dialog-body { padding:1.5rem; }
.contact-dialog-body .btn-primary { width:100%; }
.contact-dialog-body .btn-primary,
.quote-section .btn-primary {
    --bs-btn-bg:#8b111d;
    --bs-btn-border-color:#8b111d;
    --bs-btn-hover-bg:#6b0d16;
    --bs-btn-hover-border-color:#6b0d16;
    --bs-btn-active-bg:#6b0d16;
    --bs-btn-active-border-color:#6b0d16;
    --bs-btn-focus-shadow-rgb:139,17,29;
}
.contact-dialog-body .errorlist { padding-left:1.25rem; color:#b42318; }
.contact-dialog-open { overflow:hidden; }
@media(max-width:575px) { .contact-dialog-header { padding:1rem; } .contact-dialog-body { padding:1rem; } }
[hidden] { display:none !important; }
.privacy-banner { position:fixed; bottom:16px; left:16px; right:16px; z-index:1060; max-width:880px; margin:auto; padding:1.25rem 1.5rem; max-height:75vh; max-height:75dvh; overflow:auto; background:#fff; color:#333; border:1px solid #ddd; border-radius:12px; box-shadow:0 8px 40px rgba(0,0,0,.25); }
.privacy-banner h2 { margin:0 0 .6rem; font-size:1.25rem; }
.privacy-banner p { font-size:.9rem; margin-bottom:.75rem; }
.privacy-options { display:grid; gap:.6rem; margin-bottom:.75rem; }
.privacy-options label { display:flex; gap:.5rem; align-items:flex-start; font-size:.9rem; cursor:pointer; }
.privacy-options input { flex-shrink:0; width:18px; height:18px; margin-top:3px; accent-color:#8b111d; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.privacy-settings-link { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
.external-placeholder { padding:1rem; border:1px solid #ddd; border-radius:8px; background:#fafafa; }
.legal-page { overflow-wrap:anywhere; }
.legal-page h2 { font-size:1.35rem; margin-top:1.5rem; }
.legal-page table { font-size:.9rem; }
@media(max-width:575px) { .privacy-banner { left:8px; right:8px; bottom:8px; padding:1rem; max-height:70dvh; } .privacy-actions .btn { flex:1 1 auto; font-size:.85rem; } .legal-page table { display:block; overflow-x:auto; } }


.html-sitemap .sitemap-list {
    padding-left: 1.25rem;
    margin-bottom: 0;
}
.html-sitemap .sitemap-list li {
    margin-top: .4rem;
    overflow-wrap: anywhere;
}
.html-sitemap .sitemap-list a {
    display: inline-block;
    padding: .2rem 0;
}
