
#cssmenu,  
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button {
  margin:0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#cssmenu:after,
#cssmenu > ul:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
#cssmenu #menu-button {
  display: none;
}
#cssmenu {
  width: auto;
font-family: 'Lato', sans-serif; font-weight:700;
/*  border-top: 1px solid #3a3a3a; */
  margin-bottom: 10px;   text-transform: uppercase; 

		margin-top: 0px;
}

#cssmenu > ul {
/*  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.05);*/
}
#cssmenu.align-right > ul > li {
  float: right;
}
#cssmenu > ul > li {
  float: left;
  display: inline-block; 
}
#cssmenu.align-center > ul {
  float: none;
  text-align: center;
}
#cssmenu.align-center > ul > li {
  float: none;
}
#cssmenu.align-center ul ul {
  text-align: left;
}
#cssmenu > ul > li > a {
	margin-right: 4px;
	padding: 8px 17px 8px 17px ;
  background-color:#e20814;
  text-decoration: none;
  font-size: 13px;
color:#fff;

  letter-spacing: 1px;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover {
  
 color: #FFF;
 background-color:#171717;
}

#cssmenu > ul > li.active > a {
  color: #fff;
 background-color:#171717;  

}

#cssmenu > ul > li.has-sub > a {
  padding-right: 45px;
}
#cssmenu > ul > li.has-sub > a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top-color: #d3eced;
  right: 17px;
  top: 22px;
}
#cssmenu > ul > li.has-sub.active > a::after,
#cssmenu > ul > li.has-sub:hover > a {
  border-top-color: #ffffff; 
}
#cssmenu ul ul {
  position: absolute;
  left: -9999px;
  top: 60px;
  padding-top: 2px;
  font-size: 13px;
  opacity: 0;
  -webkit-transition: bottom 0.2s ease, opacity 0.2s ease-in;
  -moz-transition: bottom 0.2s ease, opacity 0.2s ease-in;
  -ms-transition: bottom 0.2s ease, opacity 0.2s ease-in;
  -o-transition: bottom 0.2s ease, opacity 0.2s ease-in;
  transition: bottom 0.2s ease, opacity 0.2s ease-in;
}
#cssmenu.align-right ul ul {
  text-align: right;
}
#cssmenu > ul > li > ul::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom-color: #ffffff;
  top: -4px;
  left: 20px;
}
#cssmenu.align-right > ul > li > ul::after {
  left: auto;
  right: 20px;
}
#cssmenu ul ul ul::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-right-color: #ffffff;
  top: 11px;
  left: -4px;
}
#cssmenu.align-right ul ul ul::after {
  border-right-color: transparent;
  border-left-color: #ffffff;
  left: auto;
  right: -4px;
}
#cssmenu > ul > li > ul {
  top: 125px;
}
#cssmenu > ul > li:hover > ul {
  top: 30px;
  left: 0;
  opacity: 1;
}
#cssmenu.align-right > ul > li:hover > ul {
  left: auto;
  right: 0;
}
#cssmenu ul ul ul {
  padding-top: 0;
  padding-left: 6px;
}
#cssmenu.align-right ul ul ul {
  padding-right: 6px;
}
#cssmenu ul ul > li:hover > ul {
  left: 180px;
  top: 0;
  opacity: 1;
}
#cssmenu.align-right ul ul > li:hover > ul {
  left: auto;
  right: 100%;
  opacity: 1;
}
#cssmenu ul ul li a {

  /*box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1), -1px 1px 1px rgba(0, 0, 0, 0.1);*/
  padding: 10px;
background-color: #e20814;
text-decoration: none;
font-size: 12px; font-weight:600;
color:#fff;
letter-spacing: 1px;  width: 185px; border-bottom: 2px solid #fff;
}
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li.active > a {
  color: #fff;
  background-color: #171717;
}
#cssmenu ul ul li:first-child > a {
/*  border-top-left-radius: 3px;
  border-top-right-radius: 3px;*/
}
#cssmenu ul ul li:last-child > a {
/*  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
*/}
#cssmenu > ul > li > ul::after {
  position: absolute;
  display: block;
}
#cssmenu ul ul li.has-sub > a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-left-color: #777777;
  right: 17px;
  top: 14px;
}
#cssmenu.align-right ul ul li.has-sub > a::after {
  border-left-color: transparent;
  border-right-color: #777777;
  right: auto;
  left: 17px;
}
#cssmenu ul ul li.has-sub.active > a::after,
#cssmenu ul ul li.has-sub:hover > a::after {
  border-left-color: #333333;
}
#cssmenu.align-right ul ul li.has-sub.active > a::after,
#cssmenu.align-right ul ul li.has-sub:hover > a::after {
  border-right-color: #333333;
  border-left-color: transparent;
}

#cssmenu ul .barra-last {/*border-right: 1px solid #3a3a3a;*/ background:#e20814; color:#FFF;}

