body {
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    /*background: #33D1B1;*/
    background: linear-gradient(189deg, rgba(27,156,159,1) 0%, rgba(50,181,154,1) 63%, rgba(51,209,177,1) 100%);
    overflow: hidden;
    height: 100vh;
}

.imagen-fondo {
    background-image: url(https://static.elcomercio.es/www/multimedia/202005/11/media/cortadas/55196671--624x415.JPG);
    background-repeat: no-repeat;
    background-size: cover;
    height:100vh;
    opacity: .12;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
}
/*
.container-principal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 40%;
    background: white;
    border-radius: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    align-content: center;
    margin-top: 10px;
}
*/
.container-principal {
    /* position: absolute; */
    /* top: 50%; */
    /* left: 50%; */
    /* transform: translate(-50%,-50%); */
    width: 40%;
    background: white;
    border-radius: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    align-content: center;
    margin-top: 10px;
    margin: auto;
}

.contenedor-titulos {
    position:initial;
    display: flex;
    top:50%;
}

.container-principal h1 {
    text-align: center;
    padding: 0 0 20px 0;
    border-bottom: 1px solid silver;
}

.container-principal form {
    padding: 0 40px;
    box-sizing: border-box;
}

form .texto-campos {
    position: relative;
    border-bottom: 2px solid #adadad;
    margin: 25px 0;
}

.texto-campos input {
    width: 100%;
    padding: 0 5px;
    height: 40px;
    font-size: 16px;
    font-weight: 500;
    color: #4e4e4e;
    border: none;
    background: none;
    outline: none;
    font-family: Montserrat;
}

.texto-campos label {
    position: absolute;
    top: 50%;
    left: 5px;
    color: #adadad;
    transform: translateY(-50%);
    font-size: 17px;
    pointer-events: none;
    transition: .5s;
}

.texto-campos span::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 0;
    width: 0%;
    height: 2px;
    background: #33D1B1;
    transition: .5s;
}

.texto-campos input:focus ~ label,
.texto-campos input:valid ~ label {
    top: -5px;
    color: #33D1B1;
}

.texto-campos input:focus ~ span::before,
.texto-campos input:valid ~ span::before {
width: 100%;
}

a {
    font-size: 12px;
    text-decoration: none;
    color: #7e7e7e;
    font-weight: 600;
}

/*
.titulos {
    margin-top: 0;
    display: inline;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    top: 15%;
}
*/

.titulos {
    margin-top: 0;
    text-align: center;
    padding: 50px 0px;
}

.titulos2 {
    text-align: center;
}

#titulo1 {
    color: white;
    margin-bottom: -20px;
    margin-top: 10px;
    font-weight: 600;
    text-align: left;
    font-size: .8em;
    padding-left: 1%;
}

#titulo2{
    font-size: 7em;
    font-weight: 700;
    color: white;
    margin: 0;
}

#titulo3{
    font-size: .75em;
    font-weight: 600;
    color: white;
    margin-top: -20px;
}

#slogan{
    font-size: .8em;
    font-weight: 400;
    color: white;
    padding: 100px;
}

.password-olvidado {
    margin: -5px 0 20px 5px;
    color: #a6a6a6;
    cursor: pointer;
}

.password-olvidado a{
    color: #a0a0a0;
    font-weight: 500;
    font-size: 15px;
}

.password-olvidado:hover {
    text-decoration: underline;
}

input[type="submit"] {
    width: 100%;
    height: 40px;
    border: 1px solid white;
    border-radius: 10px;
    background: #33D1B1;
    font-family: Montserrat;
    font-weight: 600;
    font-size: 14px;
    color: white;
    cursor: pointer;
    outline: none;
    transition: .3s;
    margin-bottom: 0px;
}

input[type="submit"]:hover {
    transform: scale(1.03);
}

.link-registro {
    margin: 20px 0 20px 0;
    text-align: center;
    color: #a0a0a0;
}

.link-registro a {
    color: #a0a0a0;
    font-weight: 500;
    font-size: 15px;
}

.link-registro:hover{
    text-decoration: underline;
}

.footer-home{ 
    position: absolute;
    min-height: 12vh;
    min-width: 100%;
    background-color: white;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-home img {
    height: 50px;
}

#img2 {
    margin-left: 10px;
    border-left: 1px solid rgb(206, 206, 206);
    padding-left: 10px;
}

#img1 {
    width: 145px;
    height: auto;
}

@media (max-width: 780px) {
    .container-principal{
      width: 90%;
    }
    #titulo2{
        font-size: 6em;
        margin-bottom: 10px;
    }
    #titulo3{
        margin-bottom: 15px;
    }

    #slogan{
        font-size: .9em;
        margin: 0;
        padding: 40px;
        font-weight: 500;
    }

    .contenido-app {
        padding-top: 40%;
    }
}

#titulo-busqueda{ 
    color: white;
    font-weight: 600;
}

.container-buscador {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 450px;
    background: white;
    border-radius: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    align-content: center;
    margin-top: 10px;
}

.container-buscador h1 {
    text-align: center;
    padding: 0 0 20px 0;
    border-bottom: 1px solid silver;
}

.container-buscador form {
    padding: 0 40px;
    box-sizing: border-box;
}

#btn-buscar {
    width: 100%;
    height: 40px;
    border: 1px solid white;
    border-radius: 10px;
    background: #33D1B1;
    font-family: Montserrat;
    font-weight: 600;
    font-size: 14px;
    color: white;
    cursor: pointer;
    outline: none;
    transition: .3s;
    margin-bottom: 20px;
}

.container-resultados {
    position: absolute;
    /*top: 35%;*/
    left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
    background: white;
    border-radius: 30px;
    padding: .8% 2% 1.2% 2%;
    align-content: center;
}

