/* ==========================================================================
   Vision Dental â€” Custom styles (Bootstrap 3)
   ========================================================================== */

:root{
  --gold:#C6A574;
  --gold-light:#DAC098;
  --gold-accent:#C39E67;
  --cream:#F3E2C7;
  --cream-soft:#F6EBD9;
  --dark:#363636;
  --tan:#A38B68;
  --white:#ffffff;
}

*{box-sizing:border-box;}

body{
  font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;
  color:#4a4a4a;
  font-size:20px;
  line-height:1.6;
  margin:0;
  padding:0;
  background:#fff url(https://visiondentalfl.blob.core.windows.net/content/images/vd-pattern.webp) repeat;
}


div#ModalAppointmentRequest .modal-dialog {
    overflow-x: hidden;
}

.container-fluid.main-body-content {padding-left: 0;padding-right: 0;}

img{max-width:100%;height:auto;}
a{color:var(--gold-accent);text-decoration:none;transition:all .2s;}
a:hover,a:focus{color:var(--tan);text-decoration:none;}

h1,h2,h3,h4,h5{font-family:'Montserrat',sans-serif;color:var(--dark);}

.container {max-width: 1500px; width: 100%;}

/* ---------- Buttons ---------- */
.main-btn{
  display:inline-block;
  background:var(--gold);
  color:#fff;
  border:none;
  padding:12px 30px;
  font-size:14px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  border-radius:0px;
  cursor:pointer;
  transition:all .25s;
  border-radius: 30px;
}
.main-btn:hover,.main-btn:focus{background:var(--tan);color:#fff;}
.main-btn.white-bg{background:#fff;color:var(--gold-accent);}
.main-btn.white-bg:hover{background:var(--gold);color:#fff;}

/* focus visibility for accessibility */
a:focus,button:focus,.main-btn:focus{outline:3px solid #8a6d3b;outline-offset:2px;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.top-bar{
     background-color: #F6EBD9;
  border-bottom:1px solid #eee;
  font-size:20px;
  padding:0px 0;
}
.top-bar .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.phone-contact{display:flex;flex-wrap:wrap;align-items:center;gap:25px;}
.phone-contact .phone{display:inline-flex;align-items:center;gap:8px;color:var(--dark);font-weight:600;}
.phone-contact .address{display:inline-flex;align-items:center;gap:8px;margin:0;color:#413a2f;font-size:20px;text-transform: uppercase;}
.phone-contact svg{flex:none;}
.top-button-wrap{display:flex;gap:0px;align-items:center;margin-left: auto}
.top-button-wrap .main-btn{padding:9px 22px;font-size:18px;opacity: .8;border-radius: 0px}
.top-button-wrap .main-btn + .main-btn {opacity: 1}

/* ==========================================================================
   HEADER / SINGLE UNIFIED NAV
   ========================================================================== */
.headerarea{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);position:relative;z-index:100;}

.nav-bar-row{position:relative;display:flex;align-items:center;justify-content:center;padding:6px 0;}

/* mobile logo + hamburger â€” hidden on desktop */
.mobile-logo{display:none;}
.main-nav-toggle{display:none;}

.main-nav-container{width:100%;}
.main-nav-container .nav{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  list-style:none;
  margin:0;padding:0;
}
.main-nav-container .nav > li{position:relative;}
.main-nav-container .nav > li > a{
  display:block;
  padding:14px 14px;
  color:var(--dark);
  font-size:22px;
  font-weight:400;
  letter-spacing:1px;
  text-transform:uppercase;
}
.main-nav-container .nav > li > a:hover,
.main-nav-container .nav > li.current-menu-ancestor > a{color:var(--gold);}

/* dropdown toggle caret */
.main-nav-container .nav > li.dropdown > a .caret{
  margin-left:5px;color:var(--gold);
}
.main-nav-container .dropdown-submenu > a .caret{
  border:0;margin-left:5px;
}
.main-nav-container .dropdown-submenu > a .caret::before{content:'\25B8';color:var(--gold);font-size:11px;}

/* Center logo inside the nav */
.main-nav-container .middle-logo{display:block;margin:0 18px;}
.main-nav-container .middle-logo > a{padding:0;text-indent:-9999px;display:block;width: 118px;height: 119px;background:url(https://visiondentalfl.blob.core.windows.net/content/images/logo.webp) center/contain no-repeat;}

/* Dropdowns â€” CLICK to open (Bootstrap-style .open class added by JS) */
.main-nav-container .dropdown-menu{
  position:absolute;
  top:100%;left:0;
  min-width:240px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  list-style:none;
  margin:0;padding:8px 0;
  border-top:3px solid var(--gold);
  display:none;
  z-index:200;
}
.main-nav-container li.open > .dropdown-menu{display:block;}
.main-nav-container .dropdown-menu li{position:relative;}
.main-nav-container .dropdown-menu a{
  display:block;
  padding:9px 20px;
  color:#555;
  font-size:22px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.3px;
  white-space:nowrap;
}
.main-nav-container .dropdown-menu a:hover{background:var(--cream);color:var(--gold-accent);}
/* nested submenu opens to the right */
.main-nav-container .dropdown-submenu{position:relative;}
.main-nav-container .dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-8px;}
.main-nav-container .dropdown-submenu > a{position:relative;padding-right:28px;}
.main-nav-container .dropdown-submenu > a .caret{position:absolute;right:14px;top:14%;transform:translateY(-50%);}

/* ==========================================================================
   MOBILE NAV TOGGLE (hamburger) â€” styles only; shown via responsive rules
   ========================================================================== */
.main-nav-toggle span{
  display:block;
  width:100%;height:4px;
  background:var(--gold);
  border-radius:2px;
  margin:5px 0;
  transition:all .3s;
}
.main-nav-toggle.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.main-nav-toggle.open span:nth-child(2){opacity:0;}
.main-nav-toggle.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ==========================================================================
   BANNER / HERO
   ========================================================================== */
.bannerarea{
  background:url(https://visiondentalfl.blob.core.windows.net/content/images/home-banner-bg.webp) center/cover no-repeat;
  min-height:420px;
  display:flex;
  align-items:center;
  position:relative;
}
.bannerarea::after{content:'';position:absolute;inset:0;background:rgba(30,35,40,.25);}
.banner-content{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 20px;width:100%;}
.page-title{
  color:#fff;
  font-size:48px;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
  margin:0;
}

/* Home hero specific overlay text */
.home-hero{
  background:url(https://visiondentalfl.blob.core.windows.net/content/images/home-banner-bg.webp) center/cover no-repeat;
  min-height: 600px;
  display:flex;
  align-items:center;
  position:relative;
  background-position: 80% 42%;
}
.home-hero:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.89) 2.21%, rgba(255, 255, 255, 0.72) 31.02%, rgba(255, 255, 255, 0.52) 54.77%, rgba(255, 255, 255, 0) 71.39%);
    height: 100%;
    width: 75vw;
    }
.home-hero::after{content:'';position:absolute;inset:0;background:rgba(30,35,40,.12);}
.home-hero .banner-content{color:#fff;position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 20px;width:100%;}
.home-hero .banner-logo-overlay{
  display:block;
  max-width:100%;
  margin-bottom:-10px;
  margin-left:-10px;
}
.home-hero .mission-tag{
  display:inline-block;
  color:#413a2f;
  padding:6px 0;
  font-weight:700;
  font-size:30px;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:16px;
  background:none;
}
.home-hero .hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.home-hero .hero-btns .main-btn{background:rgba(198,165,103,.92);}
.home-hero .hero-btns .main-btn:hover{background:var(--tan);}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.section-pad{padding:90px 0;}
.text-center-block{text-align:center;max-width:1200px;margin:0 auto;}
.eyebrow{
  color:var(--gold);
  font-size:14px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.section-heading{
  font-size:50px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.25;
  margin:0 0 20px;
}

/* Welcome */
section.welcome-section.section-pad {background-size: cover;
                        background-position: center;
                        background-repeat: no-repeat;
                        background-image: url(https://visiondentalfl.blob.core.windows.net/content/images/logo-repeat-bg.webp);
                        text-align: center;}
.welcome-section .section-heading{font-size:65px;line-height:1.15;max-width:1200px;margin-left:auto;margin-right:auto;}
.welcome-section p{color:#666;max-width:1200px;margin:0 auto 15px;}
p.eyebrow {
    font-size: 44px;
    color: #413a2f;
    font-weight: 300;
}

/* Trusted dentist band */
.trusted-band{background:#C6A574;}
.trusted-band .row{display:flex;flex-wrap:wrap;align-items:center;}
.trusted-band .img-col{padding:0;}
.trusted-band .img-col img{width:100%;display:block;}
.trusted-band .text-col{padding:50px;color:#fff;}
.trusted-band .eyebrow {
    color: #fff;
    line-height: 60px;
    letter-spacing: 1px;
    font-weight: 600;
}
.trusted-band h3{color:#fff;font-size:36px;line-height:1.15;font-weight:400;margin:0 0 20px;}
.trusted-band p{color:#fff;margin-bottom:25px;}
.trusted-band .main-btn{background:#fff;color:var(--gold-accent);}
.trusted-band .eyebrow {
  font-size: 30px;
  line-height: 46px !important;
    color: #fff;
    line-height: 60px;
    letter-spacing: 1px;
    font-weight: 600;
}
/* Featured services */
.services-section{background:transparent;text-align:left;position: relative;margin-bottom: 200px}
section.services-section.section-pad:before {
    content: '';
    background: #DAC098;
    height: 300px;
    bottom: 0;
    left: 0;
    right: 0;
    position: absolute;
}
section.services-section.section-pad .main-btn {
    position: relative;
    z-index: 9;
    float: right;
    background: #fff;
    color: #c6a26c;
}
.services-section .see-our{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:13px;}
.service-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:35px;}
.service-card{
  position:relative;
  width:280px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.service-card {}

.services-track .service-card .service-content.transition {
  opacity: 0;
    position: absolute;
    top: 0;
    background: rgb(255 255 255 / 90%);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: calc(100% - 22px);
    margin: auto;
    padding: 20px;
    border-radius: 16px;
    transition: .5s all;
    text-align: center;
}
.services-track .service-card .service-content.transition h3 {
    font-size: 28px;
}
.services-track .service-card .service-content.transition .learn-more {color: #C6A574; font-weight: 900}
.services-track .service-card:hover span.label{display: none;}
.services-track .service-card:hover .service-content.transition{opacity: 1;transition: .5s all;}
a.cardlink {
    position: absolute;
    z-index: 9;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.service-card img{width:100%;height:280px;object-fit:cover;display:block;}
.service-card .label{
  position:absolute;
  bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.75));
  color:#fff;
  padding:40px 15px 18px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:16px;
}
.services-section .main-btn{margin-top:35px;}

/* Testimonials */
.testimonials{
  background-color: rgba(243, 226, 199, 0.8);;
  text-align:center;
  color:#413a2f;
  position:relative;
}
.testimonials .eyebrow{color:#413a2f;font-size: 44px;}
section.modern-section h3 {
    color: #fff;
}


.testimonials .stars{color:#dac098;font-size:60px;letter-spacing:4px;margin:10px 0;}
.testimonials .quote{font-size:22px;max-width:840px;margin:0 auto 15px;}
.testimonials .author{font-weight:700;letter-spacing:1px;}
.testimonials .t-btns{display:flex;gap:12px;justify-content:center;margin-top:25px;}
.testimonials .main-btn{background:#c39e67;color:#fff;}
.testimonials .main-btn + .main-btn{background:#c39e67;color:#fff;}
.testimonials .main-btn + .main-btn {
    border: 2px solid #c39e67;
    background: no-repeat;
    color: #c39e67;
}
/* Modern dentistry */
.modern-section .row{display:flex;flex-wrap:wrap;align-items:center;}
.modern-section .text-col{background:#C6A574;color:#fff;padding:60px 50px;}
.modern-section .text-col h2{color:#fff;font-size:34px;line-height:1.2;font-weight:700;text-transform:uppercase;line-height:1.3;margin:0 0 20px;}
.modern-section .text-col p{color:#fff;}
.modern-section .img-col{padding:0;}
.modern-section .img-col img{width:100%;height:100%;object-fit:cover;display:block;}
.modern-section .main-btn{background:#fff;color:var(--gold-accent);margin-top:15px;}

section.modern-section {
    background: #C6A574;
}


/* Why choose */
.why-choose{background:transparent;text-align:left;}
.why-choose .section-heading{margin-bottom:45px;}
.why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;background:#DAC098;border-radius:0px;padding:100px 20px;}
.why-item{flex:1;min-width:180px;max-width:250px;text-align: center;}
.why-item .icon{
  width:70px;height:70px;
  margin:0 auto 18px;
  border-radius:50%;
  background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:30px;
}
.why-item h3{color:#fff;font-size:30px;font-weight:700;letter-spacing:.5px;}
.why-choose .main-btn{margin-top:40px;}

/* Flexible / local CTA */
.local-cta{background:#F6EBD9;text-align:center;}
.local-cta .section-heading{margin-bottom:20px;color: #a38b68}
.local-cta p{margin:0 auto 25px;color:#C6A574;}

/* ==========================================================================
   MAP CTA
   ========================================================================== */
.map-cta{background:transparent;display:flex;flex-wrap:wrap;align-items:stretch;}
.map-cta .map-left{position:relative;width:50%;min-height:470px;}
.map-cta .map-left img,.map-cta .map-left iframe{width:100%;height:470px;object-fit:cover;border:none;display:block;}
.map-cta .book-right{width:50%;display:flex;align-items:center;padding:40px 60px;background-size: cover;background-position: center;background-repeat: no-repeat;background-image: url(https://visiondentalfl.blob.core.windows.net/content/images/logo-repeat-bg.webp);}
.book-content{max-width:100%px;}
.book-title{
  font-size:40px;font-weight:700;text-transform:uppercase;line-height:1.15;
  color:var(--dark);margin:0 0 18px;
}
.inline-img {
    float: right;
    margin: 10px;
    margin-top: 10px !important;
}

.ms-dropdown {
    width: 100%;
    padding: 10px;
    border: 1px solid silver;
}
.ms-dropdown option {
    padding: 10px;
}
 .row.review-row {
                        justify-content: center;
                        gap: 25px;
                        display: FLEX;
                        flex-wrap: wrap;
                    }

                     .single-review {
                        background-color: #F6EBD9;
                        padding: 25px;
                        display: flex;
                        flex-direction: column;
                        max-width: 450px;
                        width: 100%;
                    }


.single-review h4 {
    font-weight: 800;
}

 .social-review-links {
                        margin: 0;
                        list-style: none;
                    }

                    .social-review-links li {
                        display: inline-block;
                        vertical-align: middle;
                        margin-right: 15px;
                        cursor: pointer;
                        text-align: center;
                        position: relative;
                    }

                    .social-review-links li svg {
                        display: block;
                        width: 75px;
                        height: 75px;
                        transform: scale(1);
                        transition: all 0.2s;
                    }

                    .social-review-links li:hover svg {
                        transform: scale(1.1);
                    }

                    .social-review-links li:last-child svg {
                        padding-left: 12px;
                    }

                    .social-review-links li a[href*='g'] svg {
                        fill: #4285f4;
                    }

                    .social-review-links li a[href*='yelp'] svg {
                        fill: #d32323;
                    }
*[class*='social'] svg.external-link, a[aria-label] svg.external-link {
    opacity: 0;
    height: 0;
    width: 0;
    margin: 0;
}
.contact-page-info > div {
    display: flex;
    color: #000;
}

.contact-page-info div * {
    color: #000;
}

.contact-page-info > div > div {
    width: 50%;
    padding: 20px;
}

.contact-page-info div * table.formatted-hours th, .contact-page-info div * table.formatted-hours td {
    border: 1px solid #d1d1d1;
    padding: 10px;
}
.gallery {
    display: flex;
    flex-wrap: wrap;
}

.gallery > a {
    flex: 0 0 50%;
    padding: 19px;
}

.gallery > a img {
    min-height: 400px;
    max-height: 400px;
    object-fit: cover;
    width: 100%;
}
div#html5-text {
    display: none !important;
}
.modal-backdrop {z-index: 9}
.book-title br{display:block;}
.book-content > p{color:#2d2d2d;margin-bottom:22px;}
.book-line{display:flex;align-items:center;gap:10px;color:var(--dark);font-weight:600;margin-bottom:14px;}
.book-line svg{flex:none;}

/* Locations */
.locations-section{background:var(--cream);padding:30px 20px 55px;text-align:center;}
.locations-section p{color:var(--tan);text-transform:capitalize;font-weight:700;font-size:28px;margin-bottom:20px;}
.location-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.location-item{
  background:#fff;
  border-radius:100px;
  font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  padding:12px 32px;
  min-width:220px;
  color:#2d2d2d;
}

/* ==========================================================================
   INTERNAL PAGE CONTENT
   ========================================================================== */
.main-wrap{padding:55px 0;position:relative;z-index:2;overflow:hidden;}
.main-wrap::after{
  content:'';position:absolute;bottom:40px;left:40px;
  background:url(https://visiondentalfl.blob.core.windows.net/content/images/reviews-watermark.webp) no-repeat;
  background-size:contain;
  width:400px;height:284px;opacity:.5;z-index:-1;
}
.main-wrap .container{max-width:1600px;}
.contentsection{display:flex;flex-wrap:wrap;}
.post_content p{margin-bottom:18px;color:#555;}
.post_content h2{font-size:28px;font-weight:700;margin:30px 0 15px;color:var(--dark);}
.post_content h3{font-size:22px;font-weight:700;margin:25px 0 12px;color:var(--gold-accent);}

/* Sidebar */
.internal-sidebar{padding-left:30px;}
.internal-container{
  position:relative;
  padding:35px;
  max-width:533px;margin:0 auto;
  color:#fff;
  border-radius:25px;
  overflow:hidden;
  background:var(--gold);
}
.internal-container::after{content:'';position:absolute;inset:0;background:rgba(195,158,103,.35);z-index:0;border-radius:25px;}
.internal-sidebar-content{position:relative;z-index:1;}
.internal-container h4{color:#fff;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:1px;}
.internal-apt a{display:flex;align-items:center;gap:15px;color:#fff;margin-bottom:20px;}
.internal-info p{color:#fff;margin-bottom:25px;}
.internal-container .phone.client-info{display:flex;align-items:center;gap:15px;color:#fff;margin-bottom:26px;}
.internal-container .phone.client-info h4{margin:0;}
.internal-container .main-btn{display:block;text-align:center;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer-container{
  font-size:20px;
  padding:70px 25px 15px;
  text-align:center;
  background:var(--gold-light);
  color:#fff;
  border-top:42px solid var(--gold);
}
.footer-container .container{max-width:1600px;}
.footer-container .row{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;margin-bottom:40px;}
.footer-logo-col{display:flex;align-items:center;justify-content:center;}
.footer-logo-col img{}
.cta-hours{max-width:840px;width:100%;text-align:left;display:flex;flex-wrap:wrap;}
.footer-section-title{color:#fff;font-size:30px;font-weight:700;text-transform:uppercase;margin:0 0 20px;}
.footer-cta,.footer-hours{flex:1;min-width:280px;padding:0 15px;}
.foot-address,.foot-phone{display:flex;align-items:center;gap:8px;color:#fff;line-height:1.3;margin-bottom:15px;}
.foot-social{list-style:none;padding:0;margin:15px 0 0;display:flex;gap:12px;}
.foot-social svg{width:40px;height:40px;fill:var(--gold-light);background:#fff;border-radius:7px;padding:6px;}
.formatted-hours{width:100%;color:#fff;}
.formatted-hours td,.formatted-hours th{padding:4px 0;}
.formatted-hours td.day{padding-right:2em;text-align:left;}
.formatted-hours .text-right{text-align:right;}
.attr{font-size:16px;max-width:1129px;margin:0 auto;color:#fff;}
.attr a{color:#fff;text-decoration:underline;}
.consultation .row.radio-row {
    padding: 15px;
    font-size: 16px;
}
.consultation label.checkbox-label span {
    margin-left: 10px;
    font-weight: 400;
}
#ModalAppointmentRequest form#leadGenForm1 .form-control {
    margin-bottom: 10px;
    border-radius: 0px;
}



/* ==========================================================================
   FEATURED SERVICES CAROUSEL
   ========================================================================== */
.services-section .see-our{display:block;margin-bottom:2px;font-size: 30px;
    font-weight: 400;color: #2d2d2d;
    margin-bottom: 0;}
.services-carousel{position:relative;margin-top:35px;padding:0 55px;}
.services-track-wrap{overflow:hidden;}
.services-track{
  display:flex;
  transition:transform .45s ease;
}
.services-track .service-card{
  flex:0 0 33.3333%;
  max-width:33.3333%;
  padding:0 12px;
  width:auto;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}
.services-track .service-card .card-inner{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  display:block;
}
.services-track .service-card img{width:100%;height:360px;object-fit:cover;display:block;}
.services-track .service-card .card-inner{border-radius:16px;}
.services-track .service-card .label{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
  color:#fff;padding:50px 22px 24px;
  font-weight:700;letter-spacing:.5px;text-transform:capitalize;font-size:22px;line-height:1.2;
}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;
  background:none;color:var(--gold);border:none;cursor:pointer;
  font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;
  z-index:5;transition:color .2s;
}
.carousel-arrow:hover{color:var(--tan);}
.carousel-arrow.prev{left:-10px;}
.carousel-arrow.next{right:-10px;}
/* testimonials keep the circular style */
.testimonials .t-arrows .carousel-arrow{
  background:var(--gold);color:#fff;border-radius:50%;width:44px;height:44px;font-size:20px;
}
.testimonials .t-arrows .carousel-arrow:hover{background:var(--tan);color:#fff;}

/* ==========================================================================
   TESTIMONIALS CAROUSEL
   ========================================================================== */
.testimonials{overflow:hidden;}
.testimonials::before{
  content:'';position:absolute;left:-40px;top:50%;transform:translateY(-50%);
  width:640px;height:540px;
  background:url(https://visiondentalfl.blob.core.windows.net/content/images/reviews-watermark.webp) center/contain no-repeat;
  opacity:.18;z-index:0;
}
.testimonials .container{position:relative;z-index:1;}
.testi-track-wrap{overflow:hidden;max-width:720px;margin:0 auto;}
.testi-track{display:flex;transition:transform .45s ease;}
.testi-slide{flex:0 0 100%;max-width:100%;padding:0 10px;}
.testimonials .t-arrows{display:flex;justify-content:center;gap:30px;margin-top:22px;}
.testimonials .t-arrows .carousel-arrow{position:static;transform:none;font-size: 35px;}

/* ==========================================================================
   WHY CHOOSE â€” real icon images
   ========================================================================== */
.why-item .icon{
  width:110px;height:110px;margin:0 auto 18px;
  background:transparent;border-radius:0;
}
.why-item .icon img{width:100%;height:100%;object-fit:contain;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1300px){
  .map-cta{flex-direction:column;}
  .map-cta .map-left,.map-cta .book-right{width:100%;}
  .map-cta .book-right{padding:40px 25px;justify-content:center;text-align:center;}
  .book-line{justify-content:center;}
}
@media (max-width:991px){
  /* show mobile logo + hamburger, hide centered logo */
  .nav-bar-row{justify-content:space-between;padding:10px 0;}
  .mobile-logo{display:block;}
  .mobile-logo img{height:52px;width:auto;}
  .main-nav-toggle{
    display:block;
    width:40px;height:34px;
    background:none;border:none;padding:0;cursor:pointer;
  }
  .main-nav-container .middle-logo{display:none;}

  /* collapsible menu panel */
  .main-nav-container{
    display:none;
    position:absolute;left:0;right:0;top:100%;
    background:#fff;
    border-top:1px solid #eee;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
    z-index:300;
  }
  .main-nav-container.open{display:block;}
  .main-nav-container .nav{flex-direction:column;align-items:stretch;}
  .main-nav-container .nav > li{border-bottom:1px solid #f0f0f0;}
  .main-nav-container .nav > li > a{
    padding:14px 20px;font-size:14px;
  }
  /* dropdown-menu: static, click-expand on mobile */
  .main-nav-container .dropdown-menu{
    position:static;
    box-shadow:none;border-top:none;
    min-width:auto;
    background:#faf7f2;
    padding:0;
    float:none;
  }
  .main-nav-container .dropdown-menu a{padding:12px 34px;border-bottom:1px solid #f0f0f0;white-space:normal;}
  .main-nav-container .dropdown-submenu > .dropdown-menu{left:0;margin-top:0;background:#f3ede3;}
  .main-nav-container .dropdown-submenu > .dropdown-menu a{padding-left:48px;}
  /* caret sits at right on mobile rows */
  .main-nav-container .dropdown-submenu > a .caret{right:20px;}

  .trusted-band .text-col,.modern-section .text-col{padding:40px 30px;}
  .page-title{font-size:36px;}
  .internal-sidebar{padding-left:15px;margin-top:30px;}
  .services-track .service-card{flex:0 0 50%;max-width:50%;}
}
@media (max-width:600px){
  .footer-container{padding:35px 20px;}
  .section-pad{padding:45px 0;}
  .section-heading{font-size:26px;}
  .page-title{font-size:28px;}
  .home-hero .page-title{font-size:30px;}
  .top-bar .row{justify-content:center;text-align:center;gap:10px;}
  .services-carousel{padding:0 44px;}
  .services-track .service-card{flex:0 0 100%;max-width:100%;}
}


/*subpage*/


    /* ===== Banner ===== */
    .subpagesection .bannerarea {
        position: relative;
        background-image: url('https://visiondentalfl.blob.core.windows.net/content/images/internal-banner-bg.webp');
        background-size: cover;
        background-position: center;
        min-height: 420px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
 

 
    .subpagesection .banner-content {
      max-width: 100%;
        position: relative;
        z-index: 2;
        text-align: center;
        padding: 40px 20px;
    }
 
    .subpagesection .page-title {
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 65px;
        line-height: 1.25;
        text-shadow: none;
        margin: 0;
    }
 
    /* ===== Main content wrap ===== */
    .subpagesection .main-wrap {
        padding: 60px 0;
        background: #fff;
    }
 
    .subpagesection .post_content h2 strong,
    .subpagesection .post_content h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 44px;
        text-transform: uppercase;
        color: #363636;
        line-height: 1.3;
        margin-bottom: 20px;
    }
 
    .subpagesection .post_content h3 strong,
    .subpagesection .post_content h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 35px;
        color: #363636;
        margin: 30px 0 15px;
    }
    .subpagesection .bannerarea {text-align: center;}
 .subpagesection .bannerarea::after{content: none;}
    .subpagesection .post_content p {
        font-size: 20px;
        line-height: 1.7;
        margin-bottom: 18px;
        color: #4a4a4a;
    }
 
    .subpagesection .post_content ul {
        padding-left: 18px;
        margin-bottom: 20px;
    }
 
    .subpagesection .post_content ul li {
        font-size: 20px;
        line-height: 1.8;
    }
 
    .subpagesection .post_content ul li a {
        font-weight: 600;
    }
 
    /* ===== Sidebar card ===== */
    .subpagesection .internal-sidebar {
        margin-top: 10px;
    }
 
    .subpagesection .internal-container {
        position: relative;
        border-radius: 25px;
        overflow: hidden;
        padding: 40px 30px;
        background-image: url('https://visiondentalfl.blob.core.windows.net/content/images/sidebar-bg.webp');
        background-size: cover;
        background-position: center;
        color: #fff;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
 
    .subpagesection .internal-container:after {
        content: "";
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(195, 158, 103, 0.78);
        z-index: 0;
    }
 
    .subpagesection .internal-sidebar-content {
        position: relative;
        z-index: 1;
    }
 
    .subpagesection .internal-apt {
        text-align: center;
        margin-bottom: 25px;
    }
 
    .subpagesection .internal-apt svg {
        width: 45px;
        height: 46px;
        fill: #fff;
        margin-bottom: 15px;
    }
 
    .subpagesection .internal-apt h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 18px;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin: 0;
        color: #fff;
    }
 
    .subpagesection .internal-info p {
        font-size: 20px;
        line-height: 1.6;
        margin-bottom: 25px;
        color: #fff;
    }
 
    .subpagesection .phone.client-info {
        display: flex;
        align-items: center;
        margin-bottom: 25px;
        color: #fff;
        text-decoration: none;
    }
 
    .subpagesection .phone.client-info .phone-icon {
        width: 22px;
        height: 32px;
        border: 2px solid #fff;
        border-radius: 4px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
    }
 
    .subpagesection .phone.client-info h4 {
        margin: 0;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 20px;
        color: #fff;
    }
 
    .subpagesection .main-btn.white-bg {
        display: block;
        width: 100%;
        background: #fff;
        color: #A38B68;
        text-align: center;
        font-weight: 800;
        font-size: 15px;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 16px 10px;
        border-radius: 50px;
        text-decoration: none;
        transition: all 0.2s;
    }
 
    .subpagesection .main-btn.white-bg:hover {
        background: #f3e2c7;
        text-decoration: none;
        color: #A38B68;
    }

    .subpagesection .main-wrap::after{
          background: url(https://visiondentalfl.blob.core.windows.net/content/images/internal-watermark.webp) no-repeat;
              width: 683px;
    height: 485px;
    background-size: cover;
    opacity: 1;

    }

    .internal-sidebar-content .siderbarappt {
    font-weight: 700;
    font-size: 25px;
    display: inline-block;
}
a.phone.client-info span.sidebarphn {
    font-weight: 700;
    font-size: 22px;
    position: relative;
    left: -10px;
}

.post_content  {
    margin-top: 20px;
}

.post_content  .panel {
    border: 1px solid #ddd;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 10px;
}

.post_content  .panel-heading {
    padding: 0;
    background: #f7f7f7;
    border: 0;
    border-radius: 0;
}

.post_content  .panel-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.4;
}

.post_content  .panel-title > a {
    display: block;
    padding: 16px 45px 16px 20px;
    color: #333;
    text-decoration: none;
    position: relative;
}

.post_content  .panel-title > a:hover,
.post_content  .panel-title > a:focus {
    color: #333;
    text-decoration: none;
}

.post_content  .panel-title > a:after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 400;
}

.post_content  .panel-title > a[aria-expanded="true"]:after {
    content: "−";
}

.post_content  .panel-collapse {
    border-top: 1px solid #ddd;
}

.post_content  .panel-body {
    padding: 18px 20px;
    font-size: 16px;
    line-height: 1.7;
    color: #555;
}

.post_content  .panel-body p:last-child {
    margin-bottom: 0;
}



 
    @media (max-width: 991px) {
        .subpagesection .page-title { font-size: 34px; }
        .subpagesection .internal-sidebar { margin-top: 40px; }
    }
 
    @media (max-width: 767px) {
        .subpagesection .bannerarea { min-height: 300px; }
        .subpagesection .page-title { font-size: 26px; }
        p.eyebrow {font-size: 30px;        line-height: 48px !important;}
        .welcome-section .section-heading {font-size: 45px;}
        .phone-contact {justify-content: center;}
        .home-hero .banner-logo-overlay {max-width: 37%;}
        .home-hero{min-height: 440px;}
        .contact-page-info > div > div {
    width: 100%;
    padding: 20px;
}
    }