* {
    font-family: 'Montserrat', sans-serif;
    margin:0;
    padding:0;
    font-size: 15px;
    color: var(--color-texto);
    text-decoration:none;
}
:root{
    --color-negro:#364E65;
    --color-texto:#727C77;
    --color-rojo:#ED0722;
    --color-rgba-rojo:rgba(237,7,34,.21);
    --color-verde:#4EB653;
    --color-rgba-verde:rgba(150,220,151,.21);
    --color-rgba-celeste:rgba(55,147,246,.27);
    --color-celeste:#4090f8;
    --color-input:#EEF5F9;
}
.form-grouplogin {
    position: relative !important;
    width: max-content !important;
    margin: auto !important;
    margin-top: 40px !important;
    float: none !important;
}

.form-groupRegistro {
    position: relative;
    width: max-content;
    height: 30px;
    float: left;
    margin-right: 20px;
    margin-top: 40px;
    margin-left: 20px;
}

form input {
    border: none;
    border-bottom: 0.15rem #606060 solid;
    height: 26px;
    margin-bottom: 2rem;
    font-family: inherit;
    border-radius: 0.2rem;
    padding: 1rem 0.5rem;
    padding-top: 0px;
    padding-bottom: 0px;
    width: 250px;
}

.error-text400 {
    font-size: 39px;
    margin: 10%;
    color: white;
}

form input:focus,
form input:valid {
    outline: 0;
    border-bottom: 0.15rem #606060 solid;
}

form label {
    position: absolute;
    left: 0.5rem;
    top: 0.3rem;
    line-height: 1;
}

form label span {
    display: inline-block;
    transition: 300ms cubic-bezier(0.26, -0.55, 0.256, 1.55);
}

form input:focus + label span,
form input:valid + label span {
    color: #606060;
    transform: translateY(-1.4rem);
}

form input[type=date]:required:invalid::-webkit-datetime-edit {
    color: transparent;
}

form select {
    border: none;
    border-bottom: 0.15rem #606060 solid;
    height: 26px;
    margin-bottom: 2rem;
    font-family: inherit;
    border-radius: 0.2rem;
    padding: 1rem 0.5rem;
    padding-top: 0px;
    padding-bottom: 0px;
    width: 265px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    outline: 0;
    box-shadow: none;
}

::-moz-selection { /* Code for Firefox */
    background: #9be2ba;
}

::selection {
    background: #9be2ba;
}

.select-items div:hover, .same-as-selected {
    background-color: #9be2ba;
}

.fa-caret:before {
    content: "\f0d7";
    right: -38px;
    top: 0px;
    position: absolute;
}
form select:focus,
select:valid {
    outline: 0;
    border-bottom: 0.15rem #606060 solid;
}

form select option {
    background: rgba(0, 0, 0, 0);
    color: #606060;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

form select {
    background: #ffffff;
    color: #000;
}

input {
    background: #ffffff;
    color: #000;
}

select:focus + label span,
select:valid + label span {
    color: #606060;
    transform: translateY(-1.4rem);
}

#numeroapartamento{
    display:none;
}
.icono{
    width: 60px;
    height: 100%;
    border: none;
    cursor: pointer;
    background: none;
    font-size: 18px;
    color: #727C77;
    right: 0;
    outline: 0;
}
.fa, .far, .fas {
    font-family: "Font Awesome 5 Free";
}
.icono.active{
    color: #727C77;
    animation: desvanecer 0.2s ease-in-out;
    -webkit-animation: desvanecer 0.2s ease-in-out; /** Safari & Chrome **/
    -o-transform: desvanecer 0.2s ease-in-out; /** Opera **/
    -moz-transform: desvanecer 0.2s ease-in-out; /** Firefox **/
}
.fa-eye:before {
    content: "\f06e";
    right: 17px;
    top: 3px;
    position: absolute;
}
.fa-eye-slash:before {
    content: "\f070";
    right: 17px;
    top: 3px;
    position: absolute;
}
.fa-envelope:before{
    content: "\f003";
    right: 18px;
    top: 3px;
    position: absolute;
}

