/* =========================================================
   VVR ROOFINGS — XEONE THEME VISUAL OVERRIDE
   Add this file AFTER plugins.css and style.css
   <link rel="stylesheet" href="css/vvr-roofings-custom.css">
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --vvr-navy:#06265b;
  --vvr-navy-2:#031d49;
  --vvr-gold:#d99a2b;
  --vvr-gold-2:#efb545;
  --vvr-ink:#132443;
  --vvr-text:#5f6878;
  --vvr-line:#e8ebf0;
  --vvr-soft:#f7f8fa;
  --vvr-white:#ffffff;
  --vvr-shadow:0 12px 35px rgba(5,37,88,.10);
  --vvr-radius:9px;
}

html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--vvr-text);
  background:#fff;
  font-size:14px;
  line-height:1.7;
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6,
.navbar-nav .nav-link,
.button{
  font-family:'Barlow Condensed',sans-serif;
}

h1,h2,h3,h4,h5,h6{color:var(--vvr-ink);font-weight:700;}
a{color:inherit;}
img{max-width:100%;}
.container{max-width:1180px;}
.padding{padding:76px 0;}
.padding_top{padding-top:76px;}
.padding_bottom{padding-bottom:76px;}
.padding_top_half{padding-top:42px;}
.padding_half{padding:42px 0;}
.bglight{background:#fff!important;}
.gradient_bg,.gradient_bg_default{background:var(--vvr-navy)!important;}
.defaultcolor{color:var(--vvr-gold)!important;}
.darkcolor{color:var(--vvr-ink)!important;}

/* ---------- Preloader ---------- */
.loader{background:#fff;}
.loader .loader-blocks span{background:var(--vvr-gold)!important;}

/* ---------- Header ---------- */
.site-header{
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:999;
}
.site-header .navbar{
  min-height:88px;
  padding:8px 0;
  background:rgba(255,255,255,.98)!important;
  box-shadow:none;
  border-bottom:1px solid rgba(0,0,0,.035);
}
.site-header .navbar.fixedmenu{
  position:fixed!important;
  top:0;
  width:100%;
  min-height:72px;
  background:#fff!important;
  box-shadow:0 8px 30px rgba(3,29,73,.08);
}
.navbar-brand{padding:0;display:flex;align-items:center;}
.navbar-brand img{width:185px;max-height:68px;object-fit:contain;}
.navbar-nav{align-items:center;gap:4px;}
.navbar-nav .nav-item{margin:0;}
.navbar-nav .nav-link{
  position:relative;
  padding:31px 12px!important;
  color:var(--vvr-navy)!important;
  font-size:13px;
  line-height:1;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.25px;
}
.navbar-nav .nav-link::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:21px;
  height:2px;
  background:var(--vvr-gold);
  transform:scaleX(0);
  transition:.25s ease;
}
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-link:hover{color:var(--vvr-gold)!important;}
.navbar-nav .nav-item.active .nav-link::after,
.navbar-nav .nav-link:hover::after{transform:scaleX(1);}

/* XeOne side-menu icon becomes quote button on desktop */
.sidemenu_btn{
  width:auto!important;
  height:42px!important;
  margin-left:16px!important;
  padding:0 17px!important;
  border-radius:6px;
  background:var(--vvr-navy);
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
}
.sidemenu_btn::before{
  content:"☎  GET A QUOTE";
  color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
}
.sidemenu_btn span{display:none!important;}
.sidemenu_btn:hover{background:var(--vvr-gold);}
.side-menu{background:var(--vvr-navy-2)!important;}
.side-menu .nav-link{color:#fff!important;}
.side-menu .nav-link:hover{color:var(--vvr-gold)!important;}

.navbar-toggler{border:0;padding:8px;margin-right:4px;}
.navbar-toggler span{background:var(--vvr-navy)!important;height:2px!important;}

/* ---------- Hero / Revolution Slider ---------- */
#revo_main_wrapper,
#rev_arrows,
#rev_arrows .rev_slider,
#rev_arrows .tp-revslider-mainul,
#rev_arrows .tp-revslider-slidesli{
  min-height:620px!important;
}
#revo_main_wrapper{margin-top:0!important;background:#f7f9fc!important;}
#rev_arrows .rev-slidebg{filter:saturate(.98) contrast(1.02);}
#rev_arrows .tp-bgimg::after,
#rev_arrows li::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 31%,rgba(255,255,255,.35) 55%,rgba(255,255,255,0) 78%);
  z-index:1;
}
#rev_arrows .tp-caption{z-index:5!important;text-align:left!important;}
#rev_arrows .tp-caption h1,
#rev_arrows .tp-caption h4{
  text-align:left!important;
  color:var(--vvr-navy)!important;
  text-shadow:none!important;
}
#rev_arrows .tp-caption h1{
  font-family:'Barlow Condensed',sans-serif;
  font-size:54px!important;
  line-height:.98!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  max-width:520px;
}
#rev_arrows .tp-caption:nth-of-type(2) h1{color:var(--vvr-gold)!important;}
#rev_arrows .tp-caption h4{
  font-family:'Inter',sans-serif;
  font-size:15px!important;
  line-height:1.75!important;
  font-weight:400!important;
  max-width:470px;
  white-space:normal!important;
  color:#4b5565!important;
}
.tp-leftarrow,.tp-rightarrow{
  width:38px!important;height:38px!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid #d8dde6!important;
  box-shadow:0 5px 15px rgba(0,0,0,.08);
}
.tp-leftarrow::before,.tp-rightarrow::before{color:var(--vvr-navy)!important;font-size:15px!important;line-height:36px!important;}
.tp-bullets .tp-bullet{width:8px!important;height:8px!important;border-radius:50%;background:#fff!important;border:1px solid rgba(6,38,91,.35);}
.tp-bullets .tp-bullet.selected{background:var(--vvr-navy)!important;border-color:var(--vvr-navy)!important;}

/* ---------- Global headings ---------- */
.heading-title span{
  display:block;
  color:var(--vvr-gold)!important;
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;
  font-size:13px;
  line-height:1.2;
  letter-spacing:.5px;
  font-weight:700;
  margin-bottom:5px;
}
.heading-title h2{
  font-size:38px;
  line-height:1.05;
  font-weight:700;
  color:var(--vvr-navy)!important;
  margin-bottom:16px;
}
.heading-title h2::after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin-top:15px;
  background:var(--vvr-gold);
}
.text-center .heading-title h2::after,
.heading-title.text-center h2::after{margin-left:auto;margin-right:auto;}
.heading-title p{max-width:690px;margin-left:auto;margin-right:auto;}

/* ---------- Buttons ---------- */
.button,
.btnprimary,
.btnsecondary{
  min-width:0!important;
  padding:13px 24px!important;
  border-radius:5px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.4px;
  text-transform:uppercase;
  box-shadow:none!important;
  border:1px solid transparent!important;
  background:var(--vvr-navy)!important;
  color:#fff!important;
}
.button::after{content:"  →";}
.button:hover,.btnprimary:hover,.btnsecondary:hover{background:var(--vvr-gold)!important;color:#fff!important;}

/* ---------- Intro services under slider ---------- */
body > .container:first-of-type{margin-top:0;padding-top:0;padding-bottom:0;}
#services-slider{
  margin-top:-4px;
  padding:30px 0 18px;
  background:#fff;
}
#services-slider .owl-stage{display:flex;}
#services-slider .owl-item{display:flex;}
#services-slider .item{width:100%;padding:8px;}
.service-box{
  height:100%;
  min-height:175px;
  padding:24px 17px;
  text-align:left;
  border:1px solid var(--vvr-line);
  border-radius:var(--vvr-radius);
  background:#fff;
  box-shadow:none;
  transition:.25s ease;
}
.service-box:hover{transform:translateY(-5px);box-shadow:var(--vvr-shadow);border-color:rgba(217,154,43,.45);}
.service-box > span{margin-bottom:15px!important;display:block;color:var(--vvr-navy)!important;font-size:35px;}
.service-box h4{font-size:16px;line-height:1.2;text-transform:uppercase;color:var(--vvr-navy);margin-bottom:9px!important;}
.service-box h4 a{color:inherit!important;}
.service-box p{font-size:12px;line-height:1.6;color:#6c7380;margin:0;}
#services-slider .owl-dots{display:none;}

/* ---------- About / feature section ---------- */
#our-feature{padding:74px 0 64px!important;background:#fff;}
#our-feature .row{align-items:center;}
#our-feature .col-md-6:first-child{order:2;padding-left:45px;}
#our-feature .col-md-6:last-child{order:1;}
#our-feature .image{margin:0!important;position:relative;}
#our-feature .image::after{
  content:"";
  position:absolute;
  right:-9px;top:16px;bottom:16px;
  width:4px;background:var(--vvr-gold);
  transform:skew(-11deg);
}
#our-feature .image img{
  width:100%;height:340px;object-fit:cover;
  border-radius:var(--vvr-radius);
  box-shadow:var(--vvr-shadow);
}
#our-feature .heading_space{margin-bottom:20px!important;}
#our-feature p{font-size:13px;line-height:1.85;color:#646c79;}

/* ---------- Process becomes dark benefits strip ---------- */
#our-process{padding:34px 0!important;background:var(--vvr-navy)!important;}
#our-process .heading-title{display:none;}
.process-wrapp{display:grid!important;grid-template-columns:repeat(5,1fr);gap:0;width:100%;margin:0!important;}
.process-wrapp li{
  width:auto!important;
  padding:8px 22px!important;
  min-height:120px;
  border-right:1px solid rgba(255,255,255,.22);
  text-align:center;
}
.process-wrapp li:last-child{border-right:0;}
.process-wrapp li::before,.process-wrapp li::after{display:none!important;}
.process-wrapp .pro-step{
  border:0!important;
  width:auto!important;height:auto!important;
  line-height:1!important;
  display:block!important;
  color:var(--vvr-gold)!important;
  background:transparent!important;
  font-family:'Barlow Condensed',sans-serif;
  font-size:34px!important;
  font-weight:700;
  margin-bottom:7px!important;
}
.process-wrapp .fontbold{font-size:14px;line-height:1.2;margin-bottom:7px!important;text-transform:uppercase;}
.process-wrapp li p:last-child{font-size:11px;line-height:1.45;color:rgba(255,255,255,.72);}

