/* Public site refresh: original brand red, white and charcoal. */
.vv-site { --vv-red:#d00000; --vv-ink:#212529; --vv-line:#e6e8eb; --vv-surface:#f6f7f8; color:#60666d; -webkit-font-smoothing:antialiased; }
.vv-language-switcher { display:inline-flex; gap:8px; align-items:center; font-size:14px; }
.vv-site .vv-language-switcher a { color:#fff; padding:8px 2px; }
.vv-language-switcher a[aria-current] { font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.vv-language-switcher span { color:#fff; }
.vv-site :is(h1,h2,h3) { letter-spacing:-.035em; line-height:1.18; }
.vv-site p { font-size:16px; line-height:1.85; }
.vv-site :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--vv-red) !important; outline-offset:4px; }
.vv-site .header-area { position:sticky; top:0; background:#fff; box-shadow:0 4px 24px #2125290d; }
.vv-site .top-header { background:var(--vv-ink); padding:8px 0; }
.vv-site :is(.navbar-area,.desktop-nav) { background:#fff; }
.vv-site .desktop-nav .navbar { padding:14px 0; }
.vv-site .desktop-nav .navbar-brand img { width:210px; }
.vv-site .desktop-nav .navbar .navbar-nav .nav-item > a { color:var(--vv-ink); font-size:14px; font-weight:600; }
.vv-site .desktop-nav .navbar .navbar-nav .nav-item > a:hover { color:var(--vv-red); }
.vv-site .desktop-nav .navbar .navbar-nav .nav-item .dropdown-menu { border:1px solid var(--vv-line); border-radius:12px; box-shadow:0 16px 45px #2125291a; }
.vv-site .navbar-nav > .nav-item > a[href$='/freequote'] { background:var(--vv-red); color:#fff !important; padding:12px 16px; border-radius:8px; }
.vv-site .others-options .search-btn { color:var(--vv-ink); }
.vv-site .default-btn { background:var(--vv-red); color:#fff; border-radius:8px; padding:15px 26px; font-weight:700; font-size:15px; box-shadow:0 6px 16px #d000001a; transition:background .2s,transform .2s; }
.vv-site .default-btn:hover { background:#a90000; color:#fff; transform:translateY(-2px); }
.vv-site .default-btn::before,.vv-site .default-btn::after { display:none; }
.vv-site .read-more { font-weight:700; color:var(--vv-red); }
.vv-site .ptb-100 { padding-block:80px; }
.vv-site .pt-100 { padding-top:80px; }
.vv-site .pb-70 { padding-bottom:50px; }
.vv-site .section-title { max-width:720px; margin-bottom:44px; }
.vv-site .section-title h2 { font-size:clamp(28px,3.3vw,42px); }
.vv-site .page-title-area { padding:64px 0; background-color:var(--vv-surface); border-bottom:1px solid var(--vv-line); }
.vv-site .page-title-area::before { background:linear-gradient(100deg,#fff 25%,#ffffffdd); opacity:1; }
.vv-site .page-title-area .page-title-content { text-align:left; }
.vv-site .page-title-area .page-title-content::before { content:''; display:block; width:44px; height:4px; border-radius:3px; background:var(--vv-red); margin-bottom:22px; }
.vv-site .page-title-area .page-title-content h1 { font-size:clamp(30px,4vw,48px); max-width:850px; margin-bottom:18px; }
.vv-site .page-title-content ul li { font-size:14px; }
.vv-site .banner-area-style-three { position:relative; isolation:isolate; height:auto; min-height:580px; padding:90px 0; background:var(--vv-ink); }
.vv-site .banner-area-style-three > .background-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.vv-site .banner-area-style-three::before { position:absolute; inset:0; content:''; background:linear-gradient(90deg,#14181de8 0%,#14181daa 58%,#14181d30 100%); opacity:1; z-index:-1; }
.vv-site .banner-area-style-three .banner-content { text-align:left; max-width:760px; margin:0; }
.vv-site .banner-content > span { color:#fff; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; margin-bottom:24px; display:inline-block; border-left:3px solid var(--vv-red); padding-left:14px; }
.vv-site .banner-area-style-three .banner-content h1 { color:#fff; font-size:clamp(36px,4.7vw,64px); line-height:1.08; margin-bottom:24px; }
.vv-site .banner-area-style-three .banner-content p { color:#e4e7eb; max-width:610px; font-size:18px; margin-bottom:28px; }
.vv-site .banner-btn { display:flex; flex-wrap:wrap; align-items:center; gap:18px; }
.vv-site .vv-secondary-btn { background:transparent; display:inline-flex; align-items:center; min-height:50px; padding:12px 22px; border:1px solid #ffffff70; border-radius:8px; color:#fff; font-weight:600; order:2; }
.vv-site .vv-secondary-btn:hover { background:#fff; color:var(--vv-ink); }
.vv-site .services-area-style-two { background:var(--vv-surface); }
.vv-site .single-services-box.white-bg { height:calc(100% - 30px); background:#fff; padding:32px; border:1px solid var(--vv-line); border-radius:14px; box-shadow:0 5px 18px #21252905; transition:transform .2s,box-shadow .2s; }
.vv-site .single-services-box.white-bg::before,.vv-site .single-services-box.white-bg::after { display:none; }
.vv-site .single-services-box.white-bg:hover { transform:translateY(-4px); box-shadow:0 14px 32px #2125290d; }
.vv-site .single-services-box.white-bg > span { color:var(--vv-red); background:#fff2f2; border-radius:12px; width:66px; height:66px; line-height:66px; font-size:34px; }
.vv-site .single-services-box.white-bg h3 { font-size:23px; margin:22px 0 16px; }
.vv-site .single-services-box.white-bg h3 a { color:var(--vv-ink); }
.vv-site .single-services-box.white-bg p { color:#60666d; }
.vv-site .single-services-box.white-bg .read-more { color:var(--vv-red); }
.vv-site :is(.about-img img,.blog-details-img img,.single-project,.single-team) { border-radius:14px; }
.vv-site .blog-details-content .blog-top-content { padding:30px; border:1px solid var(--vv-line); border-radius:14px; margin-top:24px; background:#fff; }
.vv-site .widget-sidebar { border-radius:12px; border:1px solid var(--vv-line); box-shadow:none; }
.vv-site :is(.contact-area,.get-free-quote-area) { background:var(--vv-surface); }
.vv-site :is(.contact-form,.contact-info,.choose-us-from-bg) { background:#fff; border:1px solid var(--vv-line); border-radius:16px; padding:clamp(24px,3vw,42px); box-shadow:0 12px 36px #21252906; }
.vv-site .choose-us-from-bg::before { display:none; }
.vv-site .choose-us-from-bg { max-width:820px; margin-inline:auto; }
.vv-site :is(.contact-form,.contact-info,.choose-us-from-bg) h2 { color:var(--vv-ink); font-size:28px; margin-bottom:26px; }
.vv-site :is(.contact-form,.choose-us-from-bg) label { color:var(--vv-ink); font-size:14px; line-height:1.6; }
.vv-site .form-group { margin-bottom:20px; }
.vv-site .form-control,.vv-site .choose-us-from-bg .form-group .form-control,.vv-site .form-select { border:1px solid #d9dde1; border-radius:8px; background-color:#fafbfc; color:var(--vv-ink); min-height:52px; }
.vv-site .choose-us-from-bg .form-group .form-control::placeholder { color:#687078; }
.vv-site .choose-us-from-bg .form-group i { color:var(--vv-red); }
.vv-site .form-control:focus,.vv-site .form-select:focus { border-color:var(--vv-red); background:#fff; box-shadow:0 0 0 3px #d000000d; }
.vv-site textarea.form-control { height:auto; min-height:140px; }
.vv-site .form-check { margin-block:18px; }
.vv-site .form-check-input:checked { background-color:var(--vv-red); border-color:var(--vv-red); }
.vv-site .contact-info { margin-bottom:24px; }
.vv-site .map-area { overflow:hidden; border-radius:14px; border:1px solid var(--vv-line); }
.vv-site .map-area iframe { display:block; width:100%; }
.vv-site .footer-area { background:#212529; border-top:4px solid var(--vv-red); }
.vv-site .single-footer-widget h3 { font-size:20px; letter-spacing:-.02em; }
.vv-site .single-footer-widget .logo { display:inline-block; background:#fff; padding:18px; border-radius:10px; }
.vv-site .copy-right-area { border-top:1px solid #ffffff14; }
@media (max-width:1199px) and (min-width:992px) {
  .vv-site .desktop-nav .navbar-brand img { width:160px; }
  .vv-site .desktop-nav .navbar .navbar-nav .nav-item a { margin-inline:8px; font-size:13px; }
}
@media (max-width:991px) {
  .vv-site .header-area { position:relative; }
  .vv-site .mobile-responsive-nav { padding:14px 0; }
  .vv-site .mobile-responsive-nav .logo img { max-width:185px; }
  .vv-site .banner-area-style-three { min-height:510px; padding:64px 0; }
  .vv-site .page-title-area { padding:44px 0; }
  .vv-site .contact-form { margin-bottom:24px; }
}
@media (max-width:575px) {
  .vv-site .ptb-100 { padding-block:52px; }
  .vv-site .pt-100 { padding-top:52px; }
  .vv-site .pb-70 { padding-bottom:22px; }
  .vv-site .banner-area-style-three { min-height:480px; padding:52px 0; }
  .vv-site .banner-area-style-three .banner-content p { font-size:16px; }
  .vv-site .banner-btn { gap:12px; }
  .vv-site .banner-btn a { text-align:center; justify-content:center; }
  .vv-site .single-services-box.white-bg { padding:26px; }
  .vv-site .blog-details-content .blog-top-content { padding:22px; }
  .vv-site .contact-form .row { --bs-gutter-x:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .vv-site *,.vv-site *::before,.vv-site *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Override the original transparent-home navigation and decorative logo block. */
.vv-site .navbar-area .navbar-brand::before { display:none; }
.vv-site .navbar-area.navbar-area-style-three .desktop-nav .navbar .navbar-nav .nav-item > a { color:var(--vv-ink); }
.vv-site .navbar-area.navbar-area-style-three .desktop-nav .navbar .navbar-nav .nav-item > a:hover { color:var(--vv-red); }
.vv-site .navbar-area.navbar-area-style-three .desktop-nav .navbar .others-options ul li .search-btn i { color:var(--vv-ink); }
.vv-site .navbar-area.is-sticky { position:relative; animation:none; background:#fff !important; }
.vv-site .top-header :is(.header-left-content li span,.header-left-content li a i,.languages-switcher,.languages-switcher i,.languages-switcher select) { color:#fff; }
.vv-site .top-header .header-left-content { padding-left:0; }
@media (min-width:768px) { .vv-site .container { padding-inline:28px; } }
@media (max-width:991px) {
  .vv-site .navbar-area.navbar-area-style-three,
  .vv-site .navbar-area.navbar-area-style-three.is-sticky,
  .vv-site .mobile-responsive-nav { background:#fff !important; }
  .vv-site .navbar-area.is-sticky { padding-block:0; }
  .vv-site .mobile-responsive-nav .mean-container a.meanmenu-reveal { color:#d00000; }
  .vv-site .mobile-responsive-nav .mean-container a.meanmenu-reveal span { background:#d00000; }
  .vv-site .others-options-for-mobile-devices { display:none; }
}
.vv-product-guide { background:#f6f7f8; border-top:1px solid #e6e8eb; }
.vv-product-guide h2 { margin-bottom:28px; font-size:clamp(26px,3vw,36px); }
.vv-product-guide details { border-bottom:1px solid #d9dde1; padding:18px 0; margin-bottom:12px; }
.vv-product-guide summary { font-weight:700; color:#212529; cursor:pointer; }
.vv-product-guide details p { margin:14px 0 0; }
.vv-product-guide .default-btn { margin-top:20px; }
.vv-related { padding:28px; border:1px solid #e6e8eb; border-radius:14px; background:#fff; }
.vv-related h3 { font-size:23px; }
.vv-related ul { list-style:none; padding:0; margin:20px 0 0; }
.vv-related li + li { border-top:1px solid #e6e8eb; }
.vv-related a { display:flex; justify-content:space-between; gap:12px; padding:16px 0; color:#a90000; font-weight:600; }
.vv-site #vv-video-toggle[hidden] { display:none; }
.vv-site .banner-content[data-cues] { opacity:1; }
.vv-product-guide > .container .read-more { display:inline-block; margin-top:16px; white-space:nowrap; }

/* Homepage composition: full-height video and transparent navigation. */
.vv-site .vv-field-label { display:block; color:var(--vv-ink); font-weight:600; margin-bottom:6px; }
.vv-site .choose-us-from-bg .form-group > i { top:auto; bottom:18px; }
.vv-site :focus-visible { outline:3px solid #0076b8; outline-offset:4px; }
.vv-skip-link { position:fixed; top:8px; left:8px; transform:translateY(-160%); z-index:10000; padding:12px 20px; background:#fff; color:#a90000; }
.vv-skip-link:focus { transform:none; }
.vv-site button.burger-menu,.vv-site button.sidebar-modal-close-btn { border:0; }
.vv-site .navbar-nav .nav-item:focus-within > .dropdown-menu { opacity:1; visibility:visible; top:100%; }
.vv-site .footer-area .closed { color:#ffb3b3; }
.vv-site .form-control::placeholder { color:#62676d; opacity:1; }
.vv-site .mean-container .mean-nav ul li a { min-height:44px; }
.vv-site .single-counter h3 { font-size:18px; }
.vv-site.vv-home .header-area { position:absolute; inset:0 0 auto; background:transparent; box-shadow:none; }
.vv-site.vv-home .top-header,
.vv-site.vv-home .navbar-area,
.vv-site.vv-home .navbar-area.navbar-area-style-three,
.vv-site.vv-home .desktop-nav,
.vv-site.vv-home .mobile-responsive-nav { background:transparent !important; }
.vv-site.vv-home .header-area .container { max-width:1240px; }
.vv-site.vv-home .top-header { border-bottom:1px solid #ffffff20; }
.vv-site.vv-home .desktop-nav .navbar { padding-block:16px; }
.vv-site.vv-home .navbar-area.navbar-area-style-three .desktop-nav .navbar .navbar-nav > .nav-item > a,
.vv-site.vv-home .navbar-area.navbar-area-style-three .desktop-nav .navbar .others-options ul li .search-btn i { color:#fff; }
.vv-site.vv-home .navbar-nav > .nav-item > a[href$='/freequote'] { background:transparent; padding:0; }
.vv-site.vv-home .banner-area-style-three { min-height:100vh; min-height:100svh; display:flex; align-items:center; padding:180px 0 90px; }
.vv-site.vv-home .banner-area-style-three::before { background:rgba(15,20,24,.66); }
.vv-site.vv-home .banner-area-style-three .banner-content { max-width:800px; margin-inline:auto; text-align:center; }
.vv-site.vv-home .banner-content > span { border:0; padding:0; margin-bottom:18px; font-size:15px; font-weight:500; text-transform:none; letter-spacing:0; }
.vv-site.vv-home .banner-area-style-three .banner-content h1 { font-size:clamp(38px,5vw,70px); line-height:1.12; margin-bottom:30px; }
.vv-site.vv-home .banner-area-style-three .banner-content p { margin:0 auto 28px; max-width:670px; font-size:17px; line-height:1.8; color:#fff; }
.vv-site.vv-home .banner-btn { justify-content:center; }
.vv-site.vv-home .banner-btn .default-btn { border-radius:0; padding:16px 34px; }
.vv-site.vv-home .vv-video-control { position:absolute; bottom:18px; right:22px; z-index:2; padding:7px 12px; background:#15191dcc; color:#fff; border:1px solid #ffffff60; border-radius:4px; font-size:12px; }
.vv-site.vv-home .vv-video-control[hidden] { display:none; }
@media(max-width:991px) {
 .vv-site.vv-home .mobile-responsive-nav .mean-container a.meanmenu-reveal { color:#fff; }
 .vv-site.vv-home .mobile-responsive-nav .mean-container a.meanmenu-reveal span { background:#fff; }
 .vv-site.vv-home .banner-area-style-three { padding:190px 0 80px; }
 .vv-site.vv-home .navbar-nav > .nav-item > a[href$='/freequote'] { background:#d00000; padding:12px 16px; }
}
@media(max-width:575px) {
 .vv-site.vv-home .banner-area-style-three .banner-content h1 { font-size:38px; }
 .vv-site.vv-home .banner-area-style-three .banner-content p { font-size:15px; }
}