.fa, .fas {
    font-weight: 900;
    left: 216px;
    position: absolute;
}
.icono.active {
    color: #727C77;
    animation: desvanecer 0.2s ease-in-out;
    -webkit-animation: desvanecer 0.2s ease-in-out;
    -o-transform: desvanecer 0.2s ease-in-out;
    -moz-transform: desvanecer 0.2s ease-in-out;
}
.fa, .fab, .fal, .far, .fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: contents;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}
#formRegistro{
    width: 610px;
    margin: auto;
    height: inherit;
}

.centerComboBox {
    padding-left: 28px;
    padding-top: 32px;
    overflow: hidden;
    width: 277px;
    height: 35px;
    float: left;
}

#ComboBoxCentrar{
    position: relative;
    height: 56px;
    float: left;
    margin-top: 21px;
    margin-left: 20px;
}

.comoboBoxCasa{
    width: 80px;
    float: left;
    margin-right: 25px;
    top: -15px;
    position: relative;
    align-items: center;
    display: inherit;
    height: 41px;
    align-items: center;
    padding-top: 5px;
}
.comoboBoxApartamento{
    width: 147px;
    float: left;
    margin-right: 25px;
    top: -15px;
    position: relative;
    align-items: center;
    display: inherit;
    height: 41px;
    align-items: center;
    padding-top: 5px;
}
#TextoHogar{
    position: relative;
    top: -11px;
}
.centerComboBoxLargos {
    overflow: hidden;
    margin-left: 20px;
    float: left;
    height: 32px;
}

#IniciarSesion{
    display: block;
    width: 50%;
    min-width: 340px;
    max-width: 428px;
    height: max-content;
    background-color: #ffffff;
    border-radius: 19px;
    margin: auto;
}
#fondo-login{
    width: 100%;
    height: calc(96vh);
    animation-name: opacit1y;
    animation-duration: 3s;
    display: flex;
    align-items: center;
}
.buttonLogin {
    cursor: pointer;
    -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    margin: 0 auto;
    padding: 13px 0;
    width: 310px;
    background: #45c67e;
    margin-top: 5px;
    border-radius: 8px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 12px;
    border: none;
    outline: none;
    cursor: pointer;
}
.buttonLogin:hover {
    cursor: pointer;
    -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    cursor: pointer;
    background: #34a767;
}
.buttonRegis {
    cursor: pointer;
    -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    margin: 0 auto;
    padding: 13px 0px;
    width: 80%;
    background: #45c67e;
    margin-top: 5px;
    border-radius: 8px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 12px;
    border: none;
    outline: none;
    cursor: pointer;
}
.buttonRegis:hover {
    cursor: pointer;
    -webkit-transition: 0.8s cubic-bezier(0, 0, 0, 1);
    -moz-transition: 0.8s cubic-bezier(0.165, 0, 0, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    cursor: pointer;
    background: #34a767;
}
#centrarbutton{
    width: max-content;
    margin: auto;
    margin-top: 35px;
    overflow: hidden;
}

#centrarbuttonRegis{
    width: max-content;
    margin: auto;
    overflow: hidden;
}

#imguserlogin{
    width: max-content;
    margin: auto;
    margin-top: 33px;
}

#btncont{
    display: block;
    border: none;
    background: #ffffff;
    color: #45c67e;
    font-weight: 500;
    margin: auto;
    margin-top: 20px;
    border: none;
    outline: none;
    cursor: pointer;
}
::-webkit-datetime-edit {
    padding: 7px;
}
option:hover {
    background-color: yellow;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}
::-webkit-calendar-picker-indicator {
    filter: invert(1);
}
#btnregis{
    display: block;
    border: none;
    background: #ffffff;
    color: #45c67e;
    font-weight: 500;
    margin: auto;
    margin-top: 10px;
    border: none;
    outline: none;
    cursor: pointer;
    margin-bottom: 35px;
}
#Registrarse{
    display: block;
    width: 658px;
    background-color: #ffffff;
    border-radius: 19px;
    margin: auto;
}
input[type="date"]::-webkit-calendar-picker-indicator { position: absolute; right: 4px; }

input::-webkit-datetime-edit { position: relative; right: 4px; }

input::-webkit-datetime-edit-fields-wrapper { position: relative; right: 4px; }