/* ---------- Team section repurposed as clean card section ---------- */
#our-team{padding:72px 0!important;background:#fff!important;}
#our-team .heading_space{margin-bottom:28px!important;}
.team-box{border-radius:var(--vvr-radius);overflow:hidden;box-shadow:0 6px 25px rgba(6,38,91,.10);background:#fff;}
.team-box .image img{height:310px;object-fit:cover;}
.team-box .team-content{background:var(--vvr-navy)!important;padding:24px!important;}
.team-box .team-content h3{font-size:22px;color:#fff;}
.team-box .team-content p{color:rgba(255,255,255,.7);}
.progress-bar{background:var(--vvr-gold)!important;}

/* ---------- Video section ---------- */
#video-bg{padding:64px 0!important;background:var(--vvr-soft);}
#video-bg .row{align-items:center;}
#video-bg .heading-title{padding-bottom:0!important;}
#video-bg .image{border-radius:var(--vvr-radius);overflow:hidden;box-shadow:var(--vvr-shadow);}
.button-play{background:var(--vvr-gold)!important;color:#fff!important;}

/* ---------- Gallery / Projects ---------- */
#portfolio-xe{padding:72px 0 64px!important;background:#fff!important;}
#portfolio-xe .heading-title p{margin-bottom:20px!important;}
#flat-filters{display:none!important;}
#flat-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  height:auto!important;
}
#flat-gallery .cbp-item{
  position:relative!important;
  top:auto!important;left:auto!important;
  width:100%!important;
  height:220px!important;
  transform:none!important;
  border-radius:7px;
  overflow:hidden;
  box-shadow:none;
}
#flat-gallery .cbp-item img{width:100%;height:100%;object-fit:cover;transition:.4s ease;}
#flat-gallery .cbp-item:hover img{transform:scale(1.055);}
#flat-gallery .overlay{background:linear-gradient(to top,rgba(3,29,73,.82),rgba(3,29,73,0) 65%)!important;opacity:0;transition:.3s ease;}
#flat-gallery .cbp-item:hover .overlay{opacity:1;}
#flat-gallery .overlay h4{font-size:17px;color:#fff!important;}
#flat-gallery .overlay p{font-size:12px;}
#flat-gallery .plus{border-color:#fff!important;}

/* ---------- Mobile apps section becomes service feature area ---------- */
#our-apps{padding:72px 0!important;background:var(--vvr-soft);}
#app-feature{align-items:center;}
#app-feature .feature-item{margin:16px 0!important;}
#app-feature .feature-item .icon{
  width:48px;height:48px;border:1px solid rgba(217,154,43,.45);
  border-radius:7px;background:#fff;color:var(--vvr-gold)!important;
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
#app-feature .feature-item h4{font-size:17px;color:var(--vvr-navy);text-transform:uppercase;margin-bottom:5px;}
#app-feature .feature-item p{font-size:12px;line-height:1.55;}
#app-feature > .col-lg-4:nth-child(2) img{max-height:420px;object-fit:contain;}

/* ---------- Statistics strip ---------- */
#funfacts{padding:38px 0 24px!important;background:var(--vvr-navy)!important;}
#funfacts h3{font-size:27px;color:#fff;line-height:1.12;}
#funfacts p{color:rgba(255,255,255,.72);}
.icon-counters{border-left:1px solid rgba(255,255,255,.2);}
.icon-counters .img-icon i{color:var(--vvr-gold)!important;font-size:31px;}
.icon-counters .counters{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:32px;color:#fff;}
.icon-counters .title{text-transform:uppercase;font-size:11px;line-height:1.4;}

/* ---------- Pricing ---------- */
#our-pricings{padding:72px 0!important;background:#fff!important;}
.price-table{
  border:1px solid var(--vvr-line)!important;
  border-radius:var(--vvr-radius)!important;
  box-shadow:none!important;
  padding:35px 28px!important;
}
.price-table.active{background:var(--vvr-navy)!important;transform:none!important;}
.price-table.active h3,.price-table.active p,.price-table.active li span{color:#fff!important;}
.price-table h3{font-size:23px;color:var(--vvr-navy);}
.price-table li{font-size:13px;}

/* ---------- Testimonials ---------- */
#our-testimonial{padding:72px 0!important;background:linear-gradient(rgba(3,29,73,.88),rgba(3,29,73,.88)),url('../images/testimonial-bg.jpg') center/cover no-repeat!important;}
.testimonial-quote h3{font-family:'Inter',sans-serif;font-size:20px;line-height:1.65;font-weight:500;}
.testimonial-quote h6{color:var(--vvr-gold)!important;font-size:16px;}
#owl-thumbs .owl-dot img{border:2px solid transparent;}
#owl-thumbs .owl-dot.active img{border-color:var(--vvr-gold);}

/* ---------- Partners ---------- */
#logos{padding:40px 0!important;border-bottom:1px solid var(--vvr-line);}
.logo-item img{max-height:58px;filter:grayscale(1);opacity:.6;transition:.25s;}
.logo-item:hover img{filter:none;opacity:1;}

/* ---------- Blog ---------- */
#our-blog{padding:64px 0;background:var(--vvr-soft);}
#our-blog .image img{border-radius:var(--vvr-radius);object-fit:cover;}
#our-blog .split-box{background:#fff;border-radius:var(--vvr-radius);box-shadow:var(--vvr-shadow);}

/* ---------- Contact ---------- */
#contactus{padding:72px 0 0!important;background:#fff;}
#contactus .heading_space{margin-bottom:38px!important;}
.our-address h5{font-size:18px;color:var(--vvr-navy);}
.our-address p{font-size:13px;}
.pickus{color:var(--vvr-gold)!important;font-weight:700;text-transform:uppercase;font-size:12px;}
.getin_form{
  background:var(--vvr-soft);
  padding:32px;
  border-radius:var(--vvr-radius);
  border:1px solid var(--vvr-line);
}
.getin_form .form-control{
  height:48px;
  border:1px solid #dfe3e9!important;
  border-radius:5px!important;
  background:#fff!important;
  font-size:13px;
  padding:12px 14px;
  color:var(--vvr-ink);
}
.getin_form textarea.form-control{height:120px;resize:none;}
.getin_form .form-control:focus{border-color:var(--vvr-gold)!important;box-shadow:0 0 0 3px rgba(217,154,43,.12)!important;}
#map-container{height:350px;margin-top:50px;filter:saturate(.7);}

/* ---------- Footer ---------- */
#site-footer{
  padding:38px 0 20px!important;
  background:var(--vvr-navy-2)!important;
  border:0!important;
}
#site-footer .social-icons{margin-bottom:18px!important;}
#site-footer .social-icons li a{
  width:34px;height:34px;line-height:34px;
  border-radius:50%;background:rgba(255,255,255,.08);color:#fff!important;
}
#site-footer .social-icons li a:hover{background:var(--vvr-gold)!important;}
#site-footer .copyrights,#site-footer .copyrights a{color:rgba(255,255,255,.65)!important;font-size:12px;}

/* ---------- Floating WhatsApp (optional HTML class .vvr-whatsapp) ---------- */
.vvr-whatsapp{
  position:fixed;right:12px;bottom:122px;z-index:9999;
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#25d366;color:#fff!important;font-size:30px;
  box-shadow:0 8px 25px rgba(0,0,0,.22);
  transition:.25s ease;
}
.vvr-whatsapp:hover{transform:translateY(-4px);background:#1fb959;}

/* ---------- Back to top ---------- */
.back-top{background:var(--vvr-navy)!important;color:#fff!important;border-radius:5px!important;}
.back-top:hover{background:var(--vvr-gold)!important;}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .container{max-width:960px;}
  .navbar-nav .nav-link{padding-left:8px!important;padding-right:8px!important;font-size:12px;}
  .navbar-nav .nav-link::after{left:8px;right:8px;}
  .navbar-brand img{width:165px;}
  #rev_arrows .tp-caption h1{font-size:47px!important;}
}

@media (max-width:991px){
  .site-header .navbar{min-height:74px;padding:7px 0;}
  .navbar-brand img{width:150px;max-height:58px;}
  .sidemenu_btn{display:none!important;}
  .navbar-collapse{
    background:#fff;
    padding:10px 18px 18px;
    border-radius:0 0 8px 8px;
    box-shadow:0 14px 25px rgba(3,29,73,.12);
  }
  .navbar-nav{align-items:stretch;gap:0;}
  .navbar-nav .nav-link{padding:12px 5px!important;}
  .navbar-nav .nav-link::after{bottom:7px;left:5px;right:auto;width:25px;}
  #revo_main_wrapper,#rev_arrows,#rev_arrows .rev_slider,#rev_arrows .tp-revslider-mainul,#rev_arrows .tp-revslider-slidesli{min-height:540px!important;}
  #rev_arrows .tp-caption h1{font-size:40px!important;}
  #our-feature .col-md-6:first-child{padding-left:25px;}
  .process-wrapp{grid-template-columns:repeat(3,1fr);}
  .process-wrapp li{border-bottom:1px solid rgba(255,255,255,.18);}
  #flat-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:767px){
  .padding,.padding_top{padding-top:55px;padding-bottom:55px;}
  .heading-title h2{font-size:31px;}
  #revo_main_wrapper,#rev_arrows,#rev_arrows .rev_slider,#rev_arrows .tp-revslider-mainul,#rev_arrows .tp-revslider-slidesli{min-height:500px!important;}
  #rev_arrows .tp-bgimg::after,#rev_arrows li::after{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86) 72%,rgba(255,255,255,.38));}
  #rev_arrows .tp-caption h1{font-size:34px!important;max-width:290px;}
  #rev_arrows .tp-caption h4{font-size:12px!important;max-width:280px;}
  #services-slider{padding-top:20px;}
  #our-feature .col-md-6:first-child{order:2;padding:28px 15px 0;}
  #our-feature .col-md-6:last-child{order:1;}
  #our-feature .image img{height:280px;}
  .process-wrapp{grid-template-columns:1fr 1fr;}
  .process-wrapp li:nth-child(even){border-right:0;}
  #flat-gallery{grid-template-columns:1fr;gap:13px;}
  #flat-gallery .cbp-item{height:235px!important;}
  .icon-counters{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;}
  .getin_form{padding:22px 18px;}
  #map-container{height:280px;}
}

@media (max-width:479px){
  .navbar-brand img{width:135px;}
  #revo_main_wrapper,#rev_arrows,#rev_arrows .rev_slider,#rev_arrows .tp-revslider-mainul,#rev_arrows .tp-revslider-slidesli{min-height:470px!important;}
  #rev_arrows .tp-caption h1{font-size:30px!important;}
  .process-wrapp{grid-template-columns:1fr;}
  .process-wrapp li{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);}
  .process-wrapp li:last-child{border-bottom:0;}
  #flat-gallery .cbp-item{height:210px!important;}
  .heading-title h2{font-size:28px;}
}



/* =========================================
   VVR ROOFINGS RESPONSIVE HEADER
========================================= */

:root {
   --vvr-navy: #082550;
   --vvr-dark-navy: #031a3b;
   --vvr-gold: #d89b2b;
   --vvr-white: #ffffff;
   --vvr-border: #e8edf4;
}

/* Header */

.vvr-header {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 999;
}

.vvr-navbar {
   min-height: 96px;
   padding: 0;
   background: rgba(255, 255, 255, 0.98);
   border-bottom: 1px solid rgba(8, 37, 80, 0.08);
   box-shadow: 0 5px 25px rgba(0, 20, 55, 0.05);
   transition: all 0.3s ease;
}

.vvr-navbar .container {
   display: flex;
   align-items: center;
   max-width: 1380px;
   padding-left: 24px;
   padding-right: 24px;
}

/* Logo */

.vvr-brand {
   display: flex;
   align-items: center;
   flex-shrink: 0;
   margin-right: 34px;
   padding: 8px 0;
}

.vvr-brand img {
   display: block;
   width: auto;
   height: 68px;
   max-width: 220px;
   object-fit: contain;
}

/* Navigation */

.vvr-navbar .navbar-collapse {
   flex-grow: 1;
}

.vvr-navbar .navbar-nav {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   width: 100%;
}

.vvr-navbar .nav-item {
   position: relative;
   margin: 0 2px;
}

.vvr-navbar .nav-link {
   position: relative;
   display: block;
   padding: 38px 13px !important;
   color: var(--vvr-navy) !important;
   font-family: inherit;
   font-size: 14px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.2px;
   text-transform: uppercase;
   white-space: nowrap;
   transition: color 0.25s ease;
}

.vvr-navbar .nav-link::after {
   content: "";
   position: absolute;
   left: 13px;
   right: 13px;
   bottom: 25px;
   height: 2px;
   background: var(--vvr-gold);
   transform: scaleX(0);
   transform-origin: center;
   transition: transform 0.25s ease;
}

.vvr-navbar .nav-link:hover,
.vvr-navbar .nav-item.active .nav-link {
   color: var(--vvr-gold) !important;
}

.vvr-navbar .nav-link:hover::after,
.vvr-navbar .nav-item.active .nav-link::after {
   transform: scaleX(1);
}

/* Quote Button */

.vvr-quote-item {
   margin-left: 15px !important;
}

.vvr-header-quote {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   min-height: 46px;
   padding: 0 20px;
   border: 2px solid var(--vvr-navy);
   border-radius: 5px;
   background: var(--vvr-navy);
   color: var(--vvr-white);
   font-size: 13px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.25px;
   text-transform: uppercase;
   white-space: nowrap;
   box-shadow: 0 8px 18px rgba(8, 37, 80, 0.14);
   transition: all 0.25s ease;
}

.vvr-header-quote i {
   color: var(--vvr-gold);
   font-size: 15px;
}

.vvr-header-quote:hover,
.vvr-header-quote:focus {
   background: var(--vvr-gold);
   border-color: var(--vvr-gold);
   color: var(--vvr-navy);
   transform: translateY(-2px);
}

.vvr-header-quote:hover i,
.vvr-header-quote:focus i {
   color: var(--vvr-navy);
}

/* Sticky Header */

.vvr-navbar.fixedmenu,
.vvr-navbar.navbar-fixed-top,
.vvr-header.header-appear .vvr-navbar {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   width: 100%;
   min-height: 80px;
   background: var(--vvr-white);
   box-shadow: 0 8px 30px rgba(2, 24, 57, 0.12);
   animation: vvrHeaderSlide 0.35s ease;
}

.vvr-navbar.fixedmenu .vvr-brand img,
.vvr-navbar.navbar-fixed-top .vvr-brand img,
.vvr-header.header-appear .vvr-brand img {
   height: 58px;
}

.vvr-navbar.fixedmenu .nav-link,
.vvr-navbar.navbar-fixed-top .nav-link,
.vvr-header.header-appear .nav-link {
   padding-top: 31px !important;
   padding-bottom: 31px !important;
}

.vvr-navbar.fixedmenu .nav-link::after,
.vvr-navbar.navbar-fixed-top .nav-link::after,
.vvr-header.header-appear .nav-link::after {
   bottom: 20px;
}

@keyframes vvrHeaderSlide {
   from {
      transform: translateY(-100%);
   }

   to {
      transform: translateY(0);
   }
}

/* Mobile Toggle */

.vvr-navbar .navbar-toggler {
   position: relative;
   width: 44px;
   height: 44px;
   padding: 8px;
   border: 0;
   border-radius: 5px;
   background: var(--vvr-navy);
   outline: none;
   box-shadow: none;
}

.vvr-navbar .navbar-toggler span {
   display: block;
   width: 24px;
   height: 2px;
   margin: 5px auto;
   background: var(--vvr-white);
   transition: all 0.3s ease;
}

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(1) {
   transform: translateY(7px) rotate(45deg);
}

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(2) {
   opacity: 0;
}

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(3) {
   transform: translateY(-7px) rotate(-45deg);
}

/* =========================================
   VERY LARGE SCREENS — 1440px AND ABOVE
========================================= */

@media (min-width: 1440px) {

   .vvr-navbar .container {
      max-width: 1420px;
      padding-left: 30px;
      padding-right: 30px;
   }

   .vvr-brand {
      margin-right: 42px;
   }

   .vvr-brand img {
      height: 72px;
      max-width: 235px;
   }

   .vvr-navbar .nav-link {
      padding-left: 15px !important;
      padding-right: 15px !important;
      font-size: 14px;
   }

   .vvr-navbar .nav-link::after {
      left: 15px;
      right: 15px;
   }

   .vvr-header-quote {
      min-height: 48px;
      padding-left: 22px;
      padding-right: 22px;
      font-size: 13px;
   }

}

/* =========================================
   DESKTOP — 1200px TO 1439px
========================================= */

@media (min-width: 1200px) and (max-width: 1439px) {

   .vvr-navbar .container {
      max-width: 1180px;
      padding-left: 18px;
      padding-right: 18px;
   }

   .vvr-brand {
      margin-right: 22px;
   }

   .vvr-brand img {
      height: 62px;
      max-width: 195px;
   }

   .vvr-navbar .nav-link {
      padding-left: 10px !important;
      padding-right: 10px !important;
      font-size: 13px;
   }

   .vvr-navbar .nav-link::after {
      left: 10px;
      right: 10px;
   }

   .vvr-quote-item {
      margin-left: 10px !important;
   }

   .vvr-header-quote {
      padding-left: 16px;
      padding-right: 16px;
      font-size: 12px;
   }

}

/* =========================================
   SMALL DESKTOP / 1024px SCREENS
========================================= */

@media (min-width: 992px) and (max-width: 1199px) {

   .vvr-navbar {
      min-height: 88px;
   }

   .vvr-navbar .container {
      max-width: 100%;
      padding-left: 16px;
      padding-right: 16px;
   }

   .vvr-brand {
      margin-right: 14px;
   }

   .vvr-brand img {
      height: 56px;
      max-width: 172px;
   }

   .vvr-navbar .nav-item {
      margin: 0;
   }

   .vvr-navbar .nav-link {
      padding: 35px 7px !important;
      font-size: 12px;
      letter-spacing: 0;
   }

   .vvr-navbar .nav-link::after {
      left: 7px;
      right: 7px;
      bottom: 22px;
   }

   .vvr-quote-item {
      margin-left: 7px !important;
   }

   .vvr-header-quote {
      min-height: 42px;
      padding: 0 12px;
      font-size: 11px;
   }

   .vvr-header-quote i {
      font-size: 13px;
   }

}

/* =========================================
   TABLET — 768px TO 991px
========================================= */

@media (min-width: 768px) and (max-width: 991px) {

   .vvr-header {
      position: relative;
   }

   .vvr-navbar,
   .vvr-navbar.fixedmenu,
   .vvr-navbar.navbar-fixed-top,
   .vvr-header.header-appear .vvr-navbar {
      position: relative;
      min-height: 82px;
      padding: 5px 0;
      background: var(--vvr-white);
   }

   .vvr-navbar .container {
      max-width: 100%;
      padding-left: 24px;
      padding-right: 24px;
   }

   .vvr-brand {
      margin-right: 0;
   }

   .vvr-brand img,
   .vvr-navbar.fixedmenu .vvr-brand img,
   .vvr-navbar.navbar-fixed-top .vvr-brand img,
   .vvr-header.header-appear .vvr-brand img {
      height: 58px;
      max-width: 185px;
   }

   .vvr-navbar .navbar-collapse {
      position: absolute;
      top: 100%;
      left: 24px;
      right: 24px;
      z-index: 9999;
      padding: 10px 22px 22px;
      background: var(--vvr-white);
      border-top: 3px solid var(--vvr-gold);
      border-radius: 0 0 8px 8px;
      box-shadow: 0 18px 35px rgba(2, 24, 57, 0.16);
   }

   .vvr-navbar .navbar-nav {
      display: block;
      width: 100%;
   }

   .vvr-navbar .nav-item {
      width: 100%;
      margin: 0;
      border-bottom: 1px solid var(--vvr-border);
   }

   .vvr-navbar .nav-link,
   .vvr-navbar.fixedmenu .nav-link,
   .vvr-navbar.navbar-fixed-top .nav-link,
   .vvr-header.header-appear .nav-link {
      padding: 16px 4px !important;
      font-size: 14px;
      line-height: 1.25;
   }

   .vvr-navbar .nav-link::after {
      left: 4px;
      right: auto;
      bottom: 8px;
      width: 38px;
   }

   .vvr-quote-item {
      margin: 18px 0 0 !important;
      border-bottom: 0 !important;
   }

   .vvr-header-quote {
      width: 100%;
      min-height: 50px;
      font-size: 13px;
   }

}

/* =========================================
   MOBILE — BELOW 768px
========================================= */

@media (max-width: 767px) {

   .vvr-header {
      position: relative;
   }

   .vvr-navbar,
   .vvr-navbar.fixedmenu,
   .vvr-navbar.navbar-fixed-top,
   .vvr-header.header-appear .vvr-navbar {
      position: relative;
      min-height: 74px;
      padding: 4px 0;
      background: var(--vvr-white);
   }

   .vvr-navbar .container {
      max-width: 100%;
      padding-left: 15px;
      padding-right: 15px;
   }

   .vvr-brand {
      margin-right: 0;
      padding: 6px 0;
   }

   .vvr-brand img,
   .vvr-navbar.fixedmenu .vvr-brand img,
   .vvr-navbar.navbar-fixed-top .vvr-brand img,
   .vvr-header.header-appear .vvr-brand img {
      height: 50px;
      max-width: 158px;
   }

   .vvr-navbar .navbar-toggler {
      width: 42px;
      height: 42px;
   }

   .vvr-navbar .navbar-collapse {
      position: absolute;
      top: 100%;
      left: 15px;
      right: 15px;
      z-index: 9999;
      max-height: calc(100vh - 90px);
      overflow-y: auto;
      padding: 8px 18px 20px;
      background: var(--vvr-white);
      border-top: 3px solid var(--vvr-gold);
      border-radius: 0 0 7px 7px;
      box-shadow: 0 18px 35px rgba(2, 24, 57, 0.16);
   }

   .vvr-navbar .navbar-nav {
      display: block;
      width: 100%;
   }

   .vvr-navbar .nav-item {
      width: 100%;
      margin: 0;
      border-bottom: 1px solid var(--vvr-border);
   }

   .vvr-navbar .nav-link,
   .vvr-navbar.fixedmenu .nav-link,
   .vvr-navbar.navbar-fixed-top .nav-link,
   .vvr-header.header-appear .nav-link {
      padding: 15px 3px !important;
      font-size: 14px;
      line-height: 1.25;
   }

   .vvr-navbar .nav-link::after {
      left: 3px;
      right: auto;
      bottom: 7px;
      width: 35px;
   }

   .vvr-quote-item {
      margin: 17px 0 0 !important;
      border-bottom: 0 !important;
   }

   .vvr-header-quote {
      width: 100%;
      min-height: 48px;
      font-size: 13px;
   }

}

/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 420px) {

   .vvr-navbar {
      min-height: 70px;
   }

   .vvr-navbar .container {
      padding-left: 12px;
      padding-right: 12px;
   }

   .vvr-brand img {
      height: 46px;
      max-width: 145px;
   }

   .vvr-navbar .navbar-toggler {
      width: 40px;
      height: 40px;
   }

   .vvr-navbar .navbar-collapse {
      left: 10px;
      right: 10px;
      padding-left: 15px;
      padding-right: 15px;
   }

   .vvr-navbar .nav-link {
      font-size: 13px;
   }

}


