* {
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;
}

.content {
padding: 2rem;
background-color: #f9f9f9;
font-family: 'Segoe UI', sans-serif;
}

.titulo-cultura {
text-align: center;
color: #D90000;
margin-bottom: 2rem;
font-size: 2rem;
}

.bloque-cultural {
background-color: #fff;
border-left: 5px solid #D90000;
padding: 1rem 1.5rem;
margin-bottom: 1.5rem;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.bloque-cultural h3 {
margin-top: 0;
color: #333;
}

.texto-cultural {
display: none;
margin: 0.5rem 0;
color: #555;
}

.bloque-cultural {
position: relative;
padding: 2rem;
margin-bottom: 2rem;
border-left: 5px solid #D90000;
border-radius: 12px;
box-shadow: 0 4px 10px rgba(255, 255, 255, 0.3);
color: #000000;
overflow: hidden;
}


.bloque-cultural {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
backdrop-filter: blur(2px);
}


.bloque-cultural::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, #fa282877 25%, rgba(250, 250, 250, 0.781), rgba(245, 220, 77, 0.541) 75%);
z-index: 0;
}



.bloque-cultural > * {
position: relative;
z-index: 1;
}


.bloque-cultural h3 {
margin-top: 0;
font-size: 1.5rem;
color: #000000;
}


.intro-cultural {
font-size: 1rem;
font-weight: bold;
text-align: justify;
margin-bottom: 1rem;
color: #000000;
}


.galeria-cultural {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 1rem;
margin-top: 1rem;
}

.galeria-cultural img {
width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 2px 6px rgb(0, 0, 0);
transition: transform 0.3s ease;
}

.galeria-cultural img:hover {
transform: scale(1.05);
}

.testimonios {
margin-top: 2rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
}

.testimonio {
background-color: #fff;
padding: 1rem 1.5rem;
border-left: 4px solid #b30000;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
border-radius: 6px;
}

.testimonio p {
font-style: italic;
color: #444;
}

.testimonio span {
display: block;
margin-top: 0.5rem;
font-weight: bold;
color: #b30000;
}

.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: 390px;
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: 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%;
}

.content {
padding: 1rem;
}

.titulo-cultura {
font-size: 1.5rem;
margin-bottom: 1.5rem;
padding: 0 10px;
}

.bloque-cultural {
padding: 1rem;
margin-bottom: 1.5rem;
border-radius: 8px;
}

.bloque-cultural h3 {
font-size: 1.5rem;
}

.intro-cultural {
font-size: 0.90rem;
text-align: justify;
}

.galeria-cultural {
display: grid;
grid-template-columns: repeat(2, 1fr); 
gap: 1rem;
padding: 0 10px; 
justify-items: center; 
}

.galeria-cultural img {
width: 100%; 
height: auto; 
max-width: 160px; 
border-radius: 6px; 
}

.testimonios {
gap: 1rem;
padding: 0 10px;
}

.testimonio {
padding: 1rem;
border-left: 3px solid #b30000;
}

.testimonio p {
font-size: 0.95rem;
}

.testimonio span {
font-size: 0.9rem;
}

.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;}

}