#titulo-result {
    font-size: 1.5em;
    font-weight: 600;
    color: white;
    margin: 0;
    padding: 0;
}

#dni-result {
    font-size: 2.8em;
    font-weight: 600;
    color: white;
    margin: 0;
    padding: 0;
    letter-spacing: .06em;
}

.resultados {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}

.titulos-info-paciente {
    color:rgb(66, 66, 66);
    font-weight: 600;
    font-size: 1.5em;
    border-bottom: 1px solid rgb(156, 156, 156);
    width: 95%;
    padding-bottom: 7px;
}

.titulo-campos {
    font-size: 1.1em;
    font-weight: 600;
    color:rgb(119, 119, 119);
    line-height: 0;
}

.contenido-campos {
    font-size: 1.3em;
    font-weight: 500;
    color:rgb(82, 82, 82);
    line-height: 0;
    margin-bottom: 4%;
}

.titulos-result-paciente {
    color:rgb(104, 104, 104);
    font-weight: 600;
    font-size: 1.2em;
    border-bottom: 1px solid rgb(156, 156, 156);
    width: 100%;
    padding-bottom: 7px;
}

.boton-result {
    font-size: 1.5em;
    font-weight: 600;
    color: #33D1B1;
    border-radius: 10px;
    border: 2px solid #33D1B1;
    padding: .4em 5em .4em .6em;
    display: inherit;
    transition: .2s;
}

.boton-result:hover {
    box-shadow: 0 10px 25px #ebebeb;
    background-color: #d7fff7;
    transform: scale(1.01);
}

.contenido-app {
    margin-left: 6%;
    position: relative;
    transition: all 0.5s ease;
    padding-top: 20%;
}
.contenido-app.activeapp {
    margin-left: 12%;
}


/*-------------- Nuevo código ------------*/


/* MENU LATERAL */
/* .body{
    position: relative;
    min-height: 100vh;
    width:100%;
    overflow: hidden;
} */

.sidebar{
    position: fixed;
    top: 0;
    left: 0;
    height:100% ;
    width: 5%;
    background: white;
    padding: 6px 14px; 
    z-index: 99;
    transition: all 0.5s ease;
}
.sidebar.active{
    width: 12%;
}
.sidebar .logo-content .logo{
    color: rgb(0, 0, 0);
    display: flex;
    height: 50px;
    width: 100%;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s ease;
}
.sidebar.active .logo-content .logo{
    opacity: 1;
    pointer-events: none;
}
.logo-content .logo i{
    font-size: 28px;
    margin-right: 5px;
}
.logo-content .logo .logo-name{
    font-size: 20px;
    font-weight: 400;
}
.sidebar #btnSidebar{
   position: absolute;
   color: rgb(0, 0, 0);
   left: 50%;
   top: 6px;
   font-size:20px ;
   height: 50px;
   width: 50px;
   text-align: center;
   line-height: 50px;
   transform: translateX(-50%);
}
.sidebar.active #btnSidebar{
   left: 90%;
}
.sidebar ul{
    margin-top: 20px;
    padding: 0;
}
.sidebar ul li{
   position: relative;
   height: 50px;
   width: 100%;
   margin: 0;
   list-style: none;
   line-height: 50px;
}
.sidebar ul li .tooltip{
   position: absolute;
   left: 122px;
   top: 0;
   transform: translate(-50%, -50%);
   border-radius: 6px;
   height: 35px;
   width: 122px;
   background: #fff;
   line-height: 35px;
   text-align:center ;
   box-shadow: 0 5px 10px rgba(0,0,0,0.2);
   transition: 0s;
   opacity: 0;
   pointer-events: none;
   display: block;
   
}
.sidebar.active ul li .tooltip{
   display: none;
}
.sidebar ul li:hover .tooltip{
   transition: all, 0.5s, ease;
   opacity:1 ;
   top: 50%;
}
.sidebar ul li input{
   position: absolute;
   height:100% ;
   width: 100%;
   left: 0;
   top: 0;
   border-radius: 12px;
   outline: none;
   border: none;
   background: #fff3;
   padding-left: 50px;
   font-size: 18px;
   color: black;
   
}
.sidebar ul li .bx-search{
   position: relative;
   z-index: 99;
   color: black;
   font-size: 22px;
   transition: all 0.5 ease;
}
.sidebar ul li .bx-search:hover{
  background: #33D1B1;
  color: black;

}
.sidebar ul li a{
   color: black;
   display: flex;
   align-items:center ;
   text-decoration: none;
   transition: all 0.4s ease;
   border-radius: 12px;
   white-space: nowrap;
   font-size: 1.4em;
}
.sidebar ul li a:hover {
   color: black;
   background: #33D1B1;
}
.sidebar ul li  i{
   height: 50px;
   min-width: 50px;
   border-radius: 12px;
   line-height: 50px;
   text-align: center;

}
.sidebar .link-name{
   opacity: 0;
   pointer-events: none;
   transition: all 0.5s ease;
}
.sidebar.active .link-name{
   opacity: 1;
   pointer-events: auto;
   font-size: .7em;
   font-weight: 500;
   color: #545454;
}

#btnSidebar:hover {
    cursor: pointer;
}

@media (max-width: 1100px) {
    .contenido-app {
        padding-top: 30%;
    }
}

@media (max-width: 800px) {
    .contenido-app {
        padding-top: 40%;
    }
}

.btn-agregar {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}

#logo-index {
    width: 250px;
    margin: auto;
}

@media (max-width: 780px) {
    #logo-index {
      width: 40%;
    }
    #img1 { 
        width: 100px;
        height: auto;
    }
    #img2 {
        width: 100px;
        height: auto;
    }
    .footer-home {
        min-height: 8vh;
    }
    .titulos2 {

    }
}