/* =========================================
   VVR ROOFINGS HOME SLIDER
========================================= */

.vvr-home-slider {
   position: relative;
   width: 100%;
   height: 950px;
   min-height: 950px;
   overflow: hidden;
   background: #031a3b;
}

#vvr-slider-wrapper,
#vvr-slider {
   width: 100%;
   height: 950px !important;
   min-height: 950px !important;
}

#vvr-slider-wrapper .tp-fullwidth-forcer {
   height: 950px !important;
   min-height: 950px !important;
}

/* Content */

.vvr-slider-content {
   z-index: 10;
}

.vvr-slider-inner {
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
   padding: 30px;
   text-align: center;
}

.vvr-slider-subtitle {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
   margin-bottom: 25px;
   color: #ffffff;
   font-size: 15px;
   font-weight: 700;
   line-height: 1.5;
   letter-spacing: 1.5px;
   text-align: center;
   text-transform: uppercase;
}

.vvr-slider-subtitle span {
   display: inline-block;
   width: 45px;
   height: 3px;
   flex-shrink: 0;
   background: #d89b2b;
}

/* Main Title */

.vvr-slider-title {
   display: block;
   max-width: 950px;
   margin: 0 auto;
   color: #ffffff;
   font-family: inherit;
   font-size: 68px;
   font-weight: 800;
   line-height: 1.08;
   letter-spacing: -2px;
   text-align: center;
   text-transform: none;
   text-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}

