/* here you can put your own css to customize and override the theme */
.page-header .page-header-menu {
    /* background: #EEF1F5 none repeat scroll 0 0 !important; */
    /* border: 1px solid #e3e8ec; */
}

.page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li.active > a, .page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li.active > a:hover, .page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li.current > a, .page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li.current > a:hover {
    /* background: #333333 none repeat scroll 0 0;
    color: #f1f1f1; */
}

.page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li > a, .page-header .page-header-menu .hor-menu.hor-menu-light .navbar-nav > li > a > i {
    /* color: #333333; */
}



 .top-menu .navbar-nav > li.dropdown-inbox > .dropdown-toggle > .circle {
    border-radius: 50% !important;
    float: left;
    font-family: "Open Sans",sans-serif;
    font-weight: 300;
    margin-top: -5px;
    padding: 3px 10px 4px;
}
 .top-menu .navbar-nav > li.dropdown-inbox > .dropdown-toggle > .corner {
    border-style: solid;
    border-width: 8px 0 9px 9px;
    float: left;
    height: 0;
    margin-left: -4px;
    width: 0;
}

.npad{
    padding: 0px !important;
}

.npl{
    padding-left: 0px !important;
}
.npr{
    padding-right: 0px !important;
}
.overh{
    overflow: hiddden;
}
.pad5{
    padding: 5px !important;
}
.imgveh{
    width: 25px; 
}
.circle-alert {
    background-color: #32c5d2;
    color: #fff;
    border-radius: 50% !important;
    float: left;
    font-family: "Open Sans",sans-serif;
    font-weight: 300;
    margin-top: -5px;
    padding: 3px 10px 4px;
}

.allUser{
    float: left;
    margin-top: -32px !important;	
}
.maxtext{
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow: ellipsis;
}
.ml5{
    margin-left: 5px; 
}
.pdl5{
    padding-left: 5px;
}

.pdl15{
    padding-left: 15px !important;
}
.grey{
    background-color:#E5E5E5 !important;
    color: #333!important;
}
.mt-element-list .list-default.ext-1.mt-list-container {
    padding: 0px !important;
}

.circle-alert {
    background-color: #32c5d2;
    color: #fff;
    border-radius: 25px !important;
    font-family: "Open Sans",sans-serif;
    font-weight: 300;
    margin-top: 0px;
    padding: 1px 8px 2px;
    float: right;
    margin-left: 3px;
}
.nb{
    border: 0px !important;
}

#contentListDispo{
    margin-bottom: 0px;
    overflow-y:hidden;
    overflow-x:hidden;
}
#lisdispo{
    margin-bottom: 0px;
    overflow-y:scroll;
    overflow-x:hidden;
}
#mapaDiv{
    overflow: hidden;
}

.page-footer{
    max-height: 30px;
    font-size: 12px !important;
} 
.mt5{
    margin-top: 5px;
}

.pingIp{
    float: right;
    margin-top: -55px;
}
#listUsers .message{
    margin-left: 0px !important;
}
.chatboxcontent{
    width: 225px !important;
}

#map{
    width: 100%;
}

.labels_marker {
    color: #ffffff;
    background-color: #333333;
    font-family: "Lucida Grande", "Arial", sans-serif;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    width: 100;     
    border: 2px solid black;
}

.labels_marker .label{
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.loading-message {
    color: #000 !important;
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
}

.divInfo {
    overflow-x: hidden;
    width: 470px;
}

.direction{
    background-color: #FFF;
    border-radius: 73% !important;
    margin-left: 0px;
    margin-top: -3px;
    padding: 2px;
    border: 1px solid #c1ccd1;
}

.sombra{
    -webkit-box-shadow: 1px -1px 4px -1px rgba(50, 50, 50, 0.7);
    -moz-box-shadow:    1px -1px 4px -1px rgba(50, 50, 50, 0.7);
    box-shadow:         1px -1px 4px -1px rgba(50, 50, 50, 0.7);
}

.mayus{
    text-transform: uppercase !Important;
}


/* white background and box outline */
.gm-style > div:first-child > div + div > div:last-child > div > div:first-child > div
{
    /* we have to use !important because we are overwritng inline styles */
    background-color: transparent !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
}

/* arrow colour */
 

/* close button */
.gm-style > div:first-child > div + div > div:last-child > div > div:last-child {
    margin-right: 20px;
    margin-top: 14px;
}

/* image icon inside close button */
.gm-style > div:first-child > div + div > div:last-child > div > div:last-child > img
{
    display: block;
}

/* positioning of infowindow */
.gm-style-iw
{
    top: 22px !important;
    left: 22px !important;
}

.gm-style-iw-d
{
    margin-bottom: 10px;
}

#iw-container{
    padding-right: 15px;
    background: white; 
    padding-bottom: 10px;
    margin-bottom:  0px;
}
.infoWin{
    min-width: 513px; 
     /* esto se monto nuevo para poder arreglar el problema de blur de chrome con la version 3.53, esto hace que se quede fija el tamano del infowindow*/
     max-width: 513px;       
}

 .leaflet-div-icon {
      background: none!important;
      border: none!important;
    }
