.form-control.is-valid {
  background-position: center right calc(1.375em + .1875rem) !important;
}

.form-control.is-invalid {
  background-position: center right calc(1.375em + .1875rem) !important;
}

.input-group > .custom-file:not(:last-child) .custom-file-label::after {
  content: "Buscar";
}

#load {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: none;
  position: relative;
  border: 3px solid;
  border-color: #ccc #ccc transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-left: calc((100% - 35px) / 2);
}
#load::after,
#load::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent #164064 #164064;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}
#load::before {
  width: 19px;
  height: 19px;
  border-color: #ccc #ccc transparent transparent;
  animation: rotation 1.5s linear infinite;
}

#err{
  margin-top: 10px;
  border: 1px solid rgb(235, 204, 209);
  background-color: rgb(242, 222, 222);
  color: rgb(169, 68, 66);
  padding: 5px;
  display: none;
  height: 35px;
  width: 100%;
}

.loading{
  width: 35px;
}

#load2p{
  display: none;
}

#load2 {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: none;
  position: relative;
  border: 3px solid;
  border-color: #ccc #ccc transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-left: calc((100% - 35px) / 2);
}
#load2::after,
#load2::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent #164064 #164064;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}
#load2::before {
  width: 29px;
  height: 29px;
  border-color: #ccc #ccc transparent transparent;
  animation: rotation 1.5s linear infinite;
}
    
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 
@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}

.loading2{
  width: 35px;
}

#load3{
  display: none;
  width: 35px;
  margin-left: calc((100% - 35px) / 2);
  margin-bottom: 1%;
}

#load4{
  display: none;
  width: 300px;
  margin-left: calc((100% - 300px) / 2);
  margin-bottom: 1%;
  
  border-radius: 15px;
}

.loading3{
  width: 35px;
}

.imgOk{
  width: 100%;
}

.imgPopUp{
  width: 20%;
  margin-left: calc((100% - 20%)/2);
}

.alertText{
	padding: 5px;
	border: 1px solid #164064;
}

.imgFail{
  width: 60%;
  margin: 20%;
}

.fontP{
  font-size: 16px;
  margin-top: 4%;
}

.fontP2{
  font-size: 13px;
}

.fontP3{
  font-size: 20px;
}

.separator{
  border: solid 1px #ccc;
  width: 100%;
}

.imgPdf{
  margin-left: calc((100% - 64px) / 2);
}

.detail{
	margin-left: calc((100% - 32px) / 2);
}

#menuTittle{
  display: none;
}

@media only screen and (max-width: 767px) {

  #menuTittle{
    display: block;
  }

  #pdd{
    padding: .5rem 0rem;
  }

  #rpimg{
    width: 70% !important;
  }

}

@media screen and (max-width: 750px) {
	.support{
		display: none;
	}
	.PopUp{
		display: none;
	}
	.supportFiles{
		display: none;
	}
  .NewData{
		display: none;
	}
  .fontP3 {
    font-size: 15px;
  }
  html, body {
    font-size: 13px;
  }
}

@media screen and (min-width: 750px) {
  .support{
    position: fixed;
    top: 20px;
    right: 10px;
    width: 350px;
    height: 130px;
    border: solid 1px #ccc;
    border-radius: 10px;
    animation-name: toLeft;
    animation-duration: 2s;
	display: none;
	background-color: #FFF;
	z-index: 9999;
  }

  @keyframes toLeft {
    0%   {right:-350px; top:20px;}
    100% {right:10px; top:20px;}
  }

  .supportFiles{
    position: fixed;
    top: 20px;
    left: 10px;
    width: 350px;
    height: 160px;
    border: solid 1px #ccc;
    border-radius: 10px;
    animation-name: toRight;
    animation-duration: 2s;
    display: none;
    background-color: #FFF;
    z-index: 9999;
  }

  .NewData{
    position: fixed;
    top: 20px;
    left: 10px;
    width: 350px;
    height: 225px;
    border: solid 1px #ccc;
    border-radius: 10px;
    animation-name: toRight;
    animation-duration: 2s;
    display: none;
    background-color: #FFF;
    z-index: 9999;
  }

  @keyframes toRight {
    0%   {left:-350px; top:20px;}
    100% {left:10px; top:20px;}
  }

  .support-head{
    width: 35px;
    margin: 5px;
    float: left;
  }

  .support-img{
    width: 125px; 
    margin-left: calc((100% - 125px) / 2); 
    margin-bottom: 15px;
  }

  .support-tittle{
    float: left;
    font-size: 14px;
    font-weight: bold;
    margin-top: 12px;
    margin-left: 10px;
  }

  .support-text{
    margin: 50px 5px 0px 5px;
    text-align: justify;
	font-size: 14px;
  }

  .support-close{
    width: 12px;
    height: 10px;
    position: absolute;
    right: 3px;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
	top: -3px;
  }

  .support-header{
    width: 100%;
    height: 20px;
    border-radius: 10px 10px 0px 0px;
    background-color: #164064;
  }
  .PopUp{
    position: fixed;
    top: 20px;
    right: 10px;
    width: 400px;
    height: 180px;
    border: solid 1px #ccc;
    border-radius: 10px;
    animation-name: toLeft;
    animation-duration: 2s;
	background-color: #fff;
  }
    .popup-tittle{
    float: left;
    font-size: 18px;
    font-weight: bold;
    margin-top: 8px;
    margin-left: 10px;
  }
}

.dropdown-toggle{
  color: rgba(0,0,0,.5) !important;
}

.dropdown{
  margin-right: 15%;
  margin-left: 3%;
}

.dropdown-menu{
  width: 250px;
}