.vvr-slider-title strong {
   display: block;
   margin-top: 8px;
   color: #d89b2b;
   font-weight: 800;
}

/* Description */

.vvr-slider-description {
   max-width: 720px;
   margin: 30px auto 0;
   color: rgba(255, 255, 255, 0.92);
   font-size: 18px;
   font-weight: 400;
   line-height: 1.8;
   text-align: center;
}

/* Buttons */

.vvr-slider-buttons {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 16px;
   margin-top: 38px;
}

.vvr-slider-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-width: 180px;
   min-height: 54px;
   padding: 0 26px;
   border: 2px solid transparent;
   border-radius: 5px;
   font-size: 13px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.35px;
   text-align: center;
   text-transform: uppercase;
   white-space: nowrap;
   transition:
      background-color 0.3s ease,
      border-color 0.3s ease,
      color 0.3s ease,
      transform 0.3s ease;
}

.vvr-slider-btn i {
   font-size: 15px;
}

.vvr-slider-btn-primary {
   background: #d89b2b;
   border-color: #d89b2b;
   color: #082550;
   box-shadow: 0 10px 28px rgba(216, 155, 43, 0.25);
}

.vvr-slider-btn-primary:hover,
.vvr-slider-btn-primary:focus {
   background: #ffffff;
   border-color: #ffffff;
   color: #082550;
   transform: translateY(-3px);
}

.vvr-slider-btn-outline {
   background: rgba(3, 26, 59, 0.12);
   border-color: rgba(255, 255, 255, 0.9);
   color: #ffffff;
}

.vvr-slider-btn-outline:hover,
.vvr-slider-btn-outline:focus {
   background: #ffffff;
   border-color: #ffffff;
   color: #082550;
   transform: translateY(-3px);
}

/* Progress Timer */

.vvr-slider-timer {
   height: 4px !important;
   background: #d89b2b !important;
}

/* =========================================
   SLIDER ARROWS
========================================= */

#vvr-slider .tparrows {
   width: 56px;
   height: 56px;
   margin: 0;
   border: 1px solid rgba(255, 255, 255, 0.4);
   border-radius: 50%;
   background: rgba(3, 26, 59, 0.72);
   opacity: 1 !important;
   visibility: visible !important;
   transition:
      background-color 0.3s ease,
      border-color 0.3s ease;
}

#vvr-slider .tparrows::before {
   color: #ffffff;
   font-size: 18px;
   line-height: 56px;
   text-align: center;
}

#vvr-slider .tparrows:hover {
   background: #d89b2b;
   border-color: #d89b2b;
}

#vvr-slider .tparrows:hover::before {
   color: #082550;
}

/* =========================================
   SLIDER BULLETS
========================================= */

#vvr-slider .tp-bullets {
   z-index: 30;
}

#vvr-slider .tp-bullet {
   width: 11px;
   height: 11px;
   border: 2px solid rgba(255, 255, 255, 0.9);
   border-radius: 50%;
   background: transparent;
   transition: all 0.3s ease;
}

#vvr-slider .tp-bullet.selected,
#vvr-slider .tp-bullet:hover {
   border-color: #d89b2b;
   background: #d89b2b;
}

/* =========================================
   LARGE DESKTOP — 1440px AND ABOVE
========================================= */

@media (min-width: 1440px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 950px !important;
      min-height: 950px !important;
   }

   .vvr-slider-inner {
      max-width: 1100px;
   }

   .vvr-slider-title {
      font-size: 72px;
   }

   .vvr-slider-description {
      font-size: 18px;
   }

}

/* =========================================
   DESKTOP — 1200px TO 1439px
========================================= */

@media (min-width: 1200px) and (max-width: 1439px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 860px !important;
      min-height: 860px !important;
   }

   .vvr-slider-inner {
      max-width: 930px;
      padding: 25px;
   }

   .vvr-slider-title {
      font-size: 62px;
   }

   .vvr-slider-description {
      max-width: 680px;
      font-size: 17px;
   }

}

/* =========================================
   SMALL DESKTOP / 1024px
========================================= */

@media (min-width: 992px) and (max-width: 1199px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 780px !important;
      min-height: 780px !important;
   }

   .vvr-slider-inner {
      max-width: 800px;
      padding: 25px 30px;
   }

   .vvr-slider-subtitle {
      margin-bottom: 20px;
      font-size: 13px;
   }

   .vvr-slider-title {
      font-size: 52px;
      letter-spacing: -1.5px;
   }

   .vvr-slider-description {
      max-width: 620px;
      margin-top: 24px;
      font-size: 16px;
      line-height: 1.7;
   }

   .vvr-slider-buttons {
      margin-top: 32px;
   }

   .vvr-slider-btn {
      min-height: 50px;
      padding: 0 22px;
      font-size: 12px;
   }

   #vvr-slider .tparrows {
      width: 48px;
      height: 48px;
   }

   #vvr-slider .tparrows::before {
      line-height: 48px;
   }

}

/* =========================================
   TABLET — 768px TO 991px
========================================= */

@media (min-width: 768px) and (max-width: 991px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 720px !important;
      min-height: 720px !important;
   }

   .vvr-slider-inner {
      max-width: 650px;
      padding: 25px 35px;
   }

   .vvr-slider-subtitle {
      gap: 12px;
      margin-bottom: 18px;
      font-size: 12px;
      letter-spacing: 1px;
   }

   .vvr-slider-subtitle span {
      width: 34px;
   }

   .vvr-slider-title {
      font-size: 44px;
      line-height: 1.12;
      letter-spacing: -1px;
   }

   .vvr-slider-description {
      max-width: 560px;
      margin-top: 22px;
      font-size: 15px;
      line-height: 1.7;
   }

   .vvr-slider-buttons {
      gap: 12px;
      margin-top: 30px;
   }

   .vvr-slider-btn {
      min-width: 165px;
      min-height: 48px;
      padding: 0 19px;
      font-size: 11px;
   }

   #vvr-slider .tparrows {
      width: 44px;
      height: 44px;
   }

   #vvr-slider .tparrows::before {
      font-size: 15px;
      line-height: 44px;
   }

}

/* =========================================
   MOBILE — BELOW 768px
========================================= */

@media (max-width: 767px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 680px !important;
      min-height: 680px !important;
   }

   .vvr-slider-inner {
      width: 100%;
      max-width: 360px;
      padding: 25px 15px;
   }

   .vvr-slider-subtitle {
      gap: 8px;
      margin-bottom: 17px;
      font-size: 10px;
      line-height: 1.5;
      letter-spacing: 0.6px;
   }

   .vvr-slider-subtitle span {
      width: 22px;
      height: 2px;
   }

   .vvr-slider-title {
      font-size: 36px;
      line-height: 1.12;
      letter-spacing: -0.7px;
   }

   .vvr-slider-title strong {
      margin-top: 5px;
   }

   .vvr-slider-description {
      max-width: 330px;
      margin-top: 20px;
      font-size: 14px;
      line-height: 1.65;
   }

   .vvr-slider-buttons {
      flex-direction: column;
      gap: 11px;
      width: 100%;
      margin-top: 28px;
   }

   .vvr-slider-btn {
      width: 100%;
      max-width: 225px;
      min-height: 47px;
      padding: 0 17px;
      font-size: 11px;
   }

   #vvr-slider .tparrows {
      width: 40px;
      height: 40px;
      background: rgba(3, 26, 59, 0.82);
   }

   #vvr-slider .tparrows::before {
      font-size: 14px;
      line-height: 40px;
   }

}

/* =========================================
   SMALL MOBILE — BELOW 420px
========================================= */

@media (max-width: 420px) {

   .vvr-home-slider,
   #vvr-slider-wrapper,
   #vvr-slider,
   #vvr-slider-wrapper .tp-fullwidth-forcer {
      height: 650px !important;
      min-height: 650px !important;
   }

   .vvr-slider-inner {
      max-width: 320px;
      padding: 20px 12px;
   }

   .vvr-slider-subtitle {
      font-size: 9px;
   }

   .vvr-slider-title {
      font-size: 31px;
   }

   .vvr-slider-description {
      max-width: 290px;
      font-size: 13px;
   }

   .vvr-slider-buttons {
      margin-top: 24px;
   }

   .vvr-slider-btn {
      max-width: 210px;
      min-height: 45px;
      font-size: 10px;
   }

   #vvr-slider .tparrows {
      width: 36px;
      height: 36px;
   }

   #vvr-slider .tparrows::before {
      line-height: 36px;
   }

}


/* =========================================
   FIX REVOLUTION SLIDER ARROW FONT ERROR
========================================= */

#vvr-slider .tparrows {
   width: 56px;
   height: 56px;
   border: 1px solid rgba(255, 255, 255, 0.4);
   border-radius: 50%;
   background: rgba(3, 26, 59, 0.78);
   opacity: 1 !important;
   visibility: visible !important;
   transition: all 0.3s ease;
}

/* Remove Revolution Slider icon font */
#vvr-slider .tparrows::before {
   content: "" !important;
   position: absolute;
   top: 50%;
   left: 50%;
   width: 12px;
   height: 12px;
   margin: 0;
   border-top: 3px solid #ffffff;
   border-right: 3px solid #ffffff;
   font-family: initial !important;
   font-size: 0 !important;
   line-height: 1 !important;
}

/* Left arrow */
#vvr-slider .tp-leftarrow::before {
   transform: translate(-35%, -50%) rotate(-135deg);
}

/* Right arrow */
#vvr-slider .tp-rightarrow::before {
   transform: translate(-65%, -50%) rotate(45deg);
}

/* Hover */
#vvr-slider .tparrows:hover {
   background: #d89b2b;
   border-color: #d89b2b;
}

#vvr-slider .tparrows:hover::before {
   border-color: #082550;
}

/* 1024px */
@media (min-width: 992px) and (max-width: 1199px) {

   #vvr-slider .tparrows {
      width: 48px;
      height: 48px;
   }

   #vvr-slider .tparrows::before {
      width: 10px;
      height: 10px;
      border-width: 2px 2px 0 0;
   }

}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {

   #vvr-slider .tparrows {
      width: 44px;
      height: 44px;
   }

   #vvr-slider .tparrows::before {
      width: 9px;
      height: 9px;
      border-width: 2px 2px 0 0;
   }

}

/* Mobile */
@media (max-width: 767px) {

   #vvr-slider .tparrows {
      width: 40px;
      height: 40px;
   }

   #vvr-slider .tparrows::before {
      width: 8px;
      height: 8px;
      border-width: 2px 2px 0 0;
   }

}

/* Small mobile */
@media (max-width: 420px) {

   #vvr-slider .tparrows {
      width: 36px;
      height: 36px;
   }

}

/* ===========================================
   FORCE BLACK REVOLUTION ARROWS
=========================================== */

#vvr-slider .tp-leftarrow,
#vvr-slider .tp-rightarrow{
    background:#000 !important;
    border:2px solid #000 !important;
    color:#fff !important;
    opacity:1 !important;
}