.mt-element-ribbon {
    margin-bottom: 0px !important;
    padding-bottom: 1px !important;
}
.mt-element-ribbon .ribbon-content{
    padding-top: 0px !important;
}

.listInfo li{
   list-style-type: none; padding-left:0px; 
}



.bg-white-steel {
    background: #fff none repeat scroll 0 0 !important;
}

.listInfo .label.label-sm{
     padding: 0 5px !important;
}
.portlet.box.green {
    border: 0px !important;
}
.labels_marker{
   opacity: 0.7;
}

.mt-element-list .list-default.group .list-toggle-container .list-toggle {     
    padding: 9px 9px 9px 27px; 
}

.check-user-list{
    margin-left: 3px;
    margin-top: -27px;
}
.allUser{
    margin: 0px !important;
    position: absolute !important;
}

.check-user-list span{
    background: #ffffff !important;
}
.pdl25{
    padding-left: 25px !important;
}
.sombra-list{
    -webkit-box-shadow: 4px -11px 38px -19px rgba(112,112,112,0.73);
-moz-box-shadow: 4px -11px 38px -19px rgba(112,112,112,0.73);
box-shadow: 4px -11px 38px -19px rgba(112,112,112,0.73);
}

#div_contenedor_tacometro{
    position:absolute;
    top: 80px;
    right: 5px;
    z-index:1000;    
}
.mt-element-ribbon .ribbon, .mt-element-ribbon .ribbon.ribbon-color-default, .mt-element-ribbon .ribbon.ribbon-color-default > .ribbon-sub, .mt-element-ribbon .ribbon > .ribbon-sub {
    background-color: #fff !important;
    color: #bebebe !important;
}

.mejs-container, .mejs-offscreen {
    display: none !important;
}
.poi-info-window{
  background: #FFF !important;
  padding: 5px !important;
}

.page-header .page-header-top .page-logo .logo-default {
    margin: -3.5px 0 0 !important;
}
.page-header .page-header-top .page-logo {
    width: 200px !important;
}

ul li#reloj a{
    color: #FFF !important;
}
#menu-right li a:hover{
    background: #444d58 !important;
}

#over_map {
    background: white none repeat scroll 0 0;
    font-size: 13px;
    font-weight: bold;
    left: 122px;
    padding: 6px;
    position: relative;
    top: 10px;
    z-index: 999;
    width: 75px;
}
 

/*QUICK SIDEBAR*/
 
.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li.active > a, .page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li:hover > a {
   border-color: -moz-use-text-color -moz-use-text-color #32c5d2 !important; 
}

.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li > a {
    border-color: -moz-use-text-color -moz-use-text-color rgba(50, 197, 210, 0.3) !important;  
}
.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading , .page-quick-sidebar-wrapper , .page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub{
    color: #fff !important;
}
#listGeo li.media{
    border-bottom: 1px solid; 
}

#listGeo img.media-object{
    background: white;
    padding: 4px;
}

/*VERSION 2*/
.page-header.navbar { 
    height: 80px !important; 
}
.page-header.navbar .page-logo .logo-default {
    margin: 0 10px !important;
}
.page-quick-sidebar-wrapper .page-quick-sidebar, .page-quick-sidebar-wrapper {
    background: #fff none repeat scroll 0 0 !important;
}
.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li.active > a, .page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li:hover > a { 
    color: #000; 
}
.page-quick-sidebar-wrapper .page-quick-sidebar .list-heading, .page-quick-sidebar-wrapper, .page-quick-sidebar-wrapper .page-quick-sidebar .page-quick-sidebar-chat .page-quick-sidebar-chat-users .media-list .media .media-body .media-heading-sub {
    color: #000 !important;
}

