.textOverImage{
    position:relative;
    width:100%;
    height:300px;
    float:left;
    margin:4px;
    background-size:110%;
    background-position:center;
    transition:0.5s;
    overflow:hidden;
    border-radius:4px;
    box-shadow:0 0 4px #000;
    -webkit-transition:0.5s;
    -moz-transition:0.5s;
    -ms-transition:0.5s;
    -o-transition:0.5s;
    -webkit-border-radius:;
    -moz-border-radius:;
    -ms-border-radius:;
    -o-border-radius:;
}
  
  .textOverImage:hover{
    background-size:110%;
  }
  
.textOverImage:before{
  position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    transform:translateY(90%);/*use transform:translateY(100%); to remove footer*/
    background-color:#0d6efd;
    color:#ffffff;
    padding:0 10px;
    content:attr(data-title);
    transition:0.5s 0.1s;
    color:#fff;
    font-weight:bold;
    font-size:18px;
    text-align: center;
    text-transform: capitalize;
    margin-bottom: 2px;
    
}

  .textOverImage:after{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    color:#fff;
    padding:30px;
    content:attr(data-text);
    transition:0.5s;
    padding-top:2em;
    margin-top:30px;
    transform:translateY(100%);
    opacity:0;
    text-align: justify;
    -webkit-transform:translateY(100%);
    -moz-transform:translateY(100%);
    -ms-transform:translateY(100%);
    -o-transform:translateY(100%);
}
  
  .textOverImage:hover:after{
    transform:translateY(0);
    transition:0.5s 0.1s;
    opacity:1;
  }
.textOverImage:hover:before{
    transform:translateY(0);
    padding:8px;
    background-color:rgba(0,0,0,0.6);
    transition:0.5s;
}

/**/


.twelve { width: 100%; }
.eleven { width: 91.53%; }
.ten { width: 83.06%; }
.nine { width: 74.6%; }
.eight { width: 66.13%; }
.seven { width: 57.66%; }
.six { width: 49.2%; }
.five { width: 40.73%; }
.four { width: 32.26%; }
.three { width: 23.8%; }
.two { width: 15.33%; }
.one { width: 6.866%; }



/*
.container{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
*/

/* CLEARFIX */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* ALL BUTTONS */

.button{
  display: inline-block;
  padding: 10px 10px;
  margin: 20px 0;
  position: relative;
  color: #ecf0f1;
}

/* BUTTON 1 */

#button-1{
  border: 2px solid #0080ff;
  color: #0080ff;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: 17px;
}

#button-1:before{
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #0080ff;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

#button-1:hover{
  color: #ecf0f1;
}

#button-1:hover:before{
  left: 0;
}

.title {
  font-size: 30px;
  color: #0076bf;
}

/*LINKS - ENLACES */
.link {
	color: #ffffff;
  position: relative;
  text-decoration: none;
}

.link::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background-color: #00a6ff;
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

.link:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

/* ENLACES FIN */

/* */

.thumbails_persolizado2 {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px;
  box-shadow: 7px 7px 10px -5px rgb(0 0 0 / 10%);
  /* width: 150px; */
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgb(0 0 0 / 0%);
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  background-color: #FFF;
}


.thumbails_persolizado {
  /* border: 1px solid #ddd; */
  border-radius: 5px;
  padding: 5px;
  box-shadow: 7px 7px 10px -5px rgb(0 0 0 / 10%);
  background-color: #FFF;
}

.thumbails_persolizado:hover {
  /*border: 1px solid #ddd;
  */border-radius: 5px;
  padding: 5px;
  box-shadow: 7px 7px 10px -5px rgb(0 0 0 / 10%);
  background-color: #0071bd;
  filter: grayscale(80%);
}

#cropperjs {
display: block;
max-width: 100%;
}

#preview {
width: 200px;
height: 200px;
margin-bottom: 10px;
border-radius: 100%;
}

.demo-text{
clear: left;
text-align: right;
vertical-align: middle;
line-height:25px;
}

.btn.btn-primary_titulo {
  background-color: #0071bd;
  color: #0071bd;
  border-color: #0071bd;
}

.btn.btn-primary_titulo:hover {
  background-color: #0071bd;
  color: #0071bd;
  border-color: #0071bd;
}