@media all and (max-width: 767px){


  #cssmenu {
    background: transparent;
  }
  #cssmenu > ul {
    display: none;
  }
  #cssmenu > ul.open {
    display: block;
  }
  #cssmenu.align-right > ul {
    float: none;
  }
  #cssmenu.align-center > ul {
    text-align: left;
  }
  #cssmenu > ul > li,
  #cssmenu.align-right > ul > li {
    float: none;
    display: block;

  }
  #cssmenu > ul > li > a {
	padding-right: 70px;
	padding-left: 10px;
    border-right: 0;
    /* border-top: 1px solid #fff; */

  }
  #cssmenu > ul > li:hover > a,
  #cssmenu > ul > li.active > a {
    /*background: rgba(0, 0, 0, 0.1);*/
  }
  #cssmenu #menu-button {
    display: block;
    text-decoration: none;
    font-size: 14px;
    font-weight: 300;
    color: #3a3a3a;
    padding: 2px 0px 5px 0px;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    cursor: pointer;
  }
  #cssmenu ul ul,
  #cssmenu ul li:hover > ul,
  #cssmenu > ul > li > ul,
  #cssmenu ul ul ul,
  #cssmenu ul ul li:hover > ul,
  #cssmenu.align-right ul ul,
  #cssmenu.align-right ul li:hover > ul,
  #cssmenu.align-right > ul > li > ul,
  #cssmenu.align-right ul ul ul,
  #cssmenu.align-right ul ul li:hover > ul {
    left: 0;
    right: auto;
    top: auto;
    opacity: 0;
    width: 100%;
    padding: 0;
    position: relative;
    text-align: left;
  }
#cssmenu ul ul {
    margin-bottom: 15px;
  }
  #cssmenu ul ul li {
    width: 100%;
  }
  #cssmenu ul ul li a {
    width: 100%;
    box-shadow: none;
    padding-left: 15px;
	font-size:10px;
	
  }
  #cssmenu ul ul ul li a {
    padding-left: 45px;
  }
  #cssmenu ul ul li:first-child > a,
  #cssmenu ul ul li:last-child > a {
    border-radius: 0;
  }
  #cssmenu #menu-button::after {
    display: block;
    content: '';
    position: absolute;
    height: 3px;
    width: 22px;
    border-top: 2px solid #180F10;
    border-bottom: 2px solid #180F10;
    right: 25px;
    top: 18px;
  }
  #cssmenu #menu-button::before {
    display: block;
    content: '';
    position: absolute;
    height: 3px;
    width: 22px;
    border-top: 2px solid #180F10;
    border-bottom: 2px solid #180F10;
    right: 25px;
    top: 28px;
  }
  #cssmenu > ul > li.has-sub > a::after,
  #cssmenu ul ul li.has-sub > a::after {
    display: none;
  }
}



/************ Escritorio porqueño y tablet ***************/

@media (min-width: 768px) and (max-width: 1200px) {

  #cssmenu {
    background: transparent;
  }
  #cssmenu > ul {
    display: none;
  }
  #cssmenu > ul.open {
    display: block;
  }
  #cssmenu.align-right > ul {
    float: none;
  }
  #cssmenu.align-center > ul {
    text-align: left;
  }
  #cssmenu > ul > li,
  #cssmenu.align-right > ul > li {
    float: none;
    display: block;

  }
  #cssmenu > ul > li > a {
	padding-right: 70px;
	padding-left: 10px;
    border-right: 0;
    /* border-top: 1px solid #fff; */

  }
  #cssmenu > ul > li:hover > a,
  #cssmenu > ul > li.active > a {
    /*background: rgba(0, 0, 0, 0.1);*/
  }
  #cssmenu #menu-button {
    display: block;
    text-decoration: none;
    font-size: 14px;
    font-weight: 300;
    color: #3a3a3a;
    padding: 2px 0px 5px 0px;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    cursor: pointer;
  }
  #cssmenu ul ul,
  #cssmenu ul li:hover > ul,
  #cssmenu > ul > li > ul,
  #cssmenu ul ul ul,
  #cssmenu ul ul li:hover > ul,
  #cssmenu.align-right ul ul,
  #cssmenu.align-right ul li:hover > ul,
  #cssmenu.align-right > ul > li > ul,
  #cssmenu.align-right ul ul ul,
  #cssmenu.align-right ul ul li:hover > ul {
    left: 0;
    right: auto;
    top: auto;
    opacity: 0;
    width: 100%;
    padding: 0;
    position: relative;
    text-align: left;
  }
#cssmenu ul ul {
    margin-bottom: 0px;
  }
  #cssmenu ul ul li {
    width: 100%;
  }
  #cssmenu ul ul li a {
    width: 100%;
    box-shadow: none;
    padding-left: 15px;
	font-size:10px;
	
  }
  #cssmenu ul ul ul li a {
    padding-left: 45px;
  }
  #cssmenu ul ul li:first-child > a,
  #cssmenu ul ul li:last-child > a {
    border-radius: 0;
  }
  #cssmenu #menu-button::after {
    display: block;
    content: '';
    position: absolute;
    height: 3px;
    width: 22px;
    border-top: 2px solid #180F10;
    border-bottom: 2px solid #180F10;
    right: 25px;
    top: 18px;
  }
  #cssmenu #menu-button::before {
    display: block;
    content: '';
    position: absolute;
    height: 3px;
    width: 22px;
    border-top: 2px solid #180F10;
    border-bottom: 2px solid #180F10;
    right: 25px;
    top: 28px;
  }
  #cssmenu > ul > li.has-sub > a::after,
  #cssmenu ul ul li.has-sub > a::after {
    display: none;
  }
  .logos img { display:none;
}






}