input.checkbox{
    width: max-content;
    top: 8px;
    position: relative;
}
.tituloRegis{
    font-size: 41px;
    margin: auto;
    color: #4f4f4f;
    text-align: center;
    padding-bottom: 13px;
    position: relative;
    width: inherit;
    padding-top: 31px;
}
.input-error{
    border-bottom: 2px solid #ED0722 !important;
}
#plantgif{
    width: 150px;
}
/*========================================
Estilos Checkbox Personalizados
==========================================*/
.contenedor-cbx{
    display: inline-block;
    position: relative;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 14px;
    color: var(--color-texto);
    user-select: none;
    padding-top: 1px;
}

.contenedor-cbx input{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.textComboBox{
    padding-top: 1px;
}

.contenedor-cbx .cbx-marca{
    position: absolute;
    top: 0;
    right: -25px;
    height: 15px;
    width: 15px;
    background: transparent;
    border: 1px solid var(--color-texto);
    border-radius: 2px;
    transition: all .8s ease;
}

.contenedor-cbx:hover input ~ .cbx-marca{
    border: 1px solid #45c67e;
}

.contenedor-cbx .cbx-marca::after{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f00c';
    font-size: 9px;
    position: absolute;
    display: none;
    left: 3px;
    top: 3px;
    color: #fff;
}

input[type="date"] {
    position: relative;
    background: white;
    cursor: pointer;
}
input[type="date"]:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f073';
    color:#4e4e4e;
    position: absolute;
    right: 10px;
}
input[type="date"]:hover{
    background: #ffffff;
}
::-webkit-datetime-edit {
}
::-webkit-datetime-edit-fields-wrapper {
}
::-webkit-datetime-edit-month-field:hover,
::-webkit-datetime-edit-day-field:hover,
::-webkit-datetime-edit-year-field:hover {
    background:#45c67e;
}
::-webkit-datetime-edit-text {
    opacity: 0;
}
::-webkit-clear-button,
::-webkit-inner-spin-button {
    display: none;
}
::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 2.5rem;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    cursor: pointer;
    color: #ffffff;
    background: #ffffff;
}
select:focus > option:checked {
    background: #45c67e !important;
    color:  #ffffff !important;
}
.contenedor-cbx input:checked ~ .cbx-marca::after{
    display: block;
}

.contenedor-cbx input:checked ~ .cbx-marca{
    background: #45c67e !important;
    border: 1px solid #45c67e !important;
}

/*========================================
Estilos mesajes de error
==========================================*/
.error-text{
    background: rgba(237,7,34,.21);
    border-radius: 4px;
    padding: 8px 20px;
    margin-bottom: 10px;
    display: none;
}

.error-text p{
    font-size: 13px;
    color: #ED0722;
}


.error-text.active{
    display: block;
    width: 78%;
    margin: auto;
}

.error-usu{
    background: rgba(237,7,34,.21);
    border-radius: 4px;
    padding: 8px 20px;
    margin-bottom: 10px;
    display: none;
}

.error-usu p{
    font-size: 13px;
    color: #ED0722;
}


.error-usu.active{
    display: block;
    width: 275px;
    margin: auto;
}

.validacion-usu{
    background: rgba(69,198,126,0.2);
    border-radius: 4px;
    padding: 8px 20px;
    margin-bottom: 10px;
    display: none;
}

.validacion-usu p{
    font-size: 13px;
    color: #00b952;
}

.validacion-usu.active{
    display: block;
    width: 275px;
    margin: auto;
}
@keyframes cbx_error {

    0%  {
        -webkit-transform:rotateX(-5deg);
        transform: rotateX(-5deg);

    }
    50% {
        -webkit-transform:rotateX( 0deg) scale(.8);
        transform: rotateX(0deg) scale(.8);
    }
    100%{
        -webkit-transform:rotateX( 5deg);
        transform: rotateX(5deg);
    }
}
/*========================================
Animación a los checkbox
==========================================*/

.contenedor-cbx.animate input:checked ~ .cbx-marca{
    transition: background 0.25s linear;
    -webkit-transition: background 0.25s linear;
}
@-webkit-keyframes desvanecer{
    from{
        opacity: 0;
    }

    to{
        opacity: 1;
    }
}