.page-quick-sidebar-wrapper{
 box-shadow: 0px 0px 10px 4px rgba(119, 119, 119, 0.75);
-moz-box-shadow: 0px 0px 10px 4px rgba(119, 119, 119, 0.75);
-webkit-box-shadow: 0px 0px 10px 4px rgba(119, 119, 119, 0.75);
}
.page-quick-sidebar-toggler > i:hover {
    color: #000 !important;
}

.page-quick-sidebar-wrapper .page-quick-sidebar .list-items > li:hover {
    background: #FFF none repeat scroll 0 0;
}
.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li .dropdown-menu {
    background: #fff none repeat scroll 0 0; 
}
.btn-group > .dropdown-menu::before, .dropdown-toggle > .dropdown-menu::before, .dropdown > .dropdown-menu::before {
    border-bottom: 8px solid #e0e0e0 !important; 
}
.btn-group > .dropdown-menu::after, .dropdown-toggle > .dropdown-menu::after, .dropdown > .dropdown-menu::after {
    border-bottom: 7px solid #e0e0e0 !important; 
}

 
.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li .dropdown-menu > li:hover > a {
    background-color: #f6f6f6;
    background-image: none;
    color: #555;
    filter: none;
    text-decoration: none;
}
.page-quick-sidebar-wrapper .page-quick-sidebar .nav-tabs > li .dropdown-menu > li.active > a {
    background: #f6f6f6 none repeat scroll 0 0;
    color: #555;
}
.badge-custom {
    border-radius: 12px !important;
    color: #fff;
    font-size: 11px !important;
    font-weight: 300;
    height: 23px;
    padding: 3px 5px;
    text-align: center;
    text-shadow: none !important;
}

 
.bellv2{
    position: absolute;
    font-weight: 300;
    height: 12px;
    right: 1px;
    top: 26px;
    padding: 3px 4px;
}

.modal-content .portlet{
    margin-bottom: 0px !important;
}

.bg-gray{
   background: #EEF1F5 !important; 
}

#myTabContent .panel{
    margin-bottom: 0px !important;
}

 

#pac-input {
  background-color: #fff;
  font-family: Roboto;
  font-size: 15px;
  font-weight: 300;
  margin-left: 12px;
  padding: 0 11px 0 13px;
  text-overflow: ellipsis;
  width: 300px;
  left: 92px !important;
  float: left;
  position: relative;
  z-index: 2147483647;
  top: 41px;
}
.controls {
  margin-top: 10px;
  border: 1px solid transparent;
  border-radius: 2px 0 0 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  height: 32px;
  outline: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}


.carList{
    margin-left:15px;
    margin-bottom: 5px !important;
}

.userList{
    margin-bottom: 5px !important;
}

.form-container{
    background: #E9ECF3;
    padding: 10px;    
}

.form-container form{
    background: #FFF;
}
.form-container form .form-body{
    padding: 20px;
}

.input-group-btn, .input-group{
    vertical-align: top !important;
}

/* Selects de hora (h/m/s): ancho mínimo usable + degradado flexible en pantallas angostas.
   Evita que los selects se compriman a ~30px (imposibles de scrollear) cuando la columna es estrecha.
   Usado en reporte.php, reporte_alarmas.php, reporte_geocerca.php, reporte_encendido.php. */
.hora-selector{
    display: flex;
    flex-wrap: wrap;
}

.hora-selector > select.form-control{
    flex: 1 1 60px;
    width: auto;
    min-width: 58px;
}

.hora-selector > .input-group-addon{
    flex: 0 0 auto;
    width: auto;
}

.help-block{
    text-align: left !important;
}