.circulo {
background: -webkit-linear-gradient(left top, #0a3a82 0%, #1e92c5 100%);
width: 300px;
height: 300px;
border-radius: 1000px;
padding: 10px;

}


.linkp {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  transition: background-size .3s;
}
linkp:hover, a:focus {
  background-size: 100% 2px;
}


.imagen:hover {filter: opacity(.5);}

/* LINKS */

.linkpink {
outline: none;
text-decoration: none;
padding: 2px 1px 0;
}

.linkpink:link {
color: #0075bb;
}

.linkpink:hover {
border-bottom: 1px solid;
background: #CDFEAA;
}

.linkpink:active {
background: #0075bb;
color: #fff;
}
/*FIN*/

.alinear-text{
clear: left;
text-align: right;
vertical-align: middle;
line-height:25px;
}

.circular {
border-radius: 100px;
border: 5px solid #0075bb;
padding: 8px;
width: 120px;
height: 120px;
}

.circular2 {
border-radius: 100px;
border: 5px solid #0075bb;
padding: 8px;
width: 90px;
height: 90px;
}

.btn-borde {
  padding: .375rem .75rem;
  border: 2px solid #007bff;
  border-radius: .25rem;
  color: #fff;
  font-size: 16px;
  padding: 5px;
  background-color:#007bff;
  transition: 0.3s;
  padding-bottom: 15p;
}

.btn-borde:hover {
  padding: .375rem;
  border-radius: .25rem;
  color: #fff;
  transition: 0.2s;
  font-size: 16px;
  padding: 5px;
  background-color:#4fa4ff;
  padding-bottom: 15p;
}

p{
margin-top: 0;
margin-bottom: 1rem;
line-height: 1.5;
}

p:last-child{
margin-bottom: 0;
}

.page{
max-width: 47rem;
padding: 5rem 2rem 3rem;
margin-left: auto;
margin-right: auto;
}


.substack{
border:1px solid #EEE; 
background-color: #fff;
width: 100%;
max-width: 480px;
height: 280px;
margin: 1rem auto;;
}


.linktr{
display: flex;
justify-content: flex-end;
padding: 2rem;
text-align: center;
}

.linktr__goal{
background-color: rgb(209, 246, 255);
color: rgb(8, 49, 112);
box-shadow: rgb(8 49 112 / 24%) 0px 2px 8px 0px;
border-radius: 2rem;
padding: .75rem 1.5rem;
}

.r-link{
  --uirLinkDisplay: var(--rLinkDisplay, inline-flex);
  --uirLinkTextColor: var(--rLinkTextColor);
  --uirLinkTextDecoration: var(--rLinkTextDecoration, none);

  display: var(--uirLinkDisplay) !important;
  color: var(--uirLinkTextColor) !important;
  text-decoration: var(--uirLinkTextDecoration) !important;
}
/*FIN*/



/* ENLACES ESTILO LINK */
.enlacesmodernos {
position: relative;
z-index: 1; /* Necesario para establecer el pseudo-elemento z-index */
overflow: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}

.enlacesmodernos a {
position: relative;
display: inline-block;
outline: none;
color: #28262b;
font-size: 19px;
vertical-align: bottom;
text-decoration: none;
white-space: nowrap;
}

.enlacesmodernos p {
font-family: "Lato";
font-size: 17px;
color: #ccc;
line-height: 30px;
}

.enlacesmodernos a::before,
.enlacesmodernos a::after {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
}


/* Text up line */
.link-textupline a {
overflow: hidden;
font-weight: 500;
-webkit-transition: -webkit-transform 0.3s;
transition: transform 0.3s;
text-align:center
}

.link-textupline p {
line-height: 40px;
}

.link-textupline a:hover,
.link-textupline a:focus {
-webkit-transform: translateY(10%);
transform: translateY(10%);
color: #28262b;
}

.link-textupline a::before {
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 100%;
height: 100%;
background: #0065ba;
content: "";
-webkit-transition: -webkit-transform 0.3s;
transition: transform 0.3s;
-webkit-transform: translateY(100%) translateY(-5px);
transform: translateY(100%) translateY(-5px);
text-align:center
}

.link-textupline a,
.link-textupline a::before {
-webkit-transition-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
transition-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
}

.link-textupline a:hover::before,
.link-textupline a:focus::before {
-webkit-transform: translateY(-100%) translateY(5px);
transform: translateY(-100%) translateY(5px);
}

.zoom {
  padding: 5px;
  transition: transform .5s;
  margin: 0 auto;
  -webkit-transition: all .6s ease;
  border: 4px solid #535353;
}

.zoom:hover {
  border: 5px solid #3498db;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgb(0 0 0 / 0%);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform;
  box-shadow: 0px 10px 10px -6px black;
}

.thumbails_persolizado_not {
  border: 5px solid #5d5d5d;
  border-radius: 6px;
  padding: 0px;
  box-shadow: 7px 7px 10px -5px rgb(0 0 0 / 10%);
}

/********** End Enlaces Modernos **********/

/* Estilos del contenedor */
.over {
padding: 1rem 1.5rem;
width: 300px;
height: 400px;
background-color: #fff;
border-radius: 0.25rem;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
color: #333;
font-family: sans-serif;
text-align: justify;
line-height: 1.3;
overflow: auto;
}

.over p:not(:last-child) {
margin-bottom: 1rem;
}

/* Tamaño del scroll */
.over::-webkit-scrollbar {
width: 8px;
}

/* Estilos barra (thumb) de scroll */
.over::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 4px;
}

