@import url('https://necolas.github.io/normalize.css/8.0.1/normalize.css');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;700;900&display=swap');


/* Spinner De Carga */
#contenedor_carga{
  background-color: var(--white);
  height: 100%;
  width: 100%;
  position: fixed;
  transition: all 1s ease;
  z-index: 10000000000;
}
#contenedor_carga2{
  background-color: var(--white);
  height: 100%;
  width: 100%;
  transition: all 1s ease;
  z-index: 10000000000;
}
#carga,
#carga2{
  height: 10rem;
  width: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 10000;
}

.sk-chase {
width: 90px;
height: 90px;
position: relative;
animation: sk-chase 2.5s infinite linear both;
}

.sk-chase-dot {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0; 
animation: sk-chase-dot 2.0s infinite ease-in-out both; 
}

.sk-chase-dot:before {
content: '';
display: block;
width: 25%;
height: 25%;
background-color: var(--primary);
border-radius: 100%;
animation: sk-chase-dot-before 2.0s infinite ease-in-out both; 
}

.sk-chase-dot:nth-child(1) { animation-delay: -1.1s; }
.sk-chase-dot:nth-child(2) { animation-delay: -1.0s; }
.sk-chase-dot:nth-child(3) { animation-delay: -0.9s; }
.sk-chase-dot:nth-child(4) { animation-delay: -0.8s; }
.sk-chase-dot:nth-child(5) { animation-delay: -0.7s; }
.sk-chase-dot:nth-child(6) { animation-delay: -0.6s; }
.sk-chase-dot:nth-child(1):before { animation-delay: -1.1s; }
.sk-chase-dot:nth-child(2):before { animation-delay: -1.0s; }
.sk-chase-dot:nth-child(3):before { animation-delay: -0.9s; }
.sk-chase-dot:nth-child(4):before { animation-delay: -0.8s; }
.sk-chase-dot:nth-child(5):before { animation-delay: -0.7s; }
.sk-chase-dot:nth-child(6):before { animation-delay: -0.6s; }

@keyframes sk-chase {
100% { transform: rotate(360deg); } 
}

@keyframes sk-chase-dot {
80%, 100% { transform: rotate(360deg); } 
}

@keyframes sk-chase-dot-before {
50% {
  transform: scale(0.4); 
} 100%, 0% {
  transform: scale(1.0); 
} 
}

