* {
margin: 0;
padding: 0;
box-sizing: border-box;}


html body{
height:100%;
width: 100%;}

body{
margin:0;
font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
color:var(--fy-text);
background:var(--fy-bg);}


.menu{
background-color: #fff9a9ce;
color: #fff;
height: 80px;
width: 100%;
}

.menu__container{
display: flex;
justify-content: space-between;
align-items: center;
width: 90%;
max-width: 1200px;
height: 100%;
margin: 0 auto;}

.nav__logo {
display: flex;
align-items: center;
}

.nav__logo img {
height: 79px;
width: 112px;
max-width: 115px;}

.menu__logo{
color: #000;
font-size: 25px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #d90000;
font-size: 15px;
margin: auto;
font-weight: bolder;
}

.menu__links{
height: 100%;
transition: transform .5s;
display: flex;
z-index: 1000; }

.menu__item{
list-style: none;
position: relative;
height: 100%;
--clip: polygon(0 0, 100% 0, 100% 0, 0 0);
--transform: rotate(-90deg);}

.menu__item:hover{
--clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
--transform: rotate(0);}

.menu__link{
color: #D90000;
text-decoration: none;
padding: 0 20px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link1{
color:#D90000;
text-decoration: none;
padding: 0 35px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link1:hover{
background-color: #63656b;
color: #ffffff;}

.menu__arrow{
transform: var(--transform);
transition: transform .3s;
display: block;
margin-left: 3px;}

.menu__nesting{
list-style: none;
transition:clip-path .3s;
clip-path: var(--clip);
position: absolute;
right: 0;
bottom: 0;
width: max-content;
transform: translateY(100%);
background-color: #AA0F16;
color: #000;}

.menu__link--inside{
padding: 20px 24px 20px 15px;
color: #ffffff;}

.menu__link--inside3{
padding: 20px 44px 20px 20px;
color: #ffffff;}

.menu__link--inside:hover{
background-color: #63656b;}

.menu__hamburguer {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 15px;
  height: 100%;
  align-items: center;
}

.menu__img{
display: block;
width: 36px;}


.divisor-rojo {
width: 100%;
height: 2px;
background-color: #D90000;
margin: 0;
padding: 0;
}


.foto {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
width: 100%;
height: 300px;
display: flex;
justify-content: center;
align-items: center;
}

img, .banner-img, .organigrama-img {
  max-width: 100%;
  height: auto;
}


.classroom {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 30px;
background-color: #802727;
}

.contenido{
background-color: #cccbcb;
}
.section {
background-color: #D90000;
color: white;
margin: 15px;
padding: 20px;
border-radius: 8px;
width: 300px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
transition: transform 0.3s ease;
}

.section:hover {
transform: scale(1.05);
}

.section h2 {
margin-top: 0;
font-size: 1.5em;
}

.section p {
font-size: 1em;
line-height: 1.5;
}

.cards-container {
display: flex;
justify-content: center;
gap: 2rem;
padding: 3rem 1rem;
flex-wrap: wrap;
}

.card {
background: linear-gradient(135deg, #AA0F16, #AA0F16);
border-radius: 15px;
box-shadow: 0 8px 20px rgb(0, 0, 0);padding: 2rem;
max-width: 400px;
transition: transform 0.5s ease, box-shadow 0.5s ease;
animation: fadeInUp 0.5s ease forwards;
opacity: 0;
}

.card h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
color: #000000;
}

.card p {
font-size: 1rem;
color: #ffffff;
font-weight: 500px;
line-height: 1.6;
}

.card:hover {
transform: translateY(-10px);
box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
}

.card.mission {
animation-delay: 0.3s;
}

.card.vision {
animation-delay: 0.6s;
}

@keyframes fadeInUp {
from {
transform: translateY(30px);
opacity: 0;
}

to {
transform: translateY(0);
opacity: 1;
}
}

.organigrama-section {
background: linear-gradient(200deg, #fff9a9ce, #eee9e9);
padding: 20px 20px;
text-align: center;
border-top: 4px solid #D90000;
}

.organigrama-header h2 {
font-size: 2.5rem;
color: #D90000;
margin-bottom: 10px;
font-weight: 700;
}

.organigrama-header .icon {
font-size: 1.5rem;
margin-right: 8px;
color: #cc00c2;
}

.organigrama-header .subtext {
font-size: 1.2rem;
color: #0c0c0c;
margin-bottom: 30px;
font-style: italic;
}

.organigrama-wrapper {
display: flex;
justify-content: center;
align-items: center;
}

.organigrama-img {
max-width: 70%;
height: auto;
border-radius: 12px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.774);
transition: transform 0.3s ease;
}

.organigrama-img:hover {
transform: scale(1.02);
}

.download-button {
margin-top: 30px;
}

.btn-download {
display: inline-block;
background-color: #0077cc;
color: #fff;
padding: 12px 24px;
font-size: 1rem;
font-weight: 600;
text-decoration: none;
border-radius: 6px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
transition: background-color 0.3s ease;
}

.btn-download:hover {
background-color: hsl(205, 100%, 50%);
}

.footer {
position: relative;
width: 100%;
background: #fff9a9ce;
min-height: 100px;
padding: 0px 20px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;}

.social-icon {
display: flex;
justify-content: center;
align-items: center;
position: relative;
margin: 10px 5px;
flex-wrap: wrap;}

.icon-elem {
list-style: none;}

.icon-elem img {
color: #D90000;
height: 25px;
width: 25px;
display: inline-block;
margin: 0 10px;
transition: 0.5s;}

.icon-elem img:hover {
transform: translateY(-7px);}

.menu_footer {
display: flex;
justify-content: center;
position: relative;
align-items: center;
flex-wrap: wrap;}

.menu-elem {
list-style: none;}

.menu-icon {
color: #D90000;
font-size: 15px;
display: inline-block;
text-decoration: none;
margin: 0 5px;
opacity: 0.5jj;
transition: 0.3s;}

.menu-icon:hover {
color: #404041;
opacity: 1;}

.text {
color: #D90000;
text-align: center;
margin-top: 15px;
margin-bottom: 10px;
font-size: 15px;}

@media (min-width: 1700px) and (max-width: 2000px) {

.foto {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
width: 100%;
height: 450px;
display: flex;
justify-content: center;
align-items: center;
}

}

@media (min-width: 1180px) and (max-width: 1210px) {

.nav__logo img {
height: 79px;
width: 112px;}

.menu__logo{
color: #000;
font-size: 23px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #D90000;
font-size: 14px;
margin: auto;
font-weight: bolder;
}

}


@media (min-width: 1110px) and (max-width: 1179px) {

.nav__logo img {
height: 74px;
width: 107px;}

.menu__logo{
color: #000;
font-size: 20px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #D90000;
font-size: 12px;
margin: auto;
font-weight: bolder;
}

}
    

@media (min-width: 950px) and (max-width: 1109px) {

.nav__logo img {
height: 74px;
width: 107px;}

.menu__logo{
color: #000;
font-size: 20px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #d90000;
font-size: 12px;
margin: auto;
font-weight: bolder;
}

.menu__item{
list-style: none;
position: relative;
height: 100%;
--clip: polygon(0 0, 100% 0, 100% 0, 0 0);
--transform: rotate(-90deg);}

.menu__item:hover{
--clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
--transform: rotate(0);}

.menu__link{
color: #D90000;
text-decoration: none;
font-size: 12px;
padding: 0 12px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link1{
color:#D90000;
text-decoration: none;
font-size: 12px;
padding: 0 27px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link1:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link--inside{
padding: 20px 12px 20px 15px;
color: #ffffff;}

.menu__link--inside3{
padding: 20px 33px 20px 20px;
color: #ffffff;}

.menu__link--inside:hover{
background-color: #63656b;}
}

@media (min-width: 800px) and (max-width: 949px) {

.nav__logo img {
height: 70px;
width: 90px;}

.menu__logo{
color: #000;
font-size: 14px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #d90000;
font-size: 11px;
margin: auto;
font-weight: bolder;
}

.menu__item{
list-style: none;
position: relative;
height: 100%;
--clip: polygon(0 0, 100% 0, 100% 0, 0 0);
--transform: rotate(-90deg);}

.menu__item:hover{
--clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
--transform: rotate(0);}

.menu__link{
color: #D90000;
text-decoration: none;
font-size: 12px;
padding: 0 12px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link1{
color:#D90000;
text-decoration: none;
font-size: 12px;
padding: 0 27px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link1:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link--inside{
padding: 20px 12px 20px 15px;
color: #ffffff;}

.menu__link--inside3{
padding: 20px 33px 20px 20px;
color: #ffffff;}

.menu__link--inside:hover{
background-color: #63656b;}

.header {
padding: 1.5rem;
font-size: 1rem;
text-align: center;
}

.header p{
font-size: 1em;
color: #000;
font-weight: bolder;
}

.header h2 {
font-size: 25px;
}}

@media (min-width: 769px) and (max-width: 799px) {
.header {
padding: 1.5rem;
font-size: 1rem;
text-align: center;
}

.header p{
font-size: 1em;
color: #000;
font-weight: bolder;
}

.header h2 {
font-size: 25px;
}
.nav__logo img {
height: 70px;
width: 90px;}

.menu__logo{
color: #000;
font-size: 14px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #d90000;
font-size: 11px;
margin: auto;
font-weight: bolder;
}

.menu__item{
list-style: none;
position: relative;
height: 100%;
--clip: polygon(0 0, 100% 0, 100% 0, 0 0);
--transform: rotate(-90deg);}

.menu__item:hover{
--clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
--transform: rotate(0);}

.menu__link{
color: #D90000;
text-decoration: none;
font-size: 10px;
padding: 0 10px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link1{
color:#D90000;
text-decoration: none;
font-size: 10px;
padding: 0 25px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link1:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link--inside{
padding: 20px 6px 20px 15px;
color: #ffffff;}

.menu__link--inside3{
padding: 20px 27px 20px 20px;
color: #ffffff;}

.menu__link--inside:hover{
background-color: #63656b;}
}

@media screen and (max-width: 768px) {

.menu{
background-color: #fff9a9ce;
color: #fff;
height: 80px;
width: 100%;
}

.menu__container{
display: flex;
justify-content: space-between;
align-items: center;
width: 95%;
max-width: 1200px;
height: 100%;
margin: 0 auto;}

.nav__logo {
display: flex;
align-items: center;
}

.nav__logo img {
height: 70px;
width: 90px;}

.menu__logo{
color: #000;
font-size: 15px;
margin: auto;
flex-direction: column;}

.text__logo{
color: #d90000;
font-size: 12px;
margin: auto;
font-weight: bolder;
}

.menu__links{
height: 100%;
transition: transform .5s;
display: flex;
z-index: 1000; }

.menu__item{
list-style: none;
position: relative;
height: 100%;
--clip: polygon(0 0, 100% 0, 100% 0, 0 0);
--transform: rotate(-90deg);}

.menu__item:hover{
--clip: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
--transform: rotate(0);}

.menu__link{
color: #D90000;
text-decoration: none;
padding: 0 20px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link1{
color:#D90000;
text-decoration: none;
padding: 0 35px;
display: flex;
height: 100%;
align-items: center;
font-weight: bolder;
}

.menu__link:hover{
background-color: #63656b;
color: #ffffff;}

.menu__link1:hover{
background-color: #63656b;
color: #ffffff;}

.menu__arrow{
transform: var(--transform);
transition: transform .3s;
display: block;
margin-left: 3px;}


.menu__link--inside{
padding: 20px 24px 20px 15px;
color: #ffffff;}

.menu__link--inside3{
padding: 20px 44px 20px 20px;
color: #ffffff;}

.menu__link--inside:hover{
background-color: #63656b;}

.menu__hamburguer{
display: flex;
}

.menu__hamburguer img{
display: flex;
width: 38px;
}

.menu__item{
--clip:0;
overflow:hidden ;
}

.menu__item--active{
--transform: rotate(0);
--background: #5e7094;
}

.menu__item--show{
background-color: var(--background);
}

.menu__links{
position: fixed;
max-width: 250px;
width: 100%;
top: 80px;
bottom: 0;
right: 0;
background-color: #969696;
overflow-y: auto;
display: grid;
grid-auto-rows: max-content;
transform: translateX(100%);
z-index: 1000;
}

.menu__links--show{
transform: unset;
width: 100%;
}

.menu__link{
padding: 25px 0;
padding-left: 30px;
height: auto;
}

.menu__link1{
padding: 25px 0;
padding-left: 30px;
height: auto;
}

.menu__arrow{
margin-left: auto;
margin-right: 20px;
}

.menu__item--show:hover .menu__nesting {
height: auto;
background-color: #AA0F16;
}

.menu__nesting {
overflow: hidden;
}

.menu__nesting{
display: grid;
position: unset;
width: 100%;
transform: translateY(0);
height: 0;
transition: height .3s;
}


.foto{
  height: 200px;
  width: 100%;
}


  .cards-container {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }



.card {
max-width: 85%;
}


  .classroom {
    padding: 0px;
  }

.organigrama-header h2 {
  font-size: 2rem;
  color: #D90000;
  font-weight: 700;
}

.organigrama-header .subtext {
  font-size: 1rem;
  
  color: #0c0c0c;
  margin-bottom: 20px;
  font-style: italic;
}

  .section {
    width: 90%;
  }

  .organigrama-img {
    max-width: 90%;
  }


.download-button {
margin-top: 30px;
}

.btn-download {
display: inline-block;
background-color: #0077cc;
color: #fff;
padding: 12px 12px;
font-size: 12px;
width: 50%;
font-weight: 600;
text-decoration: none;
border-radius: 6px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
transition: background-color 0.3s ease;
}

.btn-download:hover {
background-color: hsl(205, 100%, 50%);
}


.footer {
position: relative;
width: 100%;
background: #fff9a9ce;
min-height: 100px;
padding: 0px 20px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;}

.social-icon {
display: flex;
justify-content: center;
align-items: center;
position: relative;
margin: 10px 5px;
flex-wrap: wrap;}

.icon-elem {
list-style: none;}

.icon-elem img {
color: #D90000;
height: 25px;
width: 25px;
display: inline-block;
margin: 0 10px;
transition: 0.5s;}

.icon-elem img:hover {
transform: translateY(-7px);}

.menu_footer {
display: flex;
justify-content: center;
position: relative;
align-items: center;
flex-wrap: wrap;}

.menu-elem {
list-style: none;}

.menu-icon {
color: #D90000;
font-size: 15px;
display: inline-block;
text-decoration: none;
margin: 0 5px;
opacity: 0.5jj;
transition: 0.3s;}

.menu-icon:hover {
color: #404041;
opacity: 1;}

.text {
color: #D90000;
text-align: center;
margin-top: 15px;
margin-bottom: 10px;
font-size: 15px;}

}