#vvr-slider .tp-leftarrow:hover,
#vvr-slider .tp-rightarrow:hover{
    background:#d89b2b !important;
    border-color:#d89b2b !important;
}

/* Arrow icon */
#vvr-slider .tp-leftarrow:before,
#vvr-slider .tp-rightarrow:before{
    color:#fff !important;
}

#vvr-slider .tp-leftarrow:hover:before,
#vvr-slider .tp-rightarrow:hover:before{
    color:#000 !important;
}


/*====================================
   PREMIUM SLIDER BUTTONS
====================================*/

.vvr-slider-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:45px;
}

.vvr-slider-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:220px;
    height:60px;

    padding:0 34px;

    font-size:15px;
    font-weight:700;
    letter-spacing:.5px;

    text-transform:uppercase;

    border-radius:6px;

    transition:.35s ease;

}

.vvr-slider-btn i{
    font-size:18px;
    margin-left:8px;
}

@media(max-width:991px){

.vvr-slider-btn{

    min-width:200px;
    height:56px;

    font-size:14px;
    padding:0 28px;

}

}

@media(max-width:767px){

.vvr-slider-btn{

    width:100%;
    max-width:250px;

    height:52px;

    font-size:14px;

}

}

.fixedmenu .navbar-nav .nav-link.active, .fixedmenu .navbar-nav .nav-link.active:hover, .fixedmenu .navbar-nav .nav-link.active:focus, .center-brand.fixedmenu .navbar-nav .nav-link.active{color:white !important; background:#d89b2b !important;}


/* ======================================
   FORCE MOBILE TOGGLE ICON TO WHITE
====================================== */

.navbar-toggler-icon,
.navbar-toggler-icon:before,
.navbar-toggler-icon:after,
.menu_bars span,
.menu_bars span:before,
.menu_bars span:after,
.sidemenu_btn span,
.sidemenu_btn span:before,
.sidemenu_btn span:after{
    background:#ffffff !important;
    border-color:#ffffff !important;
}
/* ==========================================
   FIX MOBILE MENU TOGGLE (OPEN/CLOSE)
========================================== */

.navbar-toggler,
.menu_bars,
.sidemenu_btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* Hamburger / Close lines */
.menu_bars span,
.menu_bars span:before,
.menu_bars span:after,
.sidemenu_btn span,
.sidemenu_btn span:before,
.sidemenu_btn span:after{

    width:20px !important;
    height:2px !important;

    background:#ffffff !important;

    left:50% !important;

    transform-origin:center !important;
}

/* Top line */
.menu_bars span:before,
.sidemenu_btn span:before{
    top:-6px !important;
}

/* Bottom line */
.menu_bars span:after,
.sidemenu_btn span:after{
    top:6px !important;
}

/* Close icon */
.menu_bars.active span,
.sidemenu_btn.active span{
    background:transparent !important;
}

.menu_bars.active span:before,
.sidemenu_btn.active span:before{

    top:0 !important;
    transform:rotate(45deg) !important;
    background:#ffffff !important;

}

.menu_bars.active span:after,
.sidemenu_btn.active span:after{

    top:0 !important;
    transform:rotate(-45deg) !important;
    background:#ffffff !important;

}


/*==========================================
   FORCE FIX MOBILE TOGGLE ICON
==========================================*/

.vvr-navbar .navbar-toggler{
    position:relative !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    background:#082550 !important;
    border:none !important;
}

/* Reset */

.vvr-navbar .navbar-toggler span{
    position:absolute !important;
    left:50% !important;

    width:20px !important;
    height:2px !important;

    margin:0 !important;
    padding:0 !important;

    background:#fff !important;

    transform-origin:center center !important;
    transition:all .25s ease !important;
}

/* Hamburger */

.vvr-navbar .navbar-toggler span:nth-child(1){
    top:14px !important;
    transform:translateX(-50%) rotate(0) !important;
}

.vvr-navbar .navbar-toggler span:nth-child(2){
    top:21px !important;
    opacity:1 !important;
    transform:translateX(-50%) !important;
}

.vvr-navbar .navbar-toggler span:nth-child(3){
    top:28px !important;
    transform:translateX(-50%) rotate(0) !important;
}

/* OPEN */

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(1),
.vvr-navbar .navbar-toggler[aria-expanded="true"] span:nth-child(1){

    top:21px !important;
    transform:translateX(-50%) rotate(45deg) !important;

}

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(2),
.vvr-navbar .navbar-toggler[aria-expanded="true"] span:nth-child(2){

    opacity:0 !important;

}

.vvr-navbar .navbar-toggler:not(.collapsed) span:nth-child(3),
.vvr-navbar .navbar-toggler[aria-expanded="true"] span:nth-child(3){

    top:21px !important;
    transform:translateX(-50%) rotate(-45deg) !important;

}


/*====================================================
      MOBILE SLIDER IMPROVEMENTS
====================================================*/

@media (max-width:991px){

/* Hide left & right arrows */
#vvr-slider .tp-leftarrow,
#vvr-slider .tp-rightarrow{
    display:none !important;
}

/* Keep bullets */
#vvr-slider .tp-bullets{
    display:block !important;
    bottom:25px !important;
}

/* Subtitle */
.vvr-slider-subtitle{

    margin-bottom:24px !important;

    font-size:16px !important;
    font-weight:700 !important;

    line-height:1.7 !important;

    letter-spacing:2px !important;

}

/* Main Heading */

.vvr-slider-title{

    margin-bottom:22px !important;

    font-size:48px !important;
    line-height:1.22 !important;

    letter-spacing:0 !important;

}

.vvr-slider-title strong{

    display:block;
    margin-top:14px !important;

}

/* Description */

.vvr-slider-description{

    max-width:420px !important;

    margin:0 auto 35px !important;

    font-size:18px !important;

    line-height:2 !important;

}

/* Buttons */

.vvr-slider-buttons{

    gap:16px !important;
    margin-top:20px !important;

}

.vvr-slider-btn{

    height:56px !important;
    font-size:15px !important;

}

}


/*====================================================
               SMALL MOBILE
====================================================*/

@media (max-width:575px){

.vvr-slider-inner{

    padding:20px 25px !important;

}

.vvr-slider-subtitle{

    font-size:14px !important;

    line-height:1.8 !important;

    margin-bottom:22px !important;

}

.vvr-slider-title{

    font-size:40px !important;

    line-height:1.25 !important;

    margin-bottom:20px !important;

}

.vvr-slider-title strong{

    margin-top:12px !important;

}

.vvr-slider-description{

    font-size:16px !important;

    line-height:1.9 !important;

    margin-bottom:30px !important;

}

.vvr-slider-buttons{

    gap:14px !important;

}

}


/*====================================================
           EXTRA SMALL MOBILE
====================================================*/

@media (max-width:420px){

.vvr-slider-title{

    font-size:34px !important;

    line-height:1.28 !important;

}

.vvr-slider-description{

    font-size:15px !important;

    line-height:1.85 !important;

}

}

/*==================================================
      MOBILE FULL WIDTH HERO
===================================================*/

@media (max-width:767px){

/* Full width */
.vvr-home-slider,
#vvr-slider-wrapper,
#vvr-slider,
#vvr-slider .rev_slider_wrapper,
#vvr-slider .tp-parallax-wrap,
#vvr-slider .tp-caption{

    width:100% !important;
    max-width:100% !important;

}

/* Remove inner box look */

.vvr-slider-inner{

    width:100% !important;
    max-width:100% !important;

    padding:20px !important;

    background:transparent !important;
    border:none !important;
    box-shadow:none !important;

}

/* Hide subtitle */

.vvr-slider-subtitle{

    display:none !important;

}

/* Hide description */

.vvr-slider-description{

    display:none !important;

}

/* Smaller title */

.vvr-slider-title{

    font-size:38px !important;
    line-height:1.18 !important;

    margin-bottom:18px !important;

}

.vvr-slider-title strong{

    display:block;
    margin-top:10px !important;

}

/* Buttons */

.vvr-slider-buttons{

    margin-top:18px !important;

}

.vvr-slider-btn{

    width:220px !important;
    max-width:220px !important;

}

}

/*==========================================
   MOBILE SLIDER TYPOGRAPHY OVERRIDE
==========================================*/

@media (max-width:767px){

/* Small top text */
.vvr-slider-subtitle{
    font-size:13px !important;
    line-height:1.6 !important;
    letter-spacing:1px !important;
}

/* Main title */
.vvr-slider-title{
    font-size:32px !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;
    margin-bottom:14px !important;
}

/* Keep "Modern Roofing" in one line */
.vvr-slider-title br{
    display:none !important;
}

/* Gold text */
.vvr-slider-title strong{
    display:block !important;
    font-size:22px !important;
    line-height:1.3 !important;
    margin-top:10px !important;
}

/* Description */
.vvr-slider-description{
    font-size:15px !important;
    line-height:1.8 !important;
}

/* Buttons */
.vvr-slider-btn{
    font-size:14px !important;
    font-weight:700 !important;
}

}

/* Extra small mobiles */

@media (max-width:480px){

.vvr-slider-subtitle{
    font-size:12px !important;
}

.vvr-slider-title{
    font-size:28px !important;
}

.vvr-slider-title strong{
    font-size:20px !important;
}

.vvr-slider-description{
    font-size:14px !important;
    line-height:1.75 !important;
}

.vvr-slider-btn{
    font-size:13px !important;
}

}

/*==========================================
   SLIDER DESCRIPTION - BALANCED SIZE
==========================================*/

/* Desktop */
.vvr-slider-description,
.vvr-slider-description p{
    font-size:18px !important;
    line-height:1.75 !important;
    font-weight:400 !important;
}

/* Laptop */
@media(max-width:1199px){

.vvr-slider-description,
.vvr-slider-description p{
    font-size:17px !important;
    line-height:1.7 !important;
}

}

/* Tablet */
@media(max-width:991px){

.vvr-slider-description,
.vvr-slider-description p{
    font-size:16px !important;
    line-height:1.7 !important;
}

}

/* Mobile */
@media(max-width:767px){

.vvr-slider-description,
.vvr-slider-description p{
    font-size:15px !important;
    line-height:1.65 !important;
}

}

/* Small Mobile */
@media(max-width:480px){

.vvr-slider-description,
.vvr-slider-description p{
    font-size:14px !important;
    line-height:1.6 !important;
}

}


/* Desktop */
@media (min-width:992px){

    .vvr-navbar .navbar-toggler{
        display:none !important;
    }

}


/*==================================================
      VVR MOBILE MENU - FINAL OVERRIDE
==================================================*/

@media (max-width:991px){

/* Menu Container */

.vvr-navbar .navbar-collapse{

    background:#fff !important;

    padding:20px 28px 28px !important;

    border:0 !important;

    box-shadow:0 15px 35px rgba(0,0,0,.08) !important;

}

/* Remove all separator lines */

.vvr-navbar .navbar-nav,
.vvr-navbar .navbar-nav li,
.vvr-navbar .navbar-nav li a,
.vvr-navbar .navbar-nav .nav-link{

    border:none !important;
    border-top:none !important;
    border-bottom:none !important;

    box-shadow:none !important;

}

.vvr-navbar .navbar-nav li:before,
.vvr-navbar .navbar-nav li:after,
.vvr-navbar .navbar-nav .nav-link:before,
.vvr-navbar .navbar-nav .nav-link:after{

    display:none !important;
    content:none !important;

}

/* Menu Items */

.vvr-navbar .navbar-nav{

    width:100% !important;

    display:block !important;

}

.vvr-navbar .navbar-nav li{

    margin:0 0 8px !important;

}

.vvr-navbar .navbar-nav .nav-link{

    display:block !important;

    padding:14px 0 14px 18px !important;

    font-size:17px !important;

    font-weight:700 !important;

    color:#082550 !important;

    text-align:left !important;

    text-transform:uppercase !important;

    letter-spacing:.5px !important;

}

/* Hover */

.vvr-navbar .navbar-nav .nav-link:hover{

    color:#d89b2b !important;

}

/* Active */

.vvr-navbar .navbar-nav .active .nav-link,
.vvr-navbar .navbar-nav .nav-item.active .nav-link{

    background:#d89b2b !important;

    color:#fff !important;

    border-radius:30px !important;

    padding-left:20px !important;

}

/* Hide Quote Button */

.vvr-quote-item{

    display:none !important;

}

}


