
:root {
    /*========== Colors ==========*/
    /*Color mode HSL(hue, saturation, lightness)*/
    --first-color: hsl(38, 92%, 58%);
    --first-color-light: hsl(38, 100%, 78%);
    --first-color-alt: hsl(32, 75%, 50%);
    --second-color: hsl(195, 75%, 52%);
    --dark-color: hsl(212, 40%, 12%);
    --white-color: hsl(212, 4%, 95%);
    --body-color: hsl(212, 42%, 15%);
    --container-color: hsl(212, 42%, 20%);
  
    /*========== Font and typography ==========*/
    /*.5rem = 8px | 1rem = 16px ...*/
    --body-font: "Gotu", sans-serif;
    --h2-font-size: 1.25rem;
    --normal-font-size: 1rem;
  }

*{
   box-sizing: border-box; 
   margin: 0;
   padding: 0;
   scroll-behavior: smooth;
}
.didact-gothic-regular {
  font-family: "Gotu", sans-serif;
    font-weight: 400;
    font-style: normal;
}
body{
  margin:  0;
  position: relative;
  height: 100%;
}

header{
   background-color: white; 
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 100px;
   padding: 0px 50px;
   position: sticky;
   top: 0;
   z-index: 1000;
   transition: background-color 0.4s ease-in-out;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

header.scrolled{
  background-color: white;
  opacity: 1;
}

header .scrolled nav a{
  color: black;
}
.header .logo{
    cursor: pointer;
}
.header .logo img{
    height: 100px;
    width: auto;
    transition: all 0.3s;
}

.header a{
  font-family: "nunito", serif;
    font-size: 17px;
}
.header .logo img:hover{
    transform: scale(1.3);
}

.mostrar-menu,
.esconder-menu{
    font-size: 30px;
    cursor: pointer;
    display: none;
    transition: 0.4s;

}
.mostrar-menu{
    order: 1;
}

.header .nav-links :hover{
    transform: scale(1.1);
}

.header .nav-links a{
  padding: 0 10px;
    display: inline-block;
    font-size: 700;
    color: black;
    text-decoration: none;
    text-transform: uppercase;
    transition: 0.4s;
    
}


.header .nav-links a:hover{

    color: rgb(22, 60, 185);
}

#check{
    display: none;
}

#banner{
    padding: 0 50px;
    height: 70vh;
    animation: banner 15s infinite;
    background-position: center;
    background-size: cover;
    justify-content: center;
    align-items: center;
}
@keyframes banner{
    0%, 25%{
        background-image: url(Imagenes/img1.webp);
    }
    25%, 45%{
        background-image: url(Imagenes/img2.jpg);
    }
    50%, 70%{
        background-image: url(Imagenes/slide2.jpg);
    }
    75%, 100%{
        background-image: url(Imagenes/img1.webp);
    }
}

#banner::before{
    content: '';
    background: rgba(66, 81, 131, 0.178);
    width: 100%;
    height: 70vh;
    left: 0;
 
}
/**/
.imagen h3{
    font-size: 35px;
    font-weight: 400;
    padding: 10px 0px;
    font-family: "Nunito", sans-serif;
}
.imagen{
    position:relative;
    color: white;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

 
.imagen .btn button{
    font-weight: 700;
    background: rgb(66, 81, 131); 
    border: none;
    color: white;
    padding: 15px 25px;
    align-self: baseline;
    border-radius: 20px;
    cursor: pointer;
    justify-content: center;
    transition: all 0.3s ease 0s;
    font-family: "Gotu", sans-serif;
    font-size: 18px;
    
}
.imagen .btn button:hover{
   background-color: white;
   color: rgb(66, 81, 131);;
   transform: scale(1.2); 
   font-family: "Gotu", sans-serif;
   
}

#TA{
    max-width: 900px;
    width: 100%;
    padding: 35px;
    margin: 0 auto;
    margin-top: 5px;
}

