body {
    background: #fafafa;
    font-family: "Roboto", "Open Sans", sans-serif;
    color: #333;
}

/* ==========================================================================
Hide ng-cloak on page load, https://docs.angularjs.org/api/ng/directive/ngCloak
========================================================================== */
[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
    display: none !important;
}

/* ==========================================================================
Development Ribbon
========================================================================== */
.ribbon {
    background-color: #a00;
    box-shadow: 0 0 10px #888;
    left: -3.5em;
    moz-box-shadow: 0 0 10px #888;
    moz-transform: rotate(-45deg);
    ms-transform: rotate(-45deg);
    o-transform: rotate(-45deg);
    overflow: hidden;
    position: absolute;
    top: 40px;
    transform: rotate(-45deg);
    webkit-box-shadow: 0 0 10px #888;
    webkit-transform: rotate(-45deg);
    white-space: nowrap;
    width: 15em;
    z-index: 9999;
    pointer-events: none;
}

.ribbon a {
    border: 1px solid #faa;
    color: #fff;
    display: block;
    font: bold 81.25% "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin: 1px 0;
    padding: 10px 50px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 0 5px #444;
    pointer-events: none;
}

/* ==========================================================================
Version number in navbar
========================================================================== */
.navbar-version {
    font-size: 10px;
    color: #444;
}

/* ==========================================================================
navbar text
========================================================================== */
.navbar-default .navbar-brand {
    color: #444;
}

/* ==========================================================================
Browser Upgrade Prompt
========================================================================== */
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
Logo styles
========================================================================== */
.navbar-brand.logo {
    padding: 5px 15px;
}

.logo .logo-img {
    height: 45px;
    display: inline-block;
}

/* ==========================================================================
Main page styles
========================================================================== */
.hero-unit {
    margin: 50px auto 0 auto;
    width: 300px;
    font-size: 18px;
    font-weight: 200;
    line-height: 30px;
    background-color: #eee;
    border-radius: 6px;
    padding: 60px;
}

.hero-unit h1 {
    font-size: 60px;
    line-height: 1;
    letter-spacing: -1px;
}

.hipster {
    display: inline-block;
    width: 347px;
    height: 497px;
    background: url("../images/logo-nuevo-front.png") no-repeat center top;
    background-size: contain;
}

/* wait autoprefixer update to allow simple generation of high pixel density media query */
@media only screen and (-webkit-min-device-pixel-ratio: 2),
    only screen and (min--moz-device-pixel-ratio: 2),
    only screen and (-o-min-device-pixel-ratio: 2/1),
    only screen and (min-device-pixel-ratio: 2),
    only screen and (min-resolution: 192dpi),
    only screen and (min-resolution: 2dppx) {
    .hipster {
        background: url("../images/logo-nuevo-front.png") no-repeat center top;
        background-size: contain;
    }
}

/* ==========================================================================
Generic styles
========================================================================== */
.error {
    color: white;
    background-color: red;
}

.pad {
    padding: 10px;
}

.break {
    white-space: normal;
    word-break: break-all;
}

.voffset {
    margin-top: 2px;
}
.voffset1 {
    margin-top: 5px;
}
.voffset2 {
    margin-top: 10px;
}
.voffset3 {
    margin-top: 15px;
}
.voffset4 {
    margin-top: 30px;
}
.voffset5 {
    margin-top: 40px;
}
.voffset6 {
    margin-top: 60px;
}
.voffset7 {
    margin-top: 80px;
}
.voffset8 {
    margin-top: 100px;
}
.voffset9 {
    margin-top: 150px;
}

.readonly {
    background-color: #eee;
    opacity: 1;
}

/* ==========================================================================
make sure browsers use the pointer cursor for anchors, even with no href
========================================================================== */
a {
    color: #1c0cf5;
}

a:hover,
.hand,
[jh-sort-by] {
    cursor: pointer;
}

/* ==========================================================================
Metrics and Health styles
========================================================================== */
#threadDump .popover,
#healthCheck .popover {
    top: inherit;
    display: block;
    font-size: 10px;
    max-width: 1024px;
}

#healthCheck .popover {
    margin-left: -50px;
}

.health-details {
    min-width: 400px;
}

/* ==========================================================================
start Password strength bar style
========================================================================== */
ul#strengthBar {
    display: inline;
    list-style: none;
    margin: 0;
    margin-left: 15px;
    padding: 0;
    vertical-align: 2px;
}

.point:last {
    margin: 0 !important;
}
.point {
    background: #ddd;
    border-radius: 2px;
    display: inline-block;
    height: 5px;
    margin-right: 1px;
    width: 20px;
}

/* ==========================================================================
Custom alerts for notification
========================================================================== */
.alerts .alert {
    text-overflow: ellipsis;
}
.alert pre {
    background: none;
    border: none;
    font: inherit;
    color: inherit;
    padding: 0;
    margin: 0;
}