/*==================================================
          APPROVED ABOUT US SECTION
==================================================*/

.vvr-approved-about{
    position:relative;
    padding:90px 0;
    overflow:hidden;
    background:#ffffff;
}


/*==================================================
                    LEFT IMAGE
==================================================*/

.vvr-approved-about-image{
    position:relative;
    overflow:hidden;
    min-height:430px;
    border-radius:5px;
    box-shadow:0 18px 45px rgba(8,37,80,.12);
}

.vvr-approved-about-image::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:8px;
    height:100%;
    background:#d89b2b;
    transform:skewX(-7deg);
    transform-origin:bottom;
}

.vvr-approved-about-image img{
    display:block;
    width:100%;
    height:430px;
    object-fit:cover;
    transition:transform .7s ease;
}

.vvr-approved-about-image:hover img{
    transform:scale(1.05);
}


/*==================================================
                 MIDDLE CONTENT
==================================================*/

.vvr-approved-about-content{
    padding:10px 20px 10px 24px;
}

.vvr-approved-about-subtitle{
    display:block;
    margin-bottom:8px;
    color:#d89b2b;
    font-size:13px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.vvr-approved-about-content h2{
    margin:0;
    color:#082550;
    font-size:34px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.7px;
}

.vvr-approved-about-content h2 span{
    display:block;
    color:#082550;
}

.vvr-approved-title-line{
    width:52px;
    height:3px;
    margin:18px 0 24px;
    background:#d89b2b;
}

.vvr-approved-about-content p{
    margin:0 0 15px;
    color:#667085;
    font-size:14px;
    line-height:1.8;
    font-weight:400;
}

.vvr-approved-about-btn{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:12px;
    padding:12px 23px;
    border-radius:4px;
    color:#ffffff !important;
    background:#082550;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.4px;
    text-decoration:none !important;
    text-transform:uppercase;
    box-shadow:0 10px 24px rgba(8,37,80,.17);
    transition:all .35s ease;
}

.vvr-approved-about-btn i{
    color:#d89b2b;
    font-size:12px;
    transition:transform .35s ease;
}

.vvr-approved-about-btn:hover{
    color:#ffffff !important;
    background:#d89b2b;
    transform:translateY(-3px);
}

.vvr-approved-about-btn:hover i{
    color:#ffffff;
    transform:translateX(4px);
}


/*==================================================
                   RIGHT FEATURES
==================================================*/

.vvr-approved-about-features{
    position:relative;
    padding:2px 0 2px 30px;
    border-left:1px solid rgba(216,155,43,.65);
}

.vvr-approved-feature{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:27px;
}

.vvr-approved-feature:last-child{
    margin-bottom:0;
}

.vvr-approved-feature-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#d89b2b;
    font-size:22px;
    background:transparent;
    transition:all .35s ease;
}

.vvr-approved-feature:hover .vvr-approved-feature-icon{
    transform:translateY(-3px) scale(1.08);
}

.vvr-approved-feature-content{
    padding-top:1px;
}

.vvr-approved-feature-content h4{
    margin:0 0 5px;
    color:#082550;
    font-size:14px;
    line-height:1.35;
    font-weight:800;
    text-transform:uppercase;
}

.vvr-approved-feature-content p{
    margin:0;
    color:#6d7685;
    font-size:13px;
    line-height:1.65;
    font-weight:400;
}


/*==================================================
                     TABLET
==================================================*/

@media (max-width:991px){

    .vvr-approved-about{
        padding:75px 0;
    }

    .vvr-approved-about-image{
        min-height:auto;
        margin-bottom:45px;
    }

    .vvr-approved-about-image img{
        height:480px;
    }

    .vvr-approved-about-content{
        padding:0 30px 0 0;
    }

    .vvr-approved-about-features{
        padding-left:28px;
    }

}


/*==================================================
                      MOBILE
==================================================*/

@media (max-width:767px){

    .vvr-approved-about{
        padding:65px 0;
    }

    .vvr-approved-about-image{
        margin-bottom:35px;
    }

    .vvr-approved-about-image img{
        height:390px;
    }

    .vvr-approved-about-content{
        padding:0;
        margin-bottom:42px;
    }

    .vvr-approved-about-content h2{
        font-size:30px;
        line-height:1.2;
    }

    .vvr-approved-about-content p{
        font-size:14px;
        line-height:1.75;
    }

    .vvr-approved-about-features{
        padding:0;
        border-left:0;
    }

    .vvr-approved-feature{
        gap:14px;
        margin-bottom:24px;
    }

    .vvr-approved-feature-icon{
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:20px;
    }

}


/*==================================================
                  SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .vvr-approved-about-image img{
        height:320px;
    }

    .vvr-approved-about-content h2{
        font-size:27px;
    }

    .vvr-approved-about-subtitle{
        font-size:12px;
    }

    .vvr-approved-about-btn{
        min-height:44px;
        padding:11px 20px;
        font-size:11px;
    }

    .vvr-approved-feature-content h4{
        font-size:13px;
    }

    .vvr-approved-feature-content p{
        font-size:13px;
    }

}


/*==========================================
     ABOUT SECTION FINAL OVERRIDES
==========================================*/

/* Main Heading */
.vvr-approved-about-content h2{
    font-size:40px !important;
    line-height:1.15 !important;
}

/* Small Gold Title */
.vvr-approved-about-subtitle{
    font-size:15px !important;
    font-weight:700 !important;
    letter-spacing:1.5px !important;
}

/* Paragraph - Make readable */
.vvr-approved-about-content p{
    color:#222222 !important;
    font-size:15px !important;
    line-height:1.9 !important;
}

/* Right Side Titles */
.vvr-approved-feature-content h4{
    color:#082550 !important;
    font-size:17px !important;
    font-weight:700 !important;
    margin-bottom:8px !important;
}

/* Right Side Paragraph */
.vvr-approved-feature-content p{
    color:#222222 !important;
    font-size:14px !important;
    line-height:1.75 !important;
}

/* Feature Icons */
.vvr-approved-feature-icon{
    font-size:24px !important;
    color:#d89b2b !important;
}

/* Button */
.vvr-approved-about-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
}

/* Button Icon */
.vvr-approved-about-btn i{
    display:inline-block !important;
    font-size:13px !important;
    color:#d89b2b !important;
    margin-left:2px !important;
    transition:.3s;
}

.vvr-approved-about-btn:hover i{
    color:#ffffff !important;
    transform:translateX(4px);
}

/*==================================================
                 OUR SERVICES SECTION
==================================================*/

.vvr-services-section{
    position:relative;
    padding:85px 0 100px;
    overflow:hidden;
    background:#ffffff;
}


/*==================================================
                  SECTION HEADING
==================================================*/

.vvr-services-heading{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}

.vvr-services-subtitle{
    position:relative;
    display:inline-block;
    margin-bottom:8px;
    color:#d89b2b;
    font-size:15px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.vvr-services-heading h2{
    margin:0;
    color:#082550;
    font-size:38px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.7px;
}


/*==================================================
                    SERVICES GRID
==================================================*/

.vvr-services-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
}


/*==================================================
                    SERVICE CARD
==================================================*/

.vvr-service-card{
    position:relative;
    min-height:250px;
    padding:28px 17px 24px;
    overflow:hidden;
    text-align:center;
    border:1px solid #dfe4eb;
    border-radius:5px;
    background:#ffffff;
    box-shadow:0 8px 25px rgba(8,37,80,.04);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.vvr-service-card::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:3px;
    background:#d89b2b;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .35s ease;
}

.vvr-service-card:hover{
    border-color:rgba(216,155,43,.55);
    transform:translateY(-8px);
    box-shadow:0 18px 38px rgba(8,37,80,.12);
}

.vvr-service-card:hover::before{
    transform:scaleX(1);
}


/*==================================================
                    SERVICE ICON
==================================================*/

.vvr-service-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    color:#082550;
    font-size:37px;
    line-height:1;
    background:transparent;
    transition:
        color .35s ease,
        transform .35s ease;
}

.vvr-service-card:hover .vvr-service-icon{
    color:#d89b2b;
    transform:translateY(-4px);
}


/*==================================================
                    SERVICE CONTENT
==================================================*/

.vvr-service-card h3{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 12px;
    color:#082550;
    font-size:15px;
    line-height:1.4;
    font-weight:800;
    text-transform:uppercase;
}

.vvr-service-card p{
    margin:0;
    color:#222222;
    font-size:13px;
    line-height:1.7;
    font-weight:400;
}


/*==================================================
                  LARGE TABLET
==================================================*/

@media (max-width:1199px){

    .vvr-services-grid{
        grid-template-columns:repeat(3,1fr);
        gap:22px;
    }

    .vvr-service-card{
        min-height:245px;
        padding:28px 24px;
    }

    .vvr-service-card h3{
        min-height:auto;
        font-size:16px;
    }

    .vvr-service-card p{
        font-size:14px;
    }

}


/*==================================================
                       TABLET
==================================================*/

@media (max-width:991px){

    .vvr-services-section{
        padding:75px 0 85px;
    }

    .vvr-services-heading{
        margin-bottom:35px;
    }

    .vvr-services-heading h2{
        font-size:34px;
    }

}


/*==================================================
                       MOBILE
==================================================*/

@media (max-width:767px){

    .vvr-services-section{
        padding:65px 0 75px;
    }

    .vvr-services-grid{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
    }

    .vvr-services-heading h2{
        font-size:30px;
    }

    .vvr-services-subtitle{
        font-size:14px;
    }

    .vvr-service-card{
        min-height:235px;
        padding:25px 15px 22px;
    }

    .vvr-service-icon{
        width:56px;
        height:56px;
        margin-bottom:16px;
        font-size:32px;
    }

    .vvr-service-card h3{
        font-size:14px;
    }

    .vvr-service-card p{
        font-size:13px;
        line-height:1.65;
    }

}


/*==================================================
                   SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .vvr-services-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .vvr-service-card{
        min-height:auto;
        padding:28px 24px;
    }

    .vvr-service-card h3{
        min-height:auto;
        font-size:16px;
    }

    .vvr-service-card p{
        font-size:14px;
        line-height:1.7;
    }

}


.vvr-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.vvr-services-heading h2{
    margin:0;
    color:#082550;
    font-size:46px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-1px;
}

.vvr-services-subtitle{
    display:block;
    margin-bottom:10px;
    color:#d89b2b;
    font-size:16px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
}

.vvr-service-card h3{

    min-height:54px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 0 15px;

    color:#082550;

    font-size:20px;

    line-height:1.35;

    font-weight:800;

    text-transform:uppercase;

}
.vvr-service-card p{

    color:#222;

    font-size:15px;

    line-height:1.8;

}

@media(max-width:767px){

.vvr-services-grid{

    grid-template-columns:1fr;

}

.vvr-services-heading h2{

    font-size:34px;

}

.vvr-service-card h3{

    font-size:18px;

}

}

@media(max-width:991px){

.vvr-services-grid{

    grid-template-columns:repeat(2,1fr);

}

}

/*==================================================
   FINAL MOBILE OVERRIDE
   ADD AT THE VERY END OF CSS
==================================================*/