/************ tablet - smartphone horizontal ***************/

@media (max-width: 991px) {

#cssmenu > ul > li > a { padding: 10px 7px 10px 7px;  font-size: 12px; margin-right: 1px; margin-bottom: 5px;}
/*#menu-button img {display: none;}
#menu-button p {height: 20px; padding-top: 8px;}*/

}


/************ smartphone horizontal ***************/

@media (max-width: 767px) {

#cssmenu ul .barra-last {border-right: none;}
#cssmenu { margin-top: 15px; border-top: 0;}


#cssmenu > ul > li > a { padding: 12px 9px; color: #f1f0f0;}
#cssmenu > ul > li > a:hover {background: #2b2b2b; color: #FFF !important;}


/*#menu-button p {display: none;}*/
#menu-button img { height: 70px; /*display: block;*/}
#cssmenu .nav-facebook {display: none;}

}

/************ smartphone ***************/

@media (max-width: 420px) {

  #cssmenu #menu-button::after {

    right: 0px;

  }
  #cssmenu #menu-button::before {

    right: 0px;

  }

.video-index {

  margin-top: 0px;

}
}



/* 2026: estabilidad del menú */
#cssmenu, #cssmenu ul { max-width: 100%; }
@media (max-width: 1200px) {
  #cssmenu > ul.open { width: 100%; }
  #cssmenu > ul > li > a { margin-right: 0; }
}

/* SUMA FLAMENCA 2026 · paleta del cartel */
#cssmenu > ul > li > a,
#cssmenu ul ul li a {
  background-color: #e20814;
  color: #fff;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a,
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li.active > a {
  background-color: #171717;
  color: #fff;
}
#cssmenu #menu-button {
  color: #171717;
}
#cssmenu #menu-button::before,
#cssmenu #menu-button::after {
  border-color: #171717;
}


/* 2026 · revisión final de accesibilidad del menú */
#cssmenu a:focus-visible {
  outline: 3px solid #171717;
  outline-offset: 2px;
}
#cssmenu > ul > li > a:focus-visible,
#cssmenu ul ul li a:focus-visible {
  outline-color: #fff;
  box-shadow: inset 0 0 0 2px #171717;
}

/* ============================================================
   SUMA FLAMENCA 2026 · FIX MENÚ RESPONSIVE
   Integrado sobre la versión actual del menú.
   Evita que submenús ocultos ocupen altura y deformen "Calendario".
   ============================================================ */

@media (max-width: 1200px) {

  /* Los elementos principales ocupan sólo la altura real del enlace. */
  #cssmenu > ul.open > li,
  #cssmenu > ul.open > li.dropdown,
  #cssmenu > ul.open > li#op5-nav {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #cssmenu > ul.open > li > a {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    height: auto !important;
    min-height: 36px !important;
    max-height: none !important;
    margin: 0 0 5px !important;
    padding: 10px 9px !important;
    line-height: 1.25 !important;
  }

  #cssmenu > ul.open > li > a > span {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
  }

  /*
   * Los submenús no deben quedar transparentes dentro del flujo.
   * Se colapsan completamente mientras estén ocultos.
   */
  #cssmenu > ul.open > li.dropdown > ul.dropdown-menu,
  #cssmenu > ul.open > li.has-sub > ul {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }

  /* Blindaje específico del ítem Calendario. */
  #cssmenu > ul.open > li#op5-nav,
  #cssmenu > ul.open > li#op5-nav > a {
    height: auto !important;
    min-height: 36px !important;
    max-height: none !important;
  }
}

@media (max-width: 767px) {
  #cssmenu > ul.open > li > a {
    min-height: 36px !important;
    padding: 12px 9px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 420px) {
  #cssmenu > ul.open > li > a {
    min-height: 36px !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
  }
}


/* ============================================================
   SUMA FLAMENCA 2026 · MENÚ 8 SECCIONES
   Incorpora "Exposición Metro de Madrid" sin alterar tablet/móvil.
   ============================================================ */
@media (min-width: 1201px) {
  #cssmenu > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
  }

  #cssmenu > ul > li {
    float: none;
    display: block;
    flex: 0 1 auto;
    min-width: 0;
  }

  #cssmenu > ul > li > a {
    margin-right: 4px;
    padding: 8px 10px;
    font-size: 12px;
    letter-spacing: .55px;
    white-space: nowrap;
  }

  #cssmenu > ul > li:last-child > a {
    margin-right: 0;
  }
}