.has-error22 .checkbox, .has-error2 .checkbox-inline, .has-error2 .control-label, .has-error2 .form-control-feedback, .has-error2 .help-block, .has-error2 .radio, .has-error2 .radio-inline, .has-error2.checkbox label, .has-error2.checkbox-inline label, .has-error2.radio label, .has-error2.radio-inline label {
    color: #e73d4a;
}
.has-error2 .form-control {
    border-color: #e73d4a;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
}
.has-error2 .form-control:focus {
    border-color: #d71b29;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 6px #f2989f;
}
.has-error2 .input-group-addon {
    background-color: #fbe1e3;
    border-color: #e73d4a;
    color: #e73d4a;
} 

.help-block-error{
    margin-top: 0px !important;
}
.table th{
    vertical-align: top !important;
}
.userid{
    margin-right: 3% !important;
}

.bgtable{
    background: #e9ecf3 !important;
}

.bgtable{
   background: #e9ecf3;
}

.table-scrollable .dataTable td .btn-group, .table-scrollable .dataTable th .btn-group {
    position: relative !important;
}
.chatbox{
    z-index: 3000000;
}

.alert-success{
    color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6;
} 
.portlet.box.custom > .portlet-title, .portlet.custom, .portlet > .portlet-body.custom {
    background-color: #444d58;
}

.portlet.custom > .portlet-title > .caption > i { 
    color: #fff;
}

 
.page-header .page-header-top .top-menu .navbar-nav > li.dropdown-inbox > .dropdown-toggle > .corner {
    border-color: transparent transparent transparent #3FABA4;
}

.label-success { 
    color:#ffffff; 
    background-color:#009900; 
}
/*
.main-menu-icono {
    color:#444D58;
}*/

#iw-container-label{
    text-align: center !important;
}

.tabbable-custom > .nav-tabs > li.active {
    border-top: 3px solid #E9ECF3; 
}
#listAlerts2{
    list-style: none; /* Remove list bullets */
    padding: 0;
    margin: 0;
}

#listAlerts2 .time{ 
    background-color: #bac3d0;
    padding: 2px;
    font-size: 10px;
    color: white;
    float: right;
}
#listAlerts2 li{ 
    font-size: 10px;
    margin-bottom: 9px;
    border-bottom: 1px solid #2F353B;
}
.tool_overlay{
    margin-top: -19px !important;
}
.font_12{
    font-size: 12px !important;
}
.page-footer { 
    padding: 9px 0;
}
.page-header .page-header-menu .hor-menu .navbar-nav > li > a{
    padding: 5px 18px 5px;
}
.page-header{
    height: 106px;
}
.page-header .page-header-menu{
    height: 31px;
}

.containerOdo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}


.number-ticker {
    overflow: hidden;
    height: 21px;
    font-size: 14px;
    background-color: #333;
    box-shadow: 0 0 0.05em black inset;
    padding: 0px 6px !important;
}

.pulse {   
  animation: anim 1.5s linear infinite;
}
@keyframes anim {
  0% { 
    box-shadow: 0 0 0 0 rgba(246, 36, 89, 1) !important;
  }
  100% {
    box-shadow: 0 0 0 3px rgba(69, 39, 160, 0) !important;
  }
}