/** Global Styles **/
:root {
  --primary: #a10000;
  --green: rgb(92, 92, 92);
  --blue: rgb(92, 92, 92);
  --black: #262626;
  --white: #FFF;
  --gray: #555;
  --fuente-principal: 'Outfit', sans-serif;
  --color-background-scrollbar: #eee;
}
html {
  font-size: 62.5%;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
*, *:before, *:after {
  box-sizing: inherit;
}
body {
  font-size: 2rem;
  font-family: var(--fuente-principal);
  line-height: 1.5;
}


img {
  max-width: 100%;
  height: auto;
}
figure{
  margin: 0;
}
ul{
  list-style: none;
}
[class*="contenedor"], 
main {
  width: min(95%, 120rem);
  margin: 0rem auto;
  margin-top: 0;
}
[class*="heading"] {
  font-size: 4rem;
  text-align: center;
  font-weight: 900;
  color: var(--primary);
  margin: 5rem 0;
}
.error,
.error-enlace {
  font-size: 2.4rem;
  text-align: center;
  margin-top: 5rem;
}
.error-enlace {
  font-size: 1.8rem;
  display: block;
  text-decoration: none;
  color: var(--primary);
}
.grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4rem;
}
@media (min-width: 768px) {
	.grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 992px) {
	.grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.navegacion a,
.active{
  transition: .5s all ease;
  border-bottom: 5px solid var(--white);
}
.active{
  border-bottom: 5px solid var(--primary) !important;
}
.navegacion a:hover,
.active {
  border-bottom: 5px solid var(--primary);
}


.swal2-popup{
  font-size: 1.5rem;
  width: 35em !important;
}
.swal2-confirm{
  background-color: var(--primary) !important;
  display: inline-block;
  padding: 1rem 5rem;
  font-weight: 700;
}
.swal2-html-container{
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}
.swal2-confirm:focus{
  box-shadow: 0 0 0 3px rgba(141, 6, 6, 0.5) !important;
}

.swal2-title{
  color: black !important;
  padding-top: 0;
}

@media(max-width:450px){
  .swal2-image{
    width: 270px !important;
    height: 190px !important;
  }
  .swal2-title{
    font-size: 2.5rem !important;
  }
}






/** Header **/
.header{
  position: fixed;
  width: 100%;
  z-index: 10;
  top: 0;
}

.header .fijo{
    opacity: 0.1;
    box-shadow: 0px -3px 20px 0px rgb(0 0 0 / 14%);
}


.color-barra{
    background-color: var(--white);
    position: relative;
    z-index: 10;
    transition: .5s all ease;
    padding: 1.5rem 0;
}
.color-barra:hover{
    opacity: 1;
}

.header img{
    width: 25rem;
    padding: 1rem 0;
    padding-bottom: 0;
    filter: saturate(1.5);
}

.barra{
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media(min-width: 780px){
    .barra{
        flex-direction: row;
        justify-content: space-between;
    }
}
.home{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
}
.home img{
    width: 60rem;
    padding: 0;
    margin: 0;
    position: relative;
    filter: grayscale(1);
}
.home .video video{
    position: relative;
    max-width: 50rem;
    min-width: 50rem;
    border: 5px solid var(--white);

}

.nav-mobile{
    display: none;
}
@media(max-width:1020px){
    #link-nosotros{
        display: none;
    }
    .social{
        display: none;
    }
}

@media(max-width:768px){

    .navegacion{
        padding: 1.5rem;
        padding-bottom: 0;
    }
    .social{
        display: flex;
    }
    .social ul{
        margin-bottom: 0 !important;
    }
}


@media(max-width: 450px){
    .navegacion{
        display: flex;
        flex-direction: row;
        gap: 2rem;
        padding: 1rem 0;
    }
    
    .nav-mobile{
        display: none;
        font-size: 5rem;
    }
    .social{
        display: flex;
    }
    .social ul{
        margin: 0;
    }
}

.navegacion a{
    color: var(--gray);
    text-decoration: none;
    font-weight: 300;
    margin-right: 3rem;
    font-size: 1.7rem;
}

@media(max-width:450px){
    .navegacion a{
        margin-right: 0;
    } 
}
.navegacion a:last-of-type{
    margin-right: 0;
}
.social ul {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
}
.social li{
    width: 4rem;
    border-radius: 100%;
    height: 4rem;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
}
.social li i{
    color: var(--primary);
}



/** Footer **/ 


.footer{
  background-color: var(--black);
}
.contenido-footer{
  background-color: black;
  padding: 1rem 0;   
}
.contenido-footer .contenido{
  margin: 0 auto;
}
.contenido-footer .contenido{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media(min-width: 768px){
  .contenido-footer .contenido{
      display: flex;
      flex-direction: row;
      justify-content: space-between;
  }


}

.contenido .newsletter,
.contenido .social{
  display: flex;
  align-items: center;
  gap: 2rem;
}
.contenido .newsletter-footer h1,
.contenido .social-footer h1{
  color: var(--white);
  font-size: 2.5rem !important;
  font-weight: 900;
}
.contenido .newsletter-footer h1 span,
.contenido .social-footer h1 span{
  color: var(--primary);
  font-size: 2.5rem !important;
}

.contenido .social h1 span{
  color: var(--green);
}


.contenido .newsletter form input[type=email]{
  border-radius: .5rem;
  padding: 1rem 2rem;
  border: none;
  width: 100%;
  font-size: 1.7rem;
}

.contenido .newsletter form input[type=submit]{
  border-radius: .5rem;
  padding: 1rem 2rem;
  border: none;
  background-color: var(--primary);
  color: white;
  font-weight: 700;
  width: 40%;
}

.social ul {
  display: flex;
  align-items: center;
  list-style: none;
  gap: .2rem;
  padding: 0;
}
.social li{
  width: 4rem;
  border-radius: 100%;
  height: 5rem;
  display: flex;
  text-align: center;
  justify-content: center;
  flex-direction: column;
}
.social-footer li i{
  color: var(--white);
}
.copy{
  padding: 2rem 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.copy .navegacion a{
  color: var(--white);
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 300;
  margin-right: 3rem;
}
.copy .navegacion a, .active{
  transition: .5s all ease;
  border-bottom: 5px solid var(--black);
}
.copy .navegacion a:hover, .active{
  border-bottom: 5px solid var(--white);
}
.copy p{
  color: var(--white);
  font-size: 1.4rem;
}

@media(max-width:768px){
  .social h1{
      display: none;
  }
  .copy{
      justify-content: center;
  }
  .copy .navegacion{
      display: none;
  }
}

@media(max-width:450px){
  .newsletter{
      display: none !important;
  }
  .copy .navegacion{
      display: none;
  }
  .copy p{
      text-align: center;
  }
  .social h1{
      display: block;
  }
}

.contenido-footer-margin{
  margin-top: 0 !important;
}

/** Contenido Del Index **/
.items-4-grid{
	display: grid;
	grid-template-columns: repeat(4,1fr) !important;
}
@media(max-width:615px){
	.items-4-grid{
		display: grid !important;
		grid-template-columns: repeat(2,1fr) !important;
	}
}
.mapa iframe{
	border: 5px solid var(--white) !important;
}

.contacto .donacion-elementos{
	align-items: flex-start;
}

.titulo-valores{
	text-align: center;
}
.valores-items{
	list-style: none;
    display: flex;
    align-items: center;
    gap: 7rem;
    text-align: center;
	padding: 0;

	display: grid;
    grid-template-columns: repeat(3,1fr);
    justify-items: center;
    align-items: center;
    justify-content: center;
}

.valores-items li i{
	font-size: 5rem;
	color: var(--black);
}
.valores-items2 li i{
	color: var(--black);
}
.valores-items li h4{
	margin: 0;
	text-transform: uppercase;
	color: var(--black);
	font-size: 1.5rem;
}
.valores-items li p{
	margin: 0;
    font-weight: 100;
    font-size: 1.4rem;
    text-align: center;
}
.donacion{
	padding: 3rem 0;
	background-color: whitesmoke;
}
.donacion-about{
	padding: 3rem 0;
    background-color: whitesmoke;
    padding-bottom: 0;
}
.donacion-about .donacion-elementos{
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 10rem;
}
@media(max-width:1020px){
	.mapa{
		display: none;
	}
}
@media(max-width:1020px){
	.contacto .donacion-elementos{
		display: flex;
    	flex-direction: column;
    	align-items: center;
		margin-top: -7rem;
	}
}
@media(max-width:768px){
	.contacto .donacion-elementos{
		display: flex;
		flex-direction: column;
		margin-top: -7rem;
	}
	.valores-items3{
		display: grid !important;
		grid-template-columns: repeat(3,1fr) ;
		justify-items:center;
	}
	.valores-about .valores-items{
		display: flex;
		justify-content: center;
	}
}
@media(max-width:768px){
	.donacion-about .donacion-elementos{
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
	.donacion-about .donacion-elementos img{
		display: none;
	}
	
}
@media(max-width:450px){
	.donacion-about .donacion-elementos{
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
	.valores-items{
		display: grid !important;
    	grid-template-columns: repeat(2,1fr);
	}
	.about-block{
		padding-top: 0rem;
	}
	.valores-items3{
		display: grid;
		justify-items: center;
		gap: 2rem;
	}
	.mapa{
		display: none;
	}
	.donacion-about .donacion-elementos img{
		display: block;
	}
}
.donacion-elementos{
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 2rem;
}

.contenido-donacion h1 span{
	color: var(--primary);
}

.contenido-donacion h1::after{
	display: block;
	content: '';
	height: 5px;
	border-bottom: 5px solid var(--primary);
	max-width: 30%;
}

.contenido-donacion-2 h1 span{
	color: var(--blue);
}

.contenido-donacion p{
	font-size: 1.8rem;
	font-weight: 300;
}

.enlaces-donacion{
	display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 4rem;
}

.enlaces-donacion a{
	background-color: var(--green);
	padding: 1rem 5rem;
	color: var(--white);
	text-decoration: none;
	font-weight: 600;
}
.contenido-donacion-2 .enlaces-donacion  a{
	background-color: var(--blue);
}

.enlaces-donacion a:first-of-type{
	background-color: transparent;
	border: 3px solid var(--green);
	color:var(--green);
}

.contenido-donacion-2 .enlaces-donacion  a:first-of-type{
	background-color: transparent;
	border: 3px solid var(--blue);
	color:var(--blue);
}

@media(max-width:768px){
	.mision-elementos{
		display: flex;
		flex-direction: column;
	}
	.mision-elementos img{
		display: none;
	}
}
@media(max-width:450px){
	.mision-elementos img{
		display: block;
	}
}

.cause{
	background-image: linear-gradient(to left, rgb(0 0 0 / 71%), rgb(0 0 0 / 68%)), url(../assets/oficina2.jpg);
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
	min-height: 30rem;
	background-attachment: fixed;
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.cause .numbers{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 10rem;
}

@media(max-width:615px){
	.cause .numbers{
		display: flex;
		flex-direction: column;
		gap: 1rem;
		padding: 4rem;
	}
}

.numbers .contenido-numbers {
	color: white;
	text-align: center;
	padding: 2rem 0;
}
.numbers .contenido-numbers h1{
	font-size: 7rem;
	font-weight: 900;
	margin: 0;
	border-bottom: 10px solid var(--white);
}

@media(max-width:768px){
	.numbers .contenido-numbers h1{
		font-size: 5.5rem;
	}
}

.numbers .contenido-numbers p{
	font-size: 1.8rem;
	color: var(--white);
	margin: 0;
}

.mision-elementos{
	grid-template-columns: 2fr 2fr;
	align-items: end;
	gap: 5rem;
}
@media(max-width:450px){
	.mision-elementos{
		display: flex;
    	flex-direction: column;
	}
}
.contenido-mision p{
	text-align: justify;
}

.mision-more h1{
	color: var(--primary);
}

.mision-more h1::after{
	display: block;
	content: '';
	height: 5px;
	border-bottom: 5px solid var(--primary);
	max-width: 30%;
}
.mision-more h1 span{
	color: var(--black);
}




/* Seccion Formulario */


.formulario-mision h1{
	padding: 0 4rem;
    margin-bottom: 0;
	color: var(--primary);
}

.contenido-mision .contenido-formulario{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	background-color: whitesmoke;
	padding: 4rem;
  padding-top: 1rem !important;
	border-radius: 0.5rem;
	padding-bottom: 2rem;
	padding-top: 2.5rem;
}
.contenido-mision h4{
    margin: 0;
    padding: 0rem 4rem;
    color: var(--primary);
}
.contenido-mision .elemento-formulario{
	display: flex;
	flex-direction: column;
}
.flex-campo-formulario{
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
.contenido-mision .elemento-formulario input[type=text],
.contenido-mision .elemento-formulario input[type=email],
.contenido-mision .elemento-formulario input[type=tel]{
	padding: 1rem 2rem;
	border: 3px solid #dbdbdb;
	width: 100%;
	font-size: 1.7rem;
}
.contenido-mision .elemento-formulario textarea{
	padding: 1rem 2rem;
	border: 3px solid #dbdbdb;
	width: 100%;
	font-size: 1.7rem;
	resize: none;
}
.contenido-mision .contenido-formulario input[type=submit],
.contenido-mision .contenido-formulario input[type=button]{
	padding: 1.4rem 2rem;
	width: 100%;
	border: none;
	font-size: 1.7rem;
	color: var(--white);
	background-color: black;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}
.contenido-mision .contenido-formulario button{
	border-radius: .5rem;
	padding: 1.4rem 2rem;
	width: 100%;
	border: none;
	font-size: 1.7rem;
	color: var(--white);
	background-color: black;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}
.contenido-mision .contenido-formulario .error{
	margin: 0;
    background-color: #950000;
    color: white;
    margin-bottom: 1rem;
    padding: 1rem;
    text-transform: uppercase;
    font-weight: 800;
    text-align: center;
    border-radius: 0.5rem;
}

@media(max-width:450px){
  .flex-formulario{
    display: flex;
    flex-direction: column;
    margin: 0 !important;
  }
}


/** Recaptcha Styles **/


/** Admin **/

.contenido-admin{
  padding: 2rem 0;
}
.contenido-admin h1{
  text-decoration: overline;
}
.main-admin{
  display: grid;
  grid-template-columns: repeat(3,1fr);
}

.contenido-admin .main-admin .opciones-crud{
  display: flex;
  flex-direction: column;
  width: 27rem;
}

.boton-admin{
  background-color: var(--primary);
	color: var(--white);
  padding: 1.2rem 3rem;
	text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.5rem;
  margin: 2rem 0;
  transition: all 0.3s ease-in-out;
}
.boton-admin:hover{
  background-color: var(--blue);
}




/** Modal **/

.modal,
.modal2 {
  display: none; 
  position: fixed; 
  z-index: 1000; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  background-color: rgba(0, 0, 0, 0.39); 
  overflow-y: hidden;
  height: 0;
  animation: slide 0.5s ease 0.5s forwards;
  transition: all 0.5s ease;
}
@keyframes slide {
  from {height: 0;}
  to {height: 1000px;}
}
.modal-content,
.modal-content2 {
  background-color: #fefefe;
  margin: 8% auto; /* 15% from the top and centered */
  padding: 40px;
  transition: all 0.5s ease;
  width: 65%;
}
@media(max-width:768px){
  .modal-content{
    width: 95%;
  }
}
.modal-content-empleos,
.modal-content-empleos2{
  margin: 4% auto; /* 15% from the top and centered */
}

.modal_api,
.modal_api2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 3rem;
}
.modal_imagenes,
.modal_imagenes2{
  display: flex;
  width: 100%;
  height: 30rem;
}
.modal_imagenes img,
.modal_imagenes2 img{
  width: 0%;
  flex-grow: 1;
  object-fit: cover;
  transition: .8s ease;
  filter: grayscale(0);
}
.modal_imagenes img:hover,
.modal_imagenes2 img:hover{
  cursor: crosshair;
  width: 30rem;
  opacity: 1;
}
@media(max-width:992px){
  .modal_api,
  .modal_api2{
    display: flex;
    flex-direction: column;
  }
}
.contenido_modal_api h1,
.contenido_modal_api2 h1{
  margin: 0;
}
.contenido_modal_api h4,
.contenido_modal_api2 h4{
  color: var(--primary);
  margin-top: 0;
}
.contenido_modal_api p,
.contenido_modal_api2 p{
  font-size: 1.5rem;
}




/* The Close Button */
.close,
.close2 {
  color: #aaa;
  float: right;
  font-size: 30px;
  font-weight: bold;
  margin-top: -15px;
}

.close:hover,
.close2:hover,
.close:focus,
.close2:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}


.casilla{
  margin: 0 auto;
}




/** Formulario Modal **/

.formulario-modal .contenido-formulario{
  background-color: transparent;
  padding: 0;
}
.formulario-modal-list .contenido-formulario{
  background-color: transparent;
  padding: 0;
}
.formulario-modal .contenido-formulario .elemento-formulario input[type=text],
.formulario-modal .contenido-formulario .elemento-formulario input[type=email],
.formulario-modal .contenido-formulario .elemento-formulario input[type=tel],
.formulario-modal .contenido-formulario .elemento-formulario input[type=file]{
	padding: 1rem 2rem;
	border: 3px solid #dbdbdb;
	width: 100%;
	font-size: 1.5rem;
}

.formulario-modal .contenido-formulario  input[type=submit],
.formulario-modal .contenido-formulario  input[type=button]{
	padding: 1.4rem 2rem;
	width: 100%;
	border: none;
	font-size: 1.5rem;
	color: var(--white);
	background-color: black;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}
.modal-Nodestacado form .contenido-formulario .elemento-formulario input[type=text],
.modal-Nodestacado form .contenido-formulario .elemento-formulario input[type=email],
.modal-Nodestacado form .contenido-formulario .elemento-formulario input[type=tel],
.modal-Nodestacado form .contenido-formulario .elemento-formulario input[type=file]{
  padding: 1rem 2rem;
	border: 3px solid #dbdbdb;
	width: 100%;
	font-size: 1.5rem;
}
.modal-Nodestacado form .contenido-formulario  input[type=submit]{
	padding: 1.4rem 2rem;
	width: 100%;
	border: none;
	font-size: 1.5rem;
	color: var(--white);
	background-color: black;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}

.modal-content-empleos2{
  margin: 4% auto;
}

.modal-content-empleos2 .contenedor-modal .modal_api .modal_imagenes{
  height: 41.2rem;
}

@media(max-width:768px){
  .modal-content-empleos2{
    width: 95%;
    margin: 50% auto;
  }
  .modal-content-empleos2 .contenedor-modal .modal_api .modal_imagenes{
    display: none;
  }
}