/* Senior Vita - Menu responsivo v3.2.1 */
.sv-sidebar{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.sv-sidebar .sv-brand{flex:0 0 auto;}

.sv-sidebar .sv-nav{
  flex:1 1 auto;
  min-height:0;
}

.sv-sidebar>hr,
.sv-sidebar>button{flex:0 0 auto;}

.sv-nav-accordion{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.sv-nav-group{
  display:block !important;
  flex:0 0 auto;
}

.sv-nav-link,
.sv-nav-toggle,
.sv-submenu a{
  width:100%;
  border:0;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:8px;
  transition:.18s ease;
}

.sv-nav-link,
.sv-nav-toggle{
  padding:10px 12px;
  color:rgba(255,255,255,.92);
  background:transparent;
}

.sv-nav-toggle{
  justify-content:space-between;
  text-align:left;
  font:inherit;
  cursor:pointer;
}

.sv-nav-toggle>span{
  display:flex;
  align-items:center;
  gap:10px;
}

.sv-nav-link:hover,
.sv-nav-toggle:hover,
.sv-nav-toggle.active{
  background:rgba(255,255,255,.10);
  color:#fff;
}

.sv-nav-link.active{
  background:rgba(255,255,255,.16);
  color:#fff;
  font-weight:600;
}

.sv-nav-chevron{
  font-size:.75rem;
  transition:transform .2s ease;
}

.sv-nav-toggle[aria-expanded="true"] .sv-nav-chevron{
  transform:rotate(180deg);
}

.sv-submenu{
  display:none;
  padding-top:4px;
}

.sv-submenu.open{
  display:block;
}

.sv-submenu a{
  padding:8px 12px 8px 38px;
  color:rgba(255,255,255,.76);
  font-size:.92rem;
}

.sv-submenu a:hover,
.sv-submenu a.active{
  color:#fff;
  background:rgba(255,255,255,.09);
}

.sv-submenu a.active{
  font-weight:600;
}

@media (min-width:992px){
  .sv-sidebar{
    height:100vh;
    position:fixed;
    top:0;
    bottom:0;
  }

  .sv-sidebar .sv-nav{
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:2px;
  }
}

@media (max-width:991.98px){
  .sv-sidebar{
    position:fixed!important;
    left:0;
    top:0;
    bottom:0;
    height:100dvh!important;
    width:min(86vw,320px)!important;
    z-index:1055;
    transform:translateX(-102%);
    transition:transform .25s ease;
    box-shadow:0 0 32px rgba(0,0,0,.25);
  }

  .sv-sidebar.open{
    transform:translateX(0);
  }

  .sv-overlay{
    position:fixed;
    inset:0;
    z-index:1050;
    background:rgba(15,23,42,.48);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
  }

  .sv-overlay.show{
    opacity:1;
    visibility:visible;
  }

  .sv-sidebar .sv-nav{
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:2px;
  }

  .sv-main{
    margin-left:0!important;
    width:100%!important;
  }

  .sv-submenu a{
    padding-top:10px;
    padding-bottom:10px;
  }

  .sv-nav-toggle,
  .sv-nav-link{
    min-height:44px;
  }
}

/* Marca / logo da sidebar */
.sv-sidebar .sv-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    padding-left: 12px;
    padding-right: 12px;
}

/* Logo */
.sv-sidebar .sv-brand img {
    display: block;
    margin: 0 auto 10px;
    max-width: 180px;
    max-height: 90px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Nome da empresa */
.sv-sidebar .sv-brand .company-name,
.sv-sidebar .sv-brand [data-company-name] {
    display: block;
    width: 100%;
    max-width: 220px;

    white-space: normal !important;
    overflow-wrap: break-word;
    word-wrap: break-word;

    text-align: center;
    line-height: 1.25;
    font-size: 15px;
    font-weight: 600;

    margin: 0 auto;
}

@media (max-width: 991.98px) {

    .sv-sidebar .sv-brand img {
        max-width: 150px;
        max-height: 75px;
    }

    .sv-sidebar .sv-brand .company-name,
    .sv-sidebar .sv-brand [data-company-name] {
        max-width: 200px;
        font-size: 14px;
    }
}