* {
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;}

.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;
}

.historia-hero {
position: relative;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
}

.historia-hero .overlay {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: rgba(0, 0, 0, 0.767);
}

.hero-text {
position: relative;
text-align: center;
z-index: 1;
animation: fadeInDown 1.5s ease;
}

.hero-text h2 {
font-size: 2.5em;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 2px;
}

.hero-text p {
font-size: 1.8em;
}

.timeline {
position: relative;
max-width: 1000px;
margin: 0px auto;
padding: 10px;
}

.timeline::after {
content: '';
position: absolute;
width: 5px;
height: 96%;
background: #D90000;
top: 25px;
bottom: 0;
left: 50%;
margin-left: -3px;
}

.timeline-item {
padding: 20px 20px;
position: relative;
width: 50%;
display: flex;
align-items: center;
gap: 10px;
}

.timeline-item img {
width: 190px;
height: 190px;
object-fit: cover;
border-radius: 10px;
box-shadow: 0 10px 10px rgba(0, 0, 0, 0.404);
transition: transform .5s;
}

.timeline-item img:hover {
transform: scale(1.1);
}

.timeline-item .timeline-content {
background: #816e3b9f;
padding: 20px 30px;
border-radius: 10px;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
animation: fadeInUp 1s ease;
color: #000000;
font-weight: bold;
}


.timeline-item.left {
left: 0;
flex-direction: row-reverse;
text-align: right;
}

.timeline-item.right {
left: 50%;
}

.timeline-item h3 {
font-size: 30px;
color: #D90000;
margin-bottom: 10px;
}

/* Animaciones */
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-40px); }
to { opacity: 1; transform: translateY(0); }
}

.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: 350px;
position: flex;
top: -180px;

}

}

@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: 30px;
}

.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%;
}

.historia-hero {
height: 220px;
padding: 0 16px;
}

.hero-text h2 {
font-size: 1.6em;
letter-spacing: 1px;
}

.hero-text p {
font-size: 1.2em;
}

.timeline {
position: relative;
padding: 0 10px;
margin: 0;
}

.timeline-item:last-child {
margin-bottom: 0;
}

.timeline::after {
content: '';
position: absolute;
width: 5px;
height: 96%;
background: #D90000;
top: 25px;
bottom: 0;
left: 8px;
margin-left: 0;
}

.timeline-item {
width: 100%;
padding: 20px 20px 20px 30px;
flex-direction: column;
align-items: center;
text-align: center;
margin-bottom: 30px;
}

.timeline-item.left,
.timeline-item.right {
left: 0;
flex-direction: column;
text-align: center;
}

.timeline-item img {
width: 50%;
max-width: 200px;
height: auto;
margin-bottom: 1px;
}

.timeline-item .timeline-content {
padding: 20px;
width: 100%;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
border-radius: 8px;
transition: box-shadow 0.3s ease;
}

.timeline-item h3 {
font-size: 1.4em;
}

.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;}

}