@media only screen and (max-width:767px){

    /*------------------------------------------
      ABOUT SECTION ORDER
    ------------------------------------------*/

    .vvr-approved-about .row{
        display:flex !important;
        flex-direction:column !important;
    }

    /* Content first */
    .vvr-approved-about .col-lg-4:nth-child(2),
    .vvr-approved-about .col-md-6:nth-child(2){
        order:1 !important;
    }

    /* Image second */
    .vvr-approved-about .col-lg-4:nth-child(1),
    .vvr-approved-about .col-md-12:nth-child(1){
        order:2 !important;
    }

    /* Features third */
    .vvr-approved-about .col-lg-4:nth-child(3),
    .vvr-approved-about .col-md-6:nth-child(3){
        order:3 !important;
    }

    .vvr-approved-about-content{
        width:100% !important;
        padding:0 !important;
        margin:0 0 35px !important;
    }

    .vvr-approved-about-image{
        width:100% !important;
        margin:0 0 40px !important;
    }

    .vvr-approved-about-features{
        width:100% !important;
        padding:0 !important;
        margin:0 !important;
        border-left:0 !important;
    }


    /*------------------------------------------
      SERVICES — ONE ITEM PER ROW
    ------------------------------------------*/

    .vvr-services-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:22px !important;
        width:100% !important;
    }

    .vvr-service-card{
        width:100% !important;
        min-height:300px !important;
        height:auto !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;

        padding:32px 24px !important;
        margin:0 !important;

        text-align:center !important;
    }

    .vvr-service-card h3{
        width:100% !important;
        min-height:52px !important;
        height:auto !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 0 14px !important;

        font-size:19px !important;
        line-height:1.35 !important;
        text-align:center !important;
    }

    .vvr-service-card p{
        width:100% !important;
        margin:0 !important;

        color:#222222 !important;
        font-size:15px !important;
        line-height:1.75 !important;
        text-align:center !important;
    }

}

/*==================================================
                  PROJECT GALLERY
==================================================*/

.vvr-projects-section{
    position:relative;
    padding:90px 0 100px;
    overflow:hidden;
    background:#ffffff;
}

.vvr-projects-heading{
    max-width:850px;
    margin:0 auto 42px;
    text-align:center;
}

.vvr-projects-subtitle{
    display:block;
    margin-bottom:8px;
    color:#d89b2b;
    font-size:16px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.vvr-projects-heading h2{
    margin:0;
    color:#082550;
    font-size:42px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.8px;
}


/* Gallery Grid */

.vvr-projects-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}


/* Gallery Item */

.vvr-project-item{
    position:relative;
    display:block;
    height:245px;
    overflow:hidden;
    border-radius:7px;
    background:#e9edf2;
    box-shadow:0 8px 24px rgba(8,37,80,.08);
    cursor:zoom-in;
}

.vvr-project-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .6s ease;
}

.vvr-project-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(8,37,80,.55);
    opacity:0;
    transition:opacity .35s ease;
}

.vvr-project-zoom{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#082550;
    font-size:18px;
    border-radius:50%;
    background:#ffffff;
    transform:scale(.7);
    transition:
        transform .35s ease,
        color .35s ease,
        background .35s ease;
}

.vvr-project-item:hover img{
    transform:scale(1.08);
}

.vvr-project-item:hover .vvr-project-overlay{
    opacity:1;
}

.vvr-project-item:hover .vvr-project-zoom{
    transform:scale(1);
}

.vvr-project-zoom:hover{
    color:#ffffff;
    background:#d89b2b;
}


/*==================================================
                   GALLERY POPUP
==================================================*/

.vvr-gallery-popup{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:70px 90px;
    visibility:hidden;
    opacity:0;
    background:rgba(2,15,34,.94);
    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.vvr-gallery-popup.is-open{
    visibility:visible;
    opacity:1;
}

.vvr-gallery-popup-content{
    position:relative;
    width:auto;
    max-width:1100px;
    max-height:85vh;
    text-align:center;
}

.vvr-gallery-popup-content img{
    display:block;
    width:auto;
    max-width:100%;
    max-height:78vh;
    margin:auto;
    object-fit:contain;
    border-radius:5px;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
}

.vvr-gallery-counter{
    margin-top:14px;
    color:#ffffff;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
}


/* Close Button */

.vvr-gallery-close{
    position:absolute;
    top:24px;
    right:28px;
    z-index:5;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    color:#ffffff;
    font-size:20px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    background:transparent;
    cursor:pointer;
    transition:.3s ease;
}

.vvr-gallery-close:hover{
    color:#082550;
    border-color:#d89b2b;
    background:#d89b2b;
    transform:rotate(90deg);
}


/* Navigation Arrows */

.vvr-gallery-arrow{
    position:absolute;
    top:50%;
    z-index:5;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    color:#082550;
    font-size:28px;
    border:0;
    border-radius:50%;
    background:#ffffff;
    cursor:pointer;
    transform:translateY(-50%);
    transition:.3s ease;
}

.vvr-gallery-prev{
    left:25px;
}

.vvr-gallery-next{
    right:25px;
}

.vvr-gallery-arrow:hover{
    color:#ffffff;
    background:#d89b2b;
}


/* Prevent page scroll when popup is open */

body.vvr-gallery-open{
    overflow:hidden !important;
}


/*==================================================
                       TABLET
==================================================*/

@media (max-width:991px){

    .vvr-projects-section{
        padding:75px 0 85px;
    }

    .vvr-projects-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vvr-projects-heading h2{
        font-size:36px;
    }

    .vvr-project-item{
        height:235px;
    }

}


/*==================================================
                       MOBILE
==================================================*/

@media (max-width:767px){

    .vvr-projects-section{
        padding:65px 0 75px;
    }

    .vvr-projects-heading{
        margin-bottom:32px;
    }

    .vvr-projects-heading h2{
        font-size:31px;
        line-height:1.25;
    }

    .vvr-projects-subtitle{
        font-size:14px;
    }

    /* One image in each row */

    .vvr-projects-grid{
        grid-template-columns:1fr !important;
        gap:18px;
    }

    .vvr-project-item{
        width:100%;
        height:245px;
    }

    .vvr-project-overlay{
        opacity:1;
        align-items:flex-end;
        justify-content:flex-end;
        padding:15px;
        background:linear-gradient(
            to top,
            rgba(8,37,80,.45),
            transparent 45%
        );
    }

    .vvr-project-zoom{
        width:43px;
        height:43px;
        font-size:16px;
        transform:none;
    }

    .vvr-gallery-popup{
        padding:70px 15px 55px;
    }

    .vvr-gallery-popup-content{
        width:100%;
    }

    .vvr-gallery-popup-content img{
        max-height:70vh;
    }

    .vvr-gallery-close{
        top:15px;
        right:15px;
        width:42px;
        height:42px;
    }

    .vvr-gallery-arrow{
        top:auto;
        bottom:15px;
        width:46px;
        height:46px;
        font-size:24px;
        transform:none;
    }

    .vvr-gallery-prev{
        left:calc(50% - 58px);
    }

    .vvr-gallery-next{
        right:calc(50% - 58px);
    }

    .vvr-gallery-counter{
        margin-top:12px;
        padding-bottom:50px;
    }

}


/*==================================================
                 WHY CHOOSE US
==================================================*/

.vvr-why-section{
    position:relative;
    padding:25px 0 35px;
    overflow:hidden;
    background:#ffffff;
}

.vvr-why-wrap{
    display:grid;
    grid-template-columns:1.15fr 2.85fr;
    align-items:stretch;
    min-height:210px;
    overflow:hidden;
    border-radius:8px;
    background:#06265a;
    box-shadow:0 18px 45px rgba(6,38,90,.15);
}


/*==================================================
                    LEFT CONTENT
==================================================*/

.vvr-why-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:35px 38px;
}

.vvr-why-subtitle{
    display:block;
    margin-bottom:10px;
    color:#d89b2b;
    font-size:15px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.vvr-why-content h2{
    margin:0;
    color:#ffffff;
    font-size:28px;
    line-height:1.35;
    font-weight:800;
    letter-spacing:-.4px;
}

.vvr-why-line{
    width:45px;
    height:3px;
    display:block;
    margin-top:22px;
    background:#d89b2b;
}


/*==================================================
                     STATS GRID
==================================================*/

.vvr-why-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
}

.vvr-why-stat{
    position:relative;
    min-height:145px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:18px 15px;
    text-align:center;
}

.vvr-why-stat:not(:last-child)::after{
    content:"";
    position:absolute;
    top:20%;
    right:0;
    width:1px;
    height:60%;
    background:rgba(216,155,43,.55);
}


/*==================================================
                         ICON
==================================================*/

.vvr-why-icon{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:8px;
    color:#d89b2b;
    font-size:31px;
    line-height:1;
    transition:
        transform .35s ease,
        color .35s ease;
}

.vvr-why-stat:hover .vvr-why-icon{
    color:#ffffff;
    transform:translateY(-4px);
}


/*==================================================
                       CONTENT
==================================================*/

.vvr-why-stat h3{
    margin:0 0 7px;
    color:#ffffff;
    font-size:27px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
}

.vvr-why-stat p{
    margin:0;
    color:#ffffff;
    font-size:12px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
}


/*==================================================
                       TABLET
==================================================*/

@media(max-width:991px){

    .vvr-why-wrap{
        grid-template-columns:1fr;
    }

    .vvr-why-content{
        align-items:center;
        padding:35px 25px 25px;
        text-align:center;
    }

    .vvr-why-content h2{
        font-size:30px;
    }

    .vvr-why-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .vvr-why-stat:nth-child(2)::after{
        display:none;
    }

    .vvr-why-stat:nth-child(1),
    .vvr-why-stat:nth-child(2){
        border-bottom:1px solid rgba(255,255,255,.12);
    }

}


/*==================================================
                       MOBILE
==================================================*/

@media(max-width:767px){

    .vvr-why-section{
        padding:15px 0 65px;
    }

    .vvr-why-wrap{
        border-radius:7px;
    }

    .vvr-why-content{
        padding:35px 20px 28px;
    }

    .vvr-why-subtitle{
        font-size:14px;
    }

    .vvr-why-content h2{
        font-size:27px;
        line-height:1.35;
    }

    .vvr-why-stats{
        grid-template-columns:1fr;
    }

    .vvr-why-stat{
        min-height:auto;
        padding:28px 20px;
        border-top:1px solid rgba(255,255,255,.12);
    }

    .vvr-why-stat:not(:last-child)::after{
        display:none;
    }

    .vvr-why-stat:nth-child(1),
    .vvr-why-stat:nth-child(2){
        border-bottom:0;
    }

    .vvr-why-icon{
        font-size:34px;
    }

    .vvr-why-stat h3{
        font-size:29px;
    }

    .vvr-why-stat p{
        font-size:13px;
    }

}

.vvr-why-content h2{

    font-size:38px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:#ffffff !important;

}
.vvr-why-subtitle{

    font-size:17px !important;
    font-weight:700 !important;
    letter-spacing:2px !important;

}