.tooltipped{
    position:relative
}
.tooltipped:after{
    position:absolute;
    z-index:1000000;
    display:none;
    padding:5px 8px;
    font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";
    color:#fff;
    text-align:center;
    text-decoration:none;
    text-shadow:none;
    text-transform:none;
    letter-spacing:normal;
    word-wrap:break-word;
    white-space:pre;
    pointer-events:none;
    content:attr(aria-label);
    background:rgba(0,0,0,.8);
    border-radius:3px;
    -webkit-font-smoothing:subpixel-antialiased
}
.tooltipped:before{
    position:absolute;
    z-index:1000001;
    display:none;
    width:0;
    height:0;
    color:rgba(0,0,0,.8);
    pointer-events:none;
    content:"";
    border:5px solid transparent
}
.tooltipped:hover:before,.tooltipped:hover:after,.tooltipped:active:before,.tooltipped:active:after,.tooltipped:focus:before,.tooltipped:focus:after{
    display:inline-block;
    text-decoration:none
}
.tooltipped-multiline:hover:after,.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after{
    display:table-cell
}
.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{
    top:100%;
    right:50%;
    margin-top:5px
}
.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{
    top:auto;
    right:50%;
    bottom:-5px;
    margin-right:-5px;
    border-bottom-color:rgba(0,0,0,.8)
}
.tooltipped-se:after{
    right:auto;
    left:50%;
    margin-left:-15px
}
.tooltipped-sw:after{
    margin-right:-15px
}
.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{
    right:50%;
    bottom:100%;
    margin-bottom:5px
}
.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{
    top:-5px;
    right:50%;
    bottom:auto;
    margin-right:-5px;
    border-top-color:rgba(0,0,0,.8)
}
.tooltipped-ne:after{
    right:auto;
    left:50%;
    margin-left:-15px
}
.tooltipped-nw:after{
    margin-right:-15px
}
.tooltipped-s:after,.tooltipped-n:after{
    -webkit-transform:translateX(50%);
    -ms-transform:translateX(50%);
    transform:translateX(50%)
}
.tooltipped-w:after{
    right:100%;
    bottom:50%;
    margin-right:5px;
    -webkit-transform:translateY(50%);
    -ms-transform:translateY(50%);
    transform:translateY(50%)
}
.tooltipped-w:before{
    top:50%;
    bottom:50%;
    left:-5px;
    margin-top:-5px;
    border-left-color:rgba(0,0,0,.8)
}
.tooltipped-e:after{
    bottom:50%;
    left:100%;
    margin-left:5px;
    -webkit-transform:translateY(50%);
    -ms-transform:translateY(50%);
    transform:translateY(50%)
}
.tooltipped-e:before{
    top:50%;
    right:-5px;
    bottom:50%;
    margin-top:-5px;
    border-right-color:rgba(0,0,0,.8)
}
.tooltipped-multiline:after{
    width:-webkit-max-content;
    width:-moz-max-content;
    width:max-content;
    max-width:250px;
    word-break:break-word;
    word-wrap:normal;
    white-space:pre-line;
    border-collapse:separate
}
.tooltipped-multiline.tooltipped-s:after,.tooltipped-multiline.tooltipped-n:after{
    right:auto;
    left:50%;
    -webkit-transform:translateX(-50%);
    -ms-transform:translateX(-50%);
    transform:translateX(-50%)
}
.tooltipped-multiline.tooltipped-w:after,.tooltipped-multiline.tooltipped-e:after{
    right:100%
}
 /* esto se monto nuevo para poder arreglar el problema de blur de chrome con la version 3.53*/
.gm-style .gm-style-iw-c {  
    -webkit-font-smoothing: auto !important;        
    -webkit-backface-visibility: hidden !important; 
    -webkit-transform: translate3d(-50%, -100%, 0) scale(1, 1) !important;
}

 html{
    -webkit-font-smoothing: antialiased;
}  
 /* esto se monto nuevo para poder arreglar el problema de blur de chrome con la version 3.53*/

/* ===== Panel lateral anim-player (base compartida reporte.php / reporte_animado.php) ===== */
.anim-player {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 520px;
    background: #fff;
    box-shadow: -3px 0 12px rgba(0,0,0,0.25);
    z-index: 9999;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
}
body.anim-sidebar-open .anim-player { transform: translateX(0); }