.dropdown a{
  color: rgba(0,0,0,.5) !important;
}

@media screen and (max-width: 991px) {
  #pdd{
    padding: .5rem 0rem;
  }
}

/* MediaQuery´s Para menú principal*/

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
  color: #164064 !important;
}

/* Estilo base (pantallas grandes) */
.navbar {
    font-size: 15px !important;
    font-weight: 600;
}

/* Ajuste para pantallas medianas grandes (≈ laptop 15”) */
@media screen and (max-width: 1440px) {
    .navbar {
        font-size: 14px !important;
    }
}

/* Ajuste para pantallas medianas (≈ laptop 13”, iPad horizontal) */
@media screen and (max-width: 1280px) {
    .navbar {
        font-size: 13px !important;
    }

    .navbar-nav {
        gap: 4px; /* espacio entre los links */
    }
}

/* Ajuste para pantallas medianas pequeñas (iPad vertical o notebook pequeño) */
@media screen and (max-width: 1100px) {
    .navbar {
        font-size: 12px !important;
        flex-wrap: wrap; /* evita que se deforme horizontalmente */
        text-align: center;
    }

    .navbar-nav {
        justify-content: center;
        flex-wrap: wrap;
    }

    .navbar-nav .nav-item {
        margin: 2px 6px;
    }
}

/* Ajuste para móviles */
@media screen and (max-width: 768px) {
    .navbar {
        font-size: 11px !important;
    }

    .navbar-nav {
        display: block;
        text-align: center;
    }

    .navbar-nav .nav-item {
        display: inline-block;
        margin: 3px 8px;
    }
}

/* Fin MediaQuery´s Para menú principal*/

a#pdd:hover {
  color: #164064 !important;
}

.button-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; /* Permite que los botones se apilen en pantallas pequeñas */
  gap: 10px; /* Espacio entre los botones */
  margin-top: 20px;
}

/* Contenedor de cada botón */
.button-wrapper {
  width: 35%; /* Ancho del botón (ajustado para dejar espacio al gap) */
  height: 35px;
  background-color: #164064;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px; /* Radio inferior derecho */
}

#leftc{
  margin-left: 8%;
}

/* Radio inferior izquierdo para el segundo botón */
.button-wrapper.right {
  border-radius: 10px;
  margin-right: 8%;
}

/* Estilos para los botones */
.custom-btn {
  background-color: #164064;
  border: none;
  color: white;
  cursor: pointer;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 14px; /* Tamaño de fuente */
}

.af {
  text-decoration: none !important;
}

/* Eliminar efecto hover */
.custom-btn:hover {
  background-color: #164064; /* Mantener el mismo color en hover */
}

/* Estilos responsivos */
@media (max-width: 768px) {

  #leftc {
    margin: 5px 30px;
  }

  .button-wrapper.right {
    margin: 5px 30px;
  }

  .support-img{
    width: 125px;
    margin-left: calc((100% - 125px) / 2);
    margin-bottom: 12px;
  }

  .button-wrapper {
      width: 30%; /* Los botones ocupan el 100% del ancho en pantallas pequeñas */
      border-radius: 10px; /* Radio inferior para ambos botones */
  }

  .button-wrapper.right {
      border-radius: 10px; /* Radio inferior para ambos botones */
  }
}

.select2{
  height: 37px !important;
  width: 250px !important;
}

.select2-container .select2-selection--single {
  height: 37px !important;
  width: 250px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 37px !important;
}

.dataTables_filter{
  margin-top: 10px;
  margin-right: 5px;
}

.dataTables_filter input{
  border: solid 1px #ccc;
}

.dataTables_length{
  margin-top: 10px;
  margin-left: 5px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background: transparent !important;
  background-color: #164064 !important;
  border: solid 1px #ccc !important;
  color: #FFF !important;
}

.dataTables_info{
  margin-left: 5px;
}

.bouncing-button {
  display: inline-block;
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #164064;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  animation: bounce 1.5s infinite; /* Duración y repetición infinita */
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0); /* Posición inicial y final */
  }
  50% {
    transform: translateY(-6px); /* Sube ligeramente */
  }
}

#headStyle {
  line-height: 1.1;
  margin-top: 0%;
  font-size:19px;
  padding: 24px;
  background-color: #164064;
  color: #FFF;
}

/* ----------------------------------------------------------------------- PRUEBA DE CSS RESPONSIVE MENU */

@media (min-width: 1359px) and (max-width: 1530px) {
  #PrimaryMenu{
    font-size: 13px !important;
  }
}

@media (min-width: 1293px) and (max-width: 1374px) {
  #PrimaryMenu{
    font-size: 12px !important;
  }
}

@media (min-width: 1180px) and (max-width: 1298px) {
  #PrimaryMenu{
    font-size: 10px !important;
  }
}

@media (min-width: 992px) and (max-width: 1049px) {
  #PrimaryMenu{
    font-size: 11px !important;
  }
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    text-align: right !important;
  }

  .navbar-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-end; 
    gap: 0.5rem; 
    padding-right: 1rem; /
  }

  .navbar-nav .nav-item {
    width: auto; 
  }

  .navbar-nav .dropdown-menu {
    text-align: right !important;
    right: 0 !important; 
    left: auto !important;
  }

  .navbar-nav .dropdown-menu.show {
    transform: translateX(0);
  }
  .navbar-collapse.show .form-inline {
    display: flex;
    flex-direction: column;
    align-items: flex-end; 
    padding-right: 15px;
  }

  .navbar-collapse.show .form-inline a {
    text-align: right;
    width: 100%;
    margin-top: 10px;
  }
}



