html,
body {
    height: 100%;
}

body, h1, h2, h3, h4, h5, h6 {
    font-family: "Manrope", sans-serif !important;
}


.skin-blue .main-header .navbar .sidebar-toggle:hover {
    background-color: #2c3b4d !important;
}

.content-wrapper {
    min-height: 100%;
    background-color: #fcf2dc !important;
    z-index: 800;
}

/**
.skin-blue .main-header .navbar {
    background-color: #87b867 !important;
}
*/
    
.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

.wrap > .container {
    padding: 70px 15px 20px;
}

.footer {
    height: 60px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}

.affix {
    top: 0;
    width: 100%;
    z-index: 9999 !important;
}

.affix + .container-fluid {
    padding-top: 70px;
}

@media(max-width:400px) {

    #juntospodemos{
      float:none;
      text-align:center;
      margin:0 auto;
    }
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

@media(max-width:994px) {

  #headaff2{
    display:inline !important;
  }

  .footgroup{
    margin-top:40px;
    text-align:center;
  }

  .tit_foot{
    margin-bottom:15px;
    float:none;
    text-align:center;
  }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.btn-outline-success {
    border: 1px solid #5cb85c!important;
    color: #5cb85c;
    transition: 0.3s;
}

.btn-outline-success:hover {
    background-color: #5cb85c;
    color: white;
}

.btn-outline-success:focus {
    text-decoration: none;
}

.disabled > a > h4 {
    cursor: not-allowed;
}

.contenedor {
    margin: auto;
    padding: 5px;
    background-color: white;
    border-radius: 5px;
    max-height: 600px;
    height: 600px;
    -webkit-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2);
}

#iFrameMapa{
    border   : none;
    position : relative;
}

#iFrameMapa > html > body > #info {
    display: none;
}

#iFrameMapa > html > body > #search {
    display: none;
}
#iFrameMapa > html > body > #mapDiv {
    top: 0;
}

.vivienda-menu{
    color: black;
    padding: 5px;
}

.iconos {
    margin-top: 10px;
}

.iconos > .fa {
    color: lightgray;
    font-size: 20px;
    cursor: pointer;
    margin-left: 5px;
}

.vivienda-menu > .titulo {
    display: inline;
}

.seleccionado{
    border-bottom: 3px solid #3c8dbc;
    padding-bottom: 3px;
    color: #3c8dbc!important;
}

.progreso {
    padding: 14px 24px;
    background: repeating-linear-gradient(
    45deg,
    #606dbc,
    #606dbc 10px,
    #465298 10px,
    #465298 20px
    );
}

.title-section {
	display: inline;
	padding: .3em .6em;
	font-size: 75%;
	font-weight: bold;
	line-height: 1;
	color: #2b3e4c;
	background-color: #87b867;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
}

.skin-blue .main-header .logo {
    color: #2b3e4c !important;
    /* display: none; */
}

.skin-blue .sidebar-menu>li:hover>a, .skin-blue .sidebar-menu>li.active>a, .skin-blue .sidebar-menu>li.menu-open>a {
    color: #2b3e4c !important;
}

/* TODO: buscar la manera de hacerlo global a partir de bootstrap */

/* 2B3E4C azul nqn*/
/* #87b867 verde nqn*/
/* 3379b7c9 */
.btn-secondary, .active a, .panel-heading {
    background-color: #87b867 !important;
    border-color: #87b867 !important;
    color: #2B3E4C !important;   
}
.btn-primary, .active a, .panel-heading {
    background-color: #87b867 !important;
    border-color: #87b867 !important;
    color: #2B3E4C !important;
}
.form-control {
    height: 44px;
    padding: 10px 16px;
    font-size: 15px;
    line-height: 1.42857143;
    color: #2b3e4c;
    background-color: #fff;
    border: 1px solid #d2d6de;
    border-radius: 8px; /* Smooth rounded corners */
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control:hover {
    border-color: #b5bbc8;
}

.form-control:focus, .form-control:active {
    border-color: #87b867 !important;
    outline: 0;
    -webkit-box-shadow: 0 0 0 3px rgba(135, 184, 103, 0.25) !important;
    box-shadow: 0 0 0 3px rgba(135, 184, 103, 0.25) !important;
}

.form-control::-webkit-input-placeholder {
    color: #999;
}
.form-control:-moz-placeholder {
    color: #999;
}
.form-control::-moz-placeholder {
    color: #999;
}
.form-control:-ms-input-placeholder {
    color: #999;
}

.control-label {
    font-weight: 600;
    color: #2b3e4c;
    margin-bottom: 6px;
    font-size: 14px;
}

/* Password Toggle classes */
.password-toggle-container {
    position: relative;
    width: 100%;
}

.password-toggle-container .form-control {
    padding-right: 40px !important; /* Prevent text running under the eye icon */
}

.password-toggle-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 10;
    color: #555;
    transition: color 0.2s ease-in-out;
}

.password-toggle-btn:hover {
    color: #111;
}

/* Password font styling when hidden (dots) or visible (text) to prevent jumping and sizing differences */
.password-toggle-container .form-control {
    font-family: Consolas, Monaco, "Courier New", Courier, monospace !important;
    font-size: 16px !important;
    letter-spacing: 0.08em !important;
}

/* Specific styling for the dots when input type is password */
.password-toggle-container input[type="password"] {
    font-size: 18px !important;
    letter-spacing: 0.12em !important;
}

/* Restore the default font for the placeholder inside password inputs */
.password-toggle-container .form-control::-webkit-input-placeholder {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
}
.password-toggle-container .form-control:-moz-placeholder {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
}
.password-toggle-container .form-control::-moz-placeholder {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
}
.password-toggle-container .form-control:-ms-input-placeholder {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
}

/* Responsive adjustments for layouts */
@media (max-width: 767px) {
    .form-control {
        height: 46px; /* Taller touch targets on mobile */
        font-size: 16px; /* Prevents auto-zoom on iOS */
    }
    
    .control-label {
        text-align: left !important;
        margin-bottom: 4px;
    }

    .btn-responsive {
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 10px !important;
    }
}

a .logo span {
    color: #87b867 !important;
}
.panel-primary {
    border-color: #87b867 !important;
}

.btn-primary {
    color: #2b3e4c
}

.color-primary-blue {
    color: #2b3e4c !important;
}

.btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.small-box p {
    font-size: 1.2em !important;
}