.alert .popover pre {
    font-size: 10px;
}

.alerts .toast {
    position: fixed;
    width: 100%;
}

.alerts .toast.left {
    left: 5px;
}

.alerts .toast.right {
    right: 5px;
}

.alerts .toast.top {
    top: 55px;
}

.alerts .toast.bottom {
    bottom: 55px;
}

@media screen and (min-width: 480px) {
    .alerts .toast {
        width: 50%;
    }
}

/* ==========================================================================
entity tables helpers
========================================================================== */
/* Remove Bootstrap padding from the element
   http://stackoverflow.com/questions/19562903/remove-padding-from-columns-in-bootstrap-3 */
.no-padding-left {
    padding-left: 0 !important;
}
.no-padding-right {
    padding-right: 0 !important;
}
.no-padding-top {
    padding-top: 0 !important;
}
.no-padding-bottom {
    padding-bottom: 0 !important;
}
.no-padding {
    padding: 0 !important;
}

/* bootstrap 3 input-group 100% width
   http://stackoverflow.com/questions/23436430/bootstrap-3-input-group-100-width */
.width-min {
    width: 1% !important;
}

/* Makes toolbar not wrap on smaller screens
 http://www.sketchingwithcss.com/samplechapter/cheatsheet.html#right */
.flex-btn-group-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.jh-table > tbody > tr > td {
    /* Align text in td vertically (top aligned by Bootstrap) */
    vertical-align: middle;
}

.jh-table > thead > tr > th > .glyphicon-sort,
.jh-table > thead > tr > th > .glyphicon-sort-by-attributes,
.jh-table > thead > tr > th > .glyphicon-sort-by-attributes-alt {
    /* less visible sorting icons */
    opacity: 0.5;
}

.jh-table > thead > tr > th > .glyphicon-sort:hover,
.jh-table > thead > tr > th > .glyphicon-sort-by-attributes:hover,
.jh-table > thead > tr > th > .glyphicon-sort-by-attributes-alt:hover {
    /* full visible sorting icons and pointer when mouse is over them */
    opacity: 1;
    cursor: pointer;
}

/* ==========================================================================
entity detail page css
========================================================================== */
.dl-horizontal.jh-entity-details > dd {
    margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
    .dl-horizontal.jh-entity-details > dt {
        margin-bottom: 15px;
    }

    .dl-horizontal.jh-entity-details > dd {
        border-bottom: 1px solid #eee;
        padding-left: 180px;
        margin-left: 0;
    }
}

/* ==========================================================================
ui bootstrap tweaks
========================================================================== */
.nav,
.pagination,
.carousel,
.panel-title a {
    cursor: pointer;
}

.datetime-picker-dropdown > li.date-picker-menu div > table .btn-default,
.uib-datepicker-popup > li > div.uib-datepicker > table .btn-default {
    border: 0;
}

.datetime-picker-dropdown > li.date-picker-menu div > table:focus,
.uib-datepicker-popup > li > div.uib-datepicker > table:focus {
    outline: none;
}

/* ESTILOS PROPIOS */

.fondo-foto {
    background-image: url(../images/fondo-home.jpg);
    background-repeat: inherit;
    background-size: cover;
    padding: 30px 0px 30px 0px;
}

.navbar-default {
    background-color: #035684;
    border-color: #e7e7e7;
}

footer .topInfo {
    padding: 40px 0;
    color: #fff;
    border-bottom: solid 1px #e7e7e7;
}