.logo2{
    max-width: 400px;
    width: 100%;
    padding: 15px;
    margin: 0 auto;
    text-align: center;
    
}
.legal p{
   
  font-family: "Nunito", sans-serif;
    font-size: 20px;
}

.siguiente{
    margin: 80px;
    text-align: center;
    display: block;
    
    
}

.siguiente h3{
    color: rgb(31, 47, 105);
    font-family: "Gotu", sans-serif;
    font-size: 20px;
}

.siguiente .circle {

    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 60px;
    overflow: hidden;
    font-size: 35px;
    border: none;
    background: white;
}

#imgDiosa{
  display: flex;
  justify-content: space-around;
  padding: 40px 20px;
  background-image: url('Imagenes/Diosa.jpg');
  background-size: cover;
  background-position: center;
  text-align: center;
  height: 45vh;
  align-items: center;
  background-attachment: fixed;
  
}


@media(max-width: 653px){
    .mostrar-menu,
    .esconder-menu{
        display: block;
    }
    .nav-links{
        position: fixed;
        display: block;
        width: 100%;
        height: 100vh;
        background: white;
        right: -100%;
        top: 0;
        text-align: center;
        padding: 100px 0px;
        z-index: 100;
        transition: 0.4s;
    }
    .nav-links a{
        
        padding: 20px;
    }
    .esconder-menu{
        position: absolute;
        top: 40px;
        right: 40px;
    }
    #check:checked ~ .nav-links{
      right: 0;
    }
}
a {
    text-decoration: none;
  }
  