.over::-webkit-scrollbar-thumb:active {
background-color: #999999;
}

.over::-webkit-scrollbar-thumb:hover {
background: #b3b3b3;
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
}

/* Estilos track de scroll */
.over::-webkit-scrollbar-track {
background: #e1e1e1;
border-radius: 4px;
}

.over::-webkit-scrollbar-track:hover, 
.over::-webkit-scrollbar-track:active {
background: #d4d4d4;
}

/* Box caja textos */
/*.border-box {
  box-sizing: border-box;
  background-color: #FFF;
  padding: 10px;
  box-shadow: inset 0 -3em 3em rgb(0 0 0 / 10%), 0 0 0 2px rgb(255 255 255), 0.3em 0.3em 1em rgb(0 0 0 / 30%);
}
/* End */

/* PDF */
#pdf {
  font-size:80px;
  color:#3498db;
  border-radius: 50%;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}

#pdf:hover {
  font-size:80px;
  color:#ff0000;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}
/* END */

/* texto */
#text-pdf {
  color:#353535;
  border-radius: 50%;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}

#text-pdf:hover {
  color:#ff0000;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}
/* END */

.hr1 {
border-top: 2px solid #8c8b8b;
}

.demo-text{
clear: left;
text-align: right;
vertical-align: middle;
line-height:25px;
display: inline-block;
padding: 5px
}

.btn.btn-primary_personalizado {
  background-color: #0071bd;
  color: #fff;
  border-color: #0071bd;
}

.btn.btn-primary_personalizado:hover {
  background-color: #3f9fd9;
  color: #fff;
  border-color: #3f9fd9;
  cursor: none;
}

.texto {
text-align: justify;
text-justify: inter-word;
}

.linea {
border-bottom: 0px solid;
height: 2px;
padding: 0;
margin: 20px auto 0 auto;
}

.linea:hover {
border-bottom: 3px solid;
height: 2px;
padding: 0;
margin: 20px auto 0 auto;
color: #0076bf;
opacity:1;
transition:all 0.1s ease;
}


.link-a {
 outline: none;
 text-decoration: none;
 padding: 5px 3px 0;
 border-radius: 7px;
}

.link-a:hover {
color:#3498db;
}

/* AVISO */
.logo-img {
  width: 350px;
  height: auto; /* Mantiene la proporción */
}
.modal-header {
    background-color: #0071bd; /* Cambia este color por el que prefieras */
    color: white; /* Color del texto */
    padding: 15px; /* Ajusta el relleno según tus necesidades */
    text-align: center; /* Alineación del texto */
  }

.fondo {
  background-image: url("../img/aviso-modal/fondo-aviso.jpg");
  background-size: auto;
}
/*AVISO END*/

/*FONDO FULL*/
.fondofull {
  background: url("../img/fondo/Fondo_IGM_2024.jpg") no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.box-sombras {
  background-color: #007bff;
  box-shadow: 0px 1px 27px -11px rgba(0,0,0,0.75);
  -webkit-box-shadow: 0px 1px 27px -11px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 1px 27px -11px rgba(0,0,0,0.75);
}

.bg-pers {
  --bs-bg-opacity: 1;
  background-color: rgb(255, 255, 255) !important;
}

.content-box {
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background-color: #fff;
  padding: 50px;
}

/**/

/* CSS para el hover en las imágenes con fondo azul */
.image-hover {
  position: relative;
  display: inline-block;
}

.image-hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007bff; /* Fondo azul semi-transparente */
  opacity: 0%;
  transition: opacity 0.3s ease;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.image-hover:hover::after {
  opacity: 50%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  box-shadow: 0px 25px 22px -6px rgba(0,0,0,0.5);
}

/**/

/**/
/* CSS para el hover en las tarjetas con degradado azul */

.custom-card {
  position: relative;
  overflow: hidden;
}

.custom-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-190deg, #007bff, rgb(255, 254, 254));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1; /* Asegura que el degradado esté encima de la imagen */
}

.custom-card:hover::after {
  opacity: 1;
}

.custom-card .card-body {
  position: relative;
  z-index: 2; /* Asegura que el texto esté encima del degradado */
}

/**/

/**/
/* Clase personalizada para añadir espacio al botón */
.btn-space {
  margin-top: 15px;  /* Añadir margen superior */
  margin-bottom: 15px;  /* Añadir margen inferior */
  padding: 10px 20px;  /* Añadir padding adicional */
}

/**/

/*END*/