.bggreen {
    background-color: #2a8162;
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

footer .copy {
    padding: 25px 0;
}

footer ul li a {
    color: #fff;
    font-size: 13px;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}
.navbar-default .navbar-nav > li > a {
    color: #fafafa;
}

.btn-ingresar {
    color: #fff;
    background-color: #3465a4;
    border-color: #3465a4;
    margin-top: 10px;
}

.btn-salir {
    color: #fff;
    background-color: #ef2929;
    border-color: #ef2929;
    margin-top: 10px;
}

.crearCuenta {
    color: #000000;
    margin-top: 10px;
}
.ingresar {
    color: #000000;
    margin-top: 10px;
}

.suministro-dato {
    font-weight: 400;
}

.bg-gray-400 {
    background-color: #b3bdc3;
}

/* Profile sidebar */
.profile-sidebar {
    padding: 20px 0 10px 0;
    background: url("../images/fondo.jpeg") no-repeat center top;
}

.profile-userpic img {
    float: none;
    margin: 0 auto;
    width: 20%;
    height: 20%;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius: 50% !important;
}

.profile-usertitle {
    text-align: center;
    margin-top: 20px;
}

.profile-usertitle-name {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 7px;
}

.profile-usertitle-job {
    text-transform: uppercase;
    color: #5b9bd1;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 15px;
}

.profile-userbuttons {
    text-align: center;
    margin-top: 10px;
}

.profile-userbuttons .btn {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 600;
    padding: 6px 15px;
    margin-right: 5px;
}

.profile-userbuttons .btn:last-child {
    margin-right: 0px;
}

.profile-usermenu {
    margin-top: 30px;
}

.profile-usermenu ul li {
    border-bottom: 1px solid #f0f4f7;
}

.profile-usermenu ul li:last-child {
    border-bottom: none;
}

.profile-usermenu ul li a {
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}

.profile-usermenu ul li a i {
    margin-right: 8px;
    font-size: 14px;
}

.profile-usermenu ul li a:hover {
    background-color: #fafcfd;
    color: #5b9bd1;
}

.profile-usermenu ul li.active {
    border-bottom: none;
}

.profile-usermenu ul li.active a {
    color: #5b9bd1;
    background-color: #f6f9fb;
    border-left: 2px solid #5b9bd1;
    margin-left: -2px;
}

.submenu {
    color: #fafafa;
}

/* Profile Content */
.profile-content {
    padding: 20px;
    background: #fff;
    min-height: 460px;
}

.vencimiento {
    color: #01c37d;
}

.top-buffer {
    margin-top: 10px;
    margin-bottom: 10px;
}
.panel-crear-cuenta {
    background: url("../images/fondo.jpeg") no-repeat center top;

    /* Half height */
    height: 50%;

    /* Center and scale the image nicely */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: rgb(255, 255, 255);
}

.panel-datos {
    background: url("../images/fondo.jpeg") no-repeat center top;
    color: rgb(255, 255, 255);
}

.panel-adherir {
    background: url("../images/fondo.jpeg") no-repeat center top;
    color: rgb(255, 255, 255);
}

.jumbotron p {
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 200;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.numeroInterno {
    font-size: 40px;

    text-align: center;
}

.bc-keypad {
}

.bc-keypad__key-button {
    font-size: 5rem;
}

.bc-keypad__key-button--submit {
    fill: #101ca7;
}

/** Cards de Facturación */
.box > .icon {
    text-align: center;
    position: relative;
}
.box > .icon > .image {
    position: relative;
    z-index: 2;
    margin: auto;
    width: 88px;
    height: 88px;
    border: 8px solid white;
    line-height: 88px;
    border-radius: 50%;
    background: #63b76c;
    vertical-align: middle;
}
.box > .icon:hover > .image {
    background: #333;
}
.box > .icon > .image > i {
    font-size: 36px !important;
    color: #fff !important;
}
.box > .icon:hover > .image > i {
    color: white !important;
}
.box > .icon > .info {
    margin-top: -24px;
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid #e0e0e0;
    padding: 15px 0 10px 0;
}
.box > .icon:hover > .info {
    background: rgba(0, 0, 0, 0.04);
    border-color: #e0e0e0;
    color: white;
}
.box > .icon > .info > h3.title {
    font-family: "Roboto", sans-serif !important;
    font-size: 16px;
    color: #222;
    font-weight: 500;
}
.box > .icon > .info > p {
    font-family: "Roboto", sans-serif !important;
    font-size: 13px;
    color: #666;
    line-height: 1.5em;
    margin: 20px;
}
.box > .icon:hover > .info > h3.title,
.box > .icon:hover > .info > p,
.box > .icon:hover > .info > .more > a {
    color: #222;
}
.box > .icon > .info > .more a {
    font-family: "Roboto", sans-serif !important;
    font-size: 12px;
    color: #222;
    line-height: 12px;
    text-transform: uppercase;
    text-decoration: none;
}
.box > .icon:hover > .info > .more > a {
    color: #fff;
    padding: 6px 8px;
    background-color: #63b76c;
}
.box .space {
    height: 30px;
}

.btn-pagar {
    color: #fff;
    background-color: #4cae4c;
    border-color: #4cae4c;
}

.btn-descargar {
    color: #fff;
    background-color: #2b5684;
    border-color: #2b5684;
}

.mesa-ayuda {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background: #0084ff;
    color: #fff;
    border: none;
    border-radius: 40px;
    padding: 18px 26px;   /* más padding = más grande */
    font-size: 20px;      /* texto más grande */
    font-weight: bold;
    font-family: sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    animation: pulso 2s infinite;
    z-index: 9999;
  }

  .mesa-ayuda img {
    width: 40px;  /* ícono más grande */
    height: 40px;
    margin-right: 12px;
  }

  .mesa-ayuda:hover {
    background: #006edc;
    transform: scale(1.08);
  }

  @keyframes pulso {
    0% { transform: scale(1); }
    50% { transform: scale(1.12); }
    100% { transform: scale(1); }
  }