.container {
  font-family: "Gotu", sans-serif;
    font-size: var(--normal-font-size);
    background-color: black;
    color: black;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60vh;
    background-color: rgb(255, 255, 255);
  }

  .titulo_container h2{
    padding-top: 100px;
    text-align: center;
    font-family: "Gotu", sans-serif;
    color: rgb(66, 81, 131);
    font-size: 30px;
  }
  .card__container {
    padding-block: 5rem;
  }
  
  .card__content {
    margin-inline: 1.75rem;
    border-radius: 1.25rem;
    overflow: hidden;
  }
  
  .card__article {
    
    border-radius: 1.25rem;
    overflow: hidden;
  }
  
  .card__image {
    
    background-color: rgba(66, 81, 131, 0.877);
    padding-top: 1.5rem;
    margin-bottom: -.75rem;
  }
  
  .card__data {
    background-color: rgba(255, 252, 252, 0.897);
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  
  .card__img {
    width: 180px;
    margin: 0 auto;
    position: relative;
    z-index: 5;
    display: block;
  }
  

  .card__name {
    font-size: var(--h2-font-size);
    color: rgba(66, 81, 131, 0.877);
    margin-bottom: .75rem;
  }
  
  .card__description {
    font-weight: 500;
    margin-bottom: 1.75rem;
  }
  
  .card__button {
    display: inline-block;
    background-color: rgba(66, 81, 131, 0.877);
    padding: .75rem 1.5rem;
    border-radius: 10px;
    color: white;
    font-weight: 600;
  }
  /* Swiper class */
  .swiper-button-prev:after,
  .swiper-button-next:after {
    content: "";
  }
  
  .swiper-button-prev,
  .swiper-button-next {
    width: initial;
    height: initial;
    font-size: 3rem;
    color: rgba(66, 81, 131, 0.877);
    display: none;
  }
  
  .swiper-button-prev {
    left: 0;
  }
  
  .swiper-button-next {
    right: 0;
  }
  
  .swiper-pagination-bullet {
    background-color: hsl(0, 0%, 100%);
    opacity: 1;
  }
  
  .swiper-pagination-bullet-active {
    background-color: var(--second-color);
  }
  
  /* For small devices */
  @media screen and (max-width: 320px) {
    .card__data {
      padding: 1rem;
    }
  }
  
  /* For medium devices */
  @media screen and (min-width: 768px) {
    .card__content {
      margin-inline: 3rem;
    }
  
    .swiper-button-next,
    .swiper-button-prev {
      display: block;
    }
  }
  
  /* For large devices */
  @media screen and (min-width: 1120px) {
    .card__container {
      max-width: 1120px;
    }
  
    .swiper-button-prev {
      left: -1rem;
    }
    .swiper-button-next {
      right: -1rem;
    }
  }

  @media screen and (min-width: 992px){
  .container {
    margin-left: auto;
    margin-right: auto;
  }
  }
  @media screen and (min-width: 992px){
  .catcontainer {
      column-gap: 8rem;
  }
}
@media screen and (min-width: 767px){
.catcontainer {
    grid-template-columns: repeat(3, 200px);
    justify-content: center;
}
}
.section {
    display: block;
    unicode-bidi: isolate;
    margin: 0 1.5rem;
    padding-bottom: 50px;
    padding-top: 50px;
}
.stitle {
  font-size: 2.25rem !important;
  margin-bottom: 5rem;
  text-align: center;
  font-family: "Gotu", sans-serif;
  color: rgba(66, 81, 131, 0.877);
}
.catcontainer {
    gap: 1rem 2rem;
}
.grid {
  display: grid;
}
.catdata {
  text-align: center;
}
.catimg {
  width: 120px;
  margin-bottom: .75rem;
  transition: .3s;
}
.catimg img{
  max-width: 100%;
  height: auto;
}
.cattitle {
  margin-bottom: .25rem;
  font-family: "Gotu", sans-serif;
}
.catdes {
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
    font-family: "nunito", serif;

}
.otrobtn{
  padding: 40px;
}
.otrobtn .btn5 button{
  font-weight: 700;
  background: rgba(66, 81, 131, 0.877); 
  border: none;
  color: white;
  padding: 15px 25px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  font-family: "Gotu", sans-serif;
  font-size: 17px;
  
}
.otrobtn .btn5 button:hover{
 background-color: white;
 color: rgb(66, 81, 131);
 transform: scale(1.2); 
 font-family: "Gotu", sans-serif;
}
.catdata:hover .catimg{
  transform: translateY(-.5rem);
}
@media screen and (min-width: 992px){
.catcontainer {
    column-gap: 8rem;
}
}
 /*:::::Pie de Pagina*/
.pie-pagina{
  width: 100%;
  background-color: rgb(53, 69, 122);
}
.pie-pagina .grupo-1{
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap:50px;
  padding: 45px 0px;
}
.pie-pagina .grupo-1 .box figure{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pie-pagina .grupo-1 .box figure img{
  width: 250px;
}
.pie-pagina .grupo-1 .box h2{
  color: #fff;
  margin-bottom: 25px;
  font-size: 20px;
  font-family: "Gotu", sans-serif;
}
.pie-pagina .grupo-1 .box p{
  color: #efefef;
  margin-bottom: 10px;
  font-family: "Gotu", sans-serif;
}
.pie-pagina .grupo-1 .red-social a{
  display: inline-block;
  text-decoration: none;
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  margin-right: 10px;
  background-color: rgb(66, 81, 131);
  text-align: center;
  transition: all 300ms ease;
}
.pie-pagina .grupo-1 .red-social a:hover{
  color: aqua;
}
.pie-pagina .grupo-2{
  background-color: rgb(38, 48, 82);
  padding: 15px 10px;
  text-align: center;
  color: #fff;
}
.pie-pagina .grupo-2 small{
  font-size: 15px;
}
@media screen and (max-width:800px){
  .pie-pagina .grupo-1{
      width: 90%;
      grid-template-columns: repeat(1, 1fr);
      grid-gap:30px;
      padding: 35px 0px;
  }
}

.section{
  box-shadow: 0 1px 3px rgba(1, 1, 1, 0.4);
}


/*----pagina de nosotros*/
.head {
  display: flex;
  align-items: center;
  
}

.logo-container {
  flex: 1;
  
}

.logo-container img {
  
  height: auto;
  position: relative;
  margin: 0 auto;
  display: flex;
  align-items: center;
  width: 70%;
  
}

.history {
  flex: 1;
  padding: 110px;
  background-color: #35457B;
  color: #ffffff;
}

.history h2 {
  margin-bottom: 30px;
  font-family: "Gotu", sans-serif;
  
}
.history h4{
  margin-bottom: 20px;
  font-family: "Gotu", sans-serif;
  
}
.history p {
  margin-bottom: 50px;
  font-family: "Gotu", sans-serif;
}

.history .circle {
  width: 50px;
  height: 50px;
  overflow: hidden;
  font-size: 30px;
  border: none;
  text-align: center;
}

.vision-mission-values {
  display: flex;
  justify-content: space-around;
  padding: 40px 20px;
  background-image: url('Imagenes/Diosa.jpg');
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  height: 45vh;
  align-items: center;
  background-attachment: fixed;
  position: relative;
}

.vision, .mission, .values {
  width: 30%;
}

.vision p, .mission p, .values p{
  font-family: "Gotu", sans-serif;
}
.vision h3, .mission h3, .values h3{
  margin-bottom: 10px;
  font-family: "Gotu", sans-serif;
}

.work-with-us {
  padding: 40px 20px;
  text-align: center;
}

.work-with-us h3 {
  margin-bottom: 20px;
  font-family: "Gotu", sans-serif;
}

.trabaja-con-nosotros {
  text-align: center;
  padding: 40px 20px;
  background-color: #ffffff79;
}

.trabaja-con-nosotros h2 {
  color: #2c3e50;
  margin-bottom: 30px;
  font-family: "Gotu", sans-serif;
}

.contact-form {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  background-color: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  border-radius: 16px;
}

.form-group {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}

.form-group input {
  width: 48%;
}

input, textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

textarea {
  resize: none;
  height: 100px;
}

button {
  background-color: #2c3e50;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

button:hover {
  background-color: #131b24;
}

.contact-info {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  padding-top: 30px;
}

.contact-item {
  display: flex;
  align-items: center;
  margin: 20px;
  
}

.contact-item img {
  margin-left: 20px;
  width: 50px;
  align-items: center;
  display: flex;
  
}

.contact-item p {
  margin: 5px;
  display: flex;
  font-family: "Gotu", sans-serif;
}


/*Paginas de areas*/
.portada-areas {
  display: flex;
  justify-content: space-around;
  padding: 40px 20px;
  background-image: url('Imagenes/portada_A.jpg');
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  height: 45vh;
  align-items: center;
  position: relative;
  background-color: #344474; /* Color azul con 50% de opacidad */
  pointer-events: none;
}
main {
  padding: 40px 0;
}
.header-content {
  margin: 0 auto;
  display: flex;
  align-items: center;
  width: 100%;
  height: 250px;
  margin: 50px auto;
  box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.3);
}
.header-content p {
  width: 70%;
  margin: 0;
  padding-right: 20px;
  padding-left: 60px;
  font-family: "nunito";
}
.logo {
  width: 20%;
  position: relative;
}
.areas-de-accion {
  text-align: center;
}
.areas-de-accion h2 {
  margin-bottom: 30px;
}
.areas-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.area {
  width: 150px;
  text-align: center;
}
.area img {
  width: 100%;
  height: auto;
}
.area p {
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}
@media (max-width: 600px) {
  .area {
      width: 120px;
  }
  .header-content {
      flex-direction: column;
      height: auto;
  }
  .header-content p, .logo {
      width: 100%;
      padding: 10px;
  }
}
@media (max-width: 400px) {
  .area {
      width: 100px;
  }
  .area p {
      font-size: 12px;
  }
}
#areas-portada {
  display: flex;
  justify-content: space-around;
  padding: 40px 20px;
  background-image: url('Imagenes/portada-areas.jpg');
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  height: 45vh;
  align-items: center;
  background-attachment: fixed;
  position: relative;
}

/*------Página de contacto-------*/

#portada-contacto {
  display: flex;
  justify-content: space-around;
  padding: 40px 20px;
  background-image: url('Imagenes/portada-areas.jpg');
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  height: 45vh;
  align-items: center;
  position: relative;
}