.vvr-why-stat h3{

    font-size:42px !important;
    font-weight:800 !important;
    line-height:1 !important;
    margin-bottom:12px !important;
    color:#ffffff !important;

}
.vvr-why-stat p{

    font-size:16px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
    color:#ffffff !important;
    text-transform:uppercase;
    letter-spacing:.8px;

}
.vvr-why-icon{

    font-size:38px !important;
    margin-bottom:15px !important;

}
.vvr-why-stats{

    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:0 !important;

}

.vvr-why-stat::after{

    display:none !important;

}
.vvr-why-stat{

    border-right:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);

}

.vvr-why-stat:nth-child(2),
.vvr-why-stat:nth-child(4){

    border-right:0;

}

.vvr-why-stat:nth-child(3),
.vvr-why-stat:nth-child(4){

    border-bottom:0;

}
@media(max-width:767px){

.vvr-why-stats{

    grid-template-columns:1fr !important;

}

.vvr-why-stat{

    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;

}

.vvr-why-stat:last-child{

    border-bottom:0 !important;

}

.vvr-why-content h2{

    font-size:32px !important;

}

.vvr-why-stat h3{

    font-size:36px !important;

}

.vvr-why-stat p{

    font-size:15px !important;

}

}


/*==================================================
          FOOTER WHITE VERSION
==================================================*/

.vvr-footer{

    background:#ffffff !important;

    color:#082550 !important;

    border-top:1px solid #ececec;

}

.vvr-footer img{

    max-width:220px;

}

.vvr-footer h4{

    color:#082550 !important;

    font-size:24px;

    font-weight:700;

    margin-bottom:28px;

}

.vvr-footer-about p{

    color:#555555 !important;

    font-size:15px;

    line-height:1.9;

}

.vvr-footer ul li{

    color:#555555 !important;

    font-size:15px;

    line-height:1.9;

}

.vvr-footer ul li a{

    color:#555555 !important;

    transition:.3s;

}

.vvr-footer ul li a:hover{

    color:#d89b2b !important;

    padding-left:6px;

}

.vvr-footer li i{

    color:#d89b2b !important;

}


/* Social Icons */

.vvr-footer-social{

    display:flex;

    gap:12px;

}

.vvr-footer-social a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#082550;

    color:#ffffff !important;

    transition:.35s;

}

.vvr-footer-social a:hover{

    background:#d89b2b;

    color:#ffffff;

    transform:translateY(-4px);

}


/* Vertical Divider */

.vvr-footer .col-lg-2,
.vvr-footer .col-lg-3,
.vvr-footer .col-lg-4{

    position:relative;

}

.vvr-footer .col-lg-2:not(:last-child)::after,
.vvr-footer .col-lg-3:not(:last-child)::after,
.vvr-footer .col-lg-4:not(:last-child)::after{

    content:"";

    position:absolute;

    top:15px;

    right:15px;

    width:1px;

    height:85%;

    background:#e6e6e6;

}


/* Bottom Copyright */

.vvr-footer-bottom{

    background:#082550;

    border-top:0;

    color:#ffffff;

    padding:18px 0;

    font-size:15px;

    text-align:center;

    margin-top:55px;

}


/* Mobile */

@media(max-width:991px){

.vvr-footer .col-lg-2::after,
.vvr-footer .col-lg-3::after,
.vvr-footer .col-lg-4::after{

    display:none;

}

.vvr-footer{

    text-align:center;

}

.vvr-footer-social{

    justify-content:center;

}

}
/*==========================================
        FOOTER FINAL OVERRIDES
==========================================*/

/* Space from top border */
.vvr-footer{

    padding-top:90px !important;

}

/* Increase top spacing of columns */

.vvr-footer-about,
.vvr-footer-links,
.vvr-footer-contact{

    padding-top:15px;

}

/* Headings */

.vvr-footer h4{

    color:#082550 !important;

    font-size:24px;

    font-weight:700;

}

/* Paragraph */

.vvr-footer-about p{

    color:#222222 !important;

    font-size:15px;

    line-height:1.9;

    font-weight:500;

}

/* Links */

.vvr-footer ul li,
.vvr-footer ul li a{

    color:#222222 !important;

    font-size:15px;

    font-weight:500;

    line-height:1.9;

}

/* Hover */

.vvr-footer ul li a:hover{

    color:#d89b2b !important;

}

/* Contact Icons */

.vvr-footer li i{

    color:#d89b2b;

}

/* Vertical Divider */

.vvr-footer .col-lg-2,
.vvr-footer .col-lg-3,
.vvr-footer .col-lg-4{

    padding-top:15px;
    padding-bottom:20px;

}

/* Mobile */

@media(max-width:991px){

    .vvr-footer{

        padding-top:70px !important;

    }

}

/*==================================================
              CONTACT / GET A QUOTE
==================================================*/

.vvr-contact-section{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    background:#f7f8fa;
}

.vvr-contact-heading{
    max-width:750px;
    margin:0 auto 48px;
}

.vvr-contact-subtitle{
    display:block;
    margin-bottom:10px;
    color:#d89b2b;
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.vvr-contact-heading h2{
    margin:0 0 15px;
    color:#082550;
    font-size:42px;
    line-height:1.25;
    font-weight:700;
}

.vvr-contact-heading p{
    margin:0;
    color:#333333;
    font-size:17px;
    line-height:1.8;
    font-weight:400;
}


/*==================================================
                     GOOGLE MAP
==================================================*/

.vvr-map-wrapper{
    width:100%;
    height:100%;
    min-height:615px;
    overflow:hidden;
    border-radius:8px;
    background:#eaeaea;
    box-shadow:0 15px 40px rgba(8,37,80,.08);
}

.vvr-map-wrapper iframe{
    display:block;
    width:100%;
    height:100%;
    min-height:615px;
    border:0;
}


/*==================================================
                    CONTACT FORM
==================================================*/

.vvr-contact-form-box{
    height:100%;
    padding:45px;
    border-radius:8px;
    background:#ffffff;
    box-shadow:0 15px 40px rgba(8,37,80,.08);
}

.vvr-form-small-title{
    display:block;
    margin-bottom:7px;
    color:#d89b2b;
    font-size:15px;
    line-height:1.5;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
}

.vvr-contact-form-box h3{
    margin:0 0 28px;
    color:#082550;
    font-size:30px;
    line-height:1.3;
    font-weight:700;
}

.vvr-form-group{
    position:relative;
    margin-bottom:21px;
}

.vvr-form-group label{
    display:block;
    margin-bottom:8px;
    color:#111111;
    font-size:15px;
    line-height:1.5;
    font-weight:600;
}

.vvr-form-group label span{
    color:#d89b2b;
}

.vvr-form-group input,
.vvr-form-group select,
.vvr-form-group textarea{
    display:block;
    width:100%;
    min-height:52px;
    padding:13px 16px;
    border:1px solid #dddddd;
    border-radius:4px;
    outline:none;
    background:#ffffff;
    color:#111111;
    font-family:inherit;
    font-size:15px;
    font-weight:400;
    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}

.vvr-form-group textarea{
    min-height:125px;
    resize:vertical;
}

.vvr-form-group input::placeholder,
.vvr-form-group textarea::placeholder{
    color:#777777;
}

.vvr-form-group input:focus,
.vvr-form-group select:focus,
.vvr-form-group textarea:focus{
    border-color:#d89b2b;
    box-shadow:0 0 0 3px rgba(216,155,43,.12);
}

.vvr-form-group.vvr-has-error input,
.vvr-form-group.vvr-has-error select,
.vvr-form-group.vvr-has-error textarea{
    border-color:#d93025;
}

.vvr-error{
    display:block;
    min-height:18px;
    margin-top:5px;
    color:#d93025;
    font-size:12px;
    line-height:1.4;
}


/*==================================================
                    SUBMIT BUTTON
==================================================*/

.vvr-form-submit{
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:13px 25px;
    border:0;
    border-radius:4px;
    background:#082550;
    color:#ffffff;
    font-family:inherit;
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    cursor:pointer;
    transition:
        background-color .3s ease,
        transform .3s ease;
}

.vvr-form-submit i{
    font-size:20px;
}

.vvr-form-submit:hover{
    background:#d89b2b;
    color:#ffffff;
    transform:translateY(-2px);
}

.vvr-form-note{
    margin:13px 0 0;
    color:#555555;
    font-size:13px;
    line-height:1.6;
    text-align:center;
}


/*==================================================
                       TABLET
==================================================*/

@media(max-width:991px){

    .vvr-contact-section{
        padding:80px 0;
    }

    .vvr-contact-heading h2{
        font-size:36px;
    }

    .vvr-map-wrapper{
        height:450px;
        min-height:450px;
        margin-bottom:30px;
    }

    .vvr-map-wrapper iframe{
        min-height:450px;
    }

    .vvr-contact-form-box{
        height:auto;
    }

}


/*==================================================
                       MOBILE
==================================================*/

@media(max-width:767px){

    .vvr-contact-section{
        padding:65px 0;
    }

    .vvr-contact-heading{
        margin-bottom:35px;
    }

    .vvr-contact-heading h2{
        font-size:30px;
    }

    .vvr-contact-heading p{
        font-size:15px;
    }

    .vvr-map-wrapper{
        height:360px;
        min-height:360px;
    }

    .vvr-map-wrapper iframe{
        min-height:360px;
    }

    .vvr-contact-form-box{
        padding:30px 20px;
    }

    .vvr-contact-form-box h3{
        font-size:25px;
    }

    .vvr-form-submit{
        font-size:15px;
    }

}

.vvr-map-wrapper{
    width:100%;
    height:550px;
    overflow:hidden;
    border-radius:8px;
    background:#eeeeee;
}

.vvr-map-wrapper iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

@media(max-width:767px){

    .vvr-map-wrapper{
        height:380px;
    }

}


.vvr-map-wrapper{
    position:relative;
    width:100%;
    height:615px;
    overflow:hidden;
    border-radius:8px;
    background:#eeeeee;
    box-shadow:0 15px 40px rgba(8,37,80,.08);
}

.vvr-map-wrapper iframe{
    position:absolute;
    top:0;
    left:0;
    width:100% !important;
    height:100% !important;
    border:0 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

@media(max-width:991px){
    .vvr-map-wrapper{
        height:450px;
        min-height:450px;
    }
}

@media(max-width:767px){
    .vvr-map-wrapper{
        height:380px;
        min-height:380px;
    }
}


/* Contact Info */

.vvr-contact-info{

    height:100%;
    padding:50px;
    border-radius:8px;
    background:#082550;
    color:#fff;

}

.vvr-contact-info h3{

    color:#fff;
    font-size:34px;
    margin-bottom:20px;
    font-weight:700;

}

.vvr-contact-info>p{

    color:rgba(255,255,255,.85);
    margin-bottom:35px;
    line-height:1.9;

}

.vvr-contact-item{

    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:28px;

}

.vvr-contact-icon{

    width:58px;
    height:58px;
    border-radius:50%;
    background:#d89b2b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    flex-shrink:0;

}

.vvr-contact-item h5{

    color:#fff;
    font-size:20px;
    margin-bottom:6px;
    font-weight:700;

}

.vvr-contact-item a,
.vvr-contact-item p{

    color:#fff;
    margin:0;
    text-decoration:none;

}

.vvr-contact-item a:hover{

    color:#d89b2b;

}

@media(max-width:991px){

.vvr-contact-info{

    margin-bottom:30px;

}

}

/* Fix section position when clicking menu links */
#why-us{
    scroll-margin-top:110px;
}

#home,
#about,
#services,
#projects,
#why-us,
#contact{
    scroll-margin-top:110px;
}
@media(max-width:991px){

    #home,
    #about,
    #services,
    #projects,
    #why-us,
    #contact{
        scroll-margin-top:90px;
    }

}