.anim-toggle {
    position: fixed;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-index: 10001;
    background: #337ab7;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.35);
    display: none;
}
.anim-toggle.ready { display: inline-block; }
body.anim-sidebar-open .anim-toggle { display: none; }
.anim-toggle:hover { background: #286090; }
.anim-toggle + .tooltip, .tooltip.anim-tooltip { z-index: 10002 !important; }

.anim-scroll-area {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 14px;
}

.anim-close-btn {
    flex-shrink: 0;
    width: auto;
    margin: 8px auto 12px;
    padding: 5px 18px;
    border: 1px solid #ccc;
    border-radius: 20px;
    background: #fff;
    color: #888;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    transition: all 0.2s;
    align-self: center;
}
.anim-close-btn:hover { background: #f5f5f5; color: #333; border-color: #999; }

.anim-list {
    position: relative;
    flex: 1;
    min-height: 120px;
    overflow-y: auto;
    border: 1px solid #eee;
    border-radius: 4px;
}
.anim-table {
    margin-bottom: 0;
    font-size: 11px;
}
.anim-table thead th {
    position: sticky;
    top: 0;
    background: #f0f0f0;
    z-index: 1;
    padding: 2px 4px;
    font-size: 10px;
    line-height: 1.1;
}
.anim-table td {
    padding: 2px 4px;
    line-height: 1.1;
}
.anim-row { cursor: pointer; }
.anim-row.active { background-color: #fff3cd; }

.anim-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #f5f5f5;
    cursor: pointer;
    font-size: 13px;
    color: #333;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.anim-btn:hover { background: #e8e8e8; }
.anim-btn:active { background: #d0d0d0; }

.anim-btn-sm {
    width: 24px;
    height: 24px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #f5f5f5;
    cursor: pointer;
    font-size: 10px;
    color: #555;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.anim-btn-sm:hover { background: #e0e0e0; }

.anim-header {
    flex-shrink: 0;
    padding: 12px 14px;
    border-bottom: 2px solid #eee;
    background: #f9f9f9;
}
/* Header con boton X de cierre rapido (arriba a la derecha) */
.anim-header-with-x {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.anim-header-with-x h4 { margin: 0; }
.anim-close-x {
    flex-shrink: 0;
    border: 1px solid transparent;
    background: transparent;
    color: #999;
    font-size: 18px;
    line-height: 1;
    padding: 2px 8px;
    cursor: pointer;
}
.anim-close-x:hover { color: #333; background: #eee; border-radius: 3px; }
.anim-header h4 {
    margin: 0 0 6px 0;
    font-size: 14px;
    font-weight: bold;
    color: #333;
}
.anim-header .anim-header-info {
    font-size: 12px;
    color: #666;
}
.anim-header .anim-header-resumen {
    font-size: 11px;
    color: #555;
}
/* ===== END Panel lateral anim-player base ===== */

/* ===== Panel lateral derecho: Detalles entre paradas (reporte.php) ===== */
/* Reutiliza .anim-header / .anim-scroll-area / .anim-close-btn para el interior */
.paradas-player {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 520px;
    background: #fff;
    box-shadow: -3px 0 12px rgba(0,0,0,0.25);
    z-index: 9999;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
}
body.paradas-sidebar-open .paradas-player { transform: translateX(0); }

    /* Tooltips de Bootstrap deben quedar por encima del panel (z-index 9999) */
    .paradas-player ~ .tooltip,
    body.paradas-sidebar-open .tooltip { z-index: 10050 !important; }

    /* Tooltips dentro del sidebar animado (Detalle reporte en mapa / reporte_animado):
       el panel .anim-player usa z-index 9999 y el tooltip con container body quedaria detras */
    body.anim-sidebar-open .tooltip { z-index: 10050 !important; }

.paradas-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 10px;
    font-size: 12px;
    color: #555;
}

/* === Tarjeta de parada === */
.parada-cabecera {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fff;
    margin-bottom: 6px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}
    .parada-cabecera.active {
        border-color: #337ab7;
        box-shadow: 0 0 0 2px rgba(51,122,183,0.18);
    }
    /* Highlight temporal del card localizado desde el infowindow
       (link "Ver en detalle de paradas" .parada-locate -> paradasIrACard) */
    .parada-cabecera.parada-cabecera-destacada {
        border-color: #5cb85c;
        box-shadow: 0 0 0 3px rgba(92,184,82,0.35);
        animation: paradaCardFlash 1s ease-in-out 4;
    }
    @keyframes paradaCardFlash {
        0%, 100% { background: #fff; }
        50% { background: #e8f5e9; }
    }
.parada-cabecera-info {
    padding: 8px 10px;
    transition: background .15s;
}
.parada-cabecera-info:hover { background: #f8f8f8; }

.parada-titulo {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #777;
    margin-bottom: 2px;
    text-align: left;
}
.parada-titulo .fa {
    color: #d9534f;
    font-size: 10px;
    width: 14px;
    text-align: center;
}
.parada-titulo .parada-detalle-label {
    color: #777;
}
.parada-titulo .parada-detalle-val {
    font-weight: bold;
    color: #333;
}

.parada-duracion {
    font-size: 11px;
    color: #777;
    padding-left: 18px;
    display: flex;
    align-items: center;
    gap: 4px;
    text-align: left;
}
.parada-duracion .fa {
    color: #5cb85c;
    font-size: 10px;
}
.parada-cierre {
    font-size: 11px;
    color: #777;
    padding-left: 0;
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    text-align: left;
}
.parada-cierre .fa { color: #337ab7; font-size: 10px; width: 14px; text-align: center; }
.parada-cierre .parada-detalle-label {
    color: #777;
}
.parada-cierre .parada-detalle-val {
    font-weight: bold;
    color: #333;
}

.parada-sin-cierre .parada-cabecera-info {
    border-left: 3px solid #f0ad4e;
    background: #fffcf5;
}
.parada-warning {
    font-size: 10px;
    color: #b08040;
    padding-left: 26px;
    margin-top: 2px;
    font-style: italic;
}

/* === Fila de botones pequeños === */
.parada-botones {
    display: flex;
    gap: 1px;
    border-top: 1px solid #f0f0f0;
    background: #f5f5f5;
    padding: 4px 6px;
}
.parada-btn {
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
    color: #555;
    font-size: 10px;
    padding: 3px 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all .15s;
    white-space: nowrap;
}
.parada-btn:hover { background: #eaeaea; }
.parada-btn:active { background: #dcdcdc; }
.parada-btn:disabled { opacity: .45; cursor: not-allowed; }
.parada-btn:disabled:hover { background: #fff; }
.parada-btn i.fa { font-size: 9px; }
.parada-btn-mapa { color: #337ab7; border-color: #bcd5f0; }
.parada-btn-mapa:hover { background: #eaf2fc; }
.parada-btn-detalle { color: #5cb85c; border-color: #c5e6c5; }
.parada-btn-detalle:hover { background: #f0faf0; }
.parada-btn-xls { color: #217346; border-color: #a9d0bf; }
.parada-btn-xls:hover { background: #eef7f1; }

/* === Botonera de descargas pdf/xls del panel Detalles entre paradas === */
.paradas-descargas {
    display: flex;
    gap: 6px;
    padding: 8px 10px;
    border-bottom: 1px solid #e5e5e5;
    background: #fafafa;
}
.paradas-descargas .parada-btn { flex: 1; justify-content: center; font-size: 11px; padding: 5px 8px; }
.paradas-descargas .parada-btn-pdf { color: #555; border-color: #ddd; }
.paradas-descargas .parada-btn-pdf:hover { background: #eaeaea; }

/* === Contenido del detalle (dentro del panel) === */
.parada-detalle {
    padding: 8px 10px;
    background: #f7f9fc;
    border-top: 1px solid #f0f0f0;
}
.parada-detalle-body {
    display: flex;
    align-items: stretch;
    gap: 8px;
}
.parada-detalle-data {
    flex: 1 1 auto;
    min-width: 0;
}
.parada-detalle-img {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6px;
}
.parada-detalle-img img {
    max-height: 70px;
    width: auto;
    opacity: .65;
    object-fit: contain;
}
.parada-detalle-titulo {
    font-size: 10px;
    font-weight: bold;
    color: #337ab7;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #cfd8e8;
    display: flex;
    align-items: center;
    gap: 4px;
}
.parada-detalle-titulo .fa { font-size: 10px; }

.parada-detalle-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    padding: 2px 0;
    color: #444;
}
.parada-detalle-row .fa {
    width: 14px;
    text-align: center;
    font-size: 10px;
}
.parada-detalle-row .parada-detalle-label {
    color: #777;
    min-width: 90px;
}
.parada-detalle-row .parada-tiempo-info {
    color: #337ab7;
    font-size: 11px;
    cursor: help;
    margin-left: 2px;
}
.parada-detalle-row .parada-detalle-val {
    font-weight: bold;
    color: #333;
}

.parada-btn-tramas {
    width: 100%;
    border: 1px solid #b0c8e0;
    border-radius: 3px;
    background: #eaf2fc;
    color: #337ab7;
    font-size: 10px;
    padding: 4px;
    cursor: pointer;
    margin-top: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: all .15s;
}
.parada-btn-tramas:hover { background: #d5e7fa; }
.parada-btn-tramas i.fa { font-size: 9px; }

.parada-check-tramas {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 5px 8px;
    border: 1px solid #b0c8e0;
    border-radius: 4px;
    background: #eaf2fc;
    color: #337ab7;
    font-size: 10px;
    cursor: pointer;
    transition: all .15s;
}
.parada-check-tramas:hover { background: #d5e7fa; }
.parada-check-tramas input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}
.parada-check-tramas i.fa { font-size: 9px; }
/* ===== END Panel lateral derecho Detalles entre paradas ===== */

/* ===== Panel lateral Camaras en vivo (inicio.php) ===== */
.page-quick-sidebar-camaras-wrapper {
    transition: right .3s;
    z-index: 335001;
    position: fixed;
    top: 0;
    bottom: 0;
    right: -432px;
    width: 432px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 10px 4px rgba(119,119,119,.75);
    -moz-box-shadow: 0 0 10px 4px rgba(119,119,119,.75);
    -webkit-box-shadow: 0 0 10px 4px rgba(119,119,119,.75);
}
.page-quick-sidebar-camaras-open .page-quick-sidebar-camaras-wrapper {
    right: 0;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-header {
    height: 42px;
    background: #fff;
    color: #333;
    padding: 8px 10px;
    border-bottom: 1px solid #e0e0e0;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-header h4 {
    margin: 0;
    font-size: 14px;
    color: #333;
    display: inline-block;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
    line-height: 26px;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-header h4 i {
    color: #32c5d2;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-header .panel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    color: #666;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    float: right;
    margin-left: 4px;
    transition: background .15s, color .15s;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-header .panel-btn:hover {
    background: #f0f0f0;
    color: #333;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-body {
    position: absolute;
    top: 42px;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    overflow: hidden;
}
.page-quick-sidebar-camaras-wrapper .camaras-panel-body iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #fff;
}
body.page-quick-sidebar-camaras-open .tooltip {
    z-index: 335010 !important;
}
@media (max-width: 520px) {
    .page-quick-sidebar-camaras-wrapper { width: 100%; right: -100%; }
}
/* ===== END Panel lateral Camaras en vivo ===== */

/* ===== Viewer embebido (dispositivo_stream_sources_viewer.php?embed=1) ===== */
.embed-mode { background:#fff !important; margin:0 !important; padding:0 !important; overflow:hidden !important; }
.embed-mode .portlet.light { margin:0 !important; background:#fff !important; }
.embed-mode .portlet.light > .portlet-title { display:none !important; }
.embed-mode .portlet-body-1 { padding:0 !important; background:#fff !important; }
.embed-mode .row { margin:0 !important; }
.embed-mode .stream-card {
    width:100% !important;
    float:none !important;
    padding:0 0 6px 0 !important;
    margin:0 0 6px 0 !important;
}
.embed-mode .stream-card[class*="col-md-"] { width:100% !important; }
.embed-mode .stream-portlet { margin:0 !important; }
.embed-mode .stream-frame-container { background:#1a1a1a !important; }
.embed-mode .stream-frame-container video {
    width:100% !important;
    height:auto !important;
    max-height:30vh !important;
    object-fit:cover;
    background:#1a1a1a !important;
}
.embed-mode .stream-portlet .portlet-title { min-height:24px !important; padding:2px 6px !important; font-size:11px !important; }
/* vista individual: ocupa toda la altura del iframe */
.embed-mode .stream-card[style*="calc(100vh"] { height:calc(100vh - 6px) !important; padding:0 !important; }
.embed-mode .stream-card[style*="calc(100vh"] .stream-frame-container,
.embed-mode .stream-card[style*="calc(100vh"] .portlet-body { height:100% !important; }
.embed-mode .stream-card[style*="calc(100vh"] video { height:100% !important; max-height:none !important; object-fit:contain; }
.embed-mode .stream-card[style*="calc(100vh"] .stream-desc { display:none !important; }
/* ===== END Viewer embebido ===== */

/* ===== Print: no imprimir URLs en crudo (override Bootstrap 3 print styles) =====
 * Bootstrap 3 imprime " (href)" despues de cada <a> al imprimir (Ctrl+P).
 * Esto elimina ese comportamiento en TODA la app (reportes, tablas, botones-link).
 * .no-print: clase utilitaria para ocultar elementos solo en el impreso. */
@media print {
    a[href]:after,
    abbr[title]:after {
        content: none !important;
    }
    .no-print {
        display: none !important;
    }
}