@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300..800&family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --body-font-family: "Hanken Grotesk", sans-serif;
    --title-font-family: "Funnel Display", sans-serif;
    --gray-200: #f2f2f2;
    --gray-300: #595959;
    --color-principal: #142f84;
    --color-acento: #fbb03b;
    --color-textos: #000000;
    --color-textos-secundarios: #3C3C3C;
    --font-size-18: 18px;
    --font-size-20: 20px;
    --font-size-24: 24px;
    --font-size-28: 28px;
    --font-size-32: 32px;
     --font-size-46: 46px;
    --border-radius: 30px;
  } 

@media (min-width:576px){
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){    

}
@media (min-width: 1400px) {

}

/** HEADER FIXED **/
header {
    position: fixed;
    background: white;
    width: 100%;
    z-index: 500;
    /* -webkit-box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.15); */
    -moz-box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.15);
    /* box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.15); */
}
header{
    height: 60px;
}
header .view-logo img{
    height: 40px;
}
main{
    margin-top: 60px;
}

@media (min-width:576px){
}
@media (min-width:768px){

}
@media (min-width:1200px){
    header{
        height: 85px;
    }
    header .view-logo img {
        height: 65px;
    }
    main{
        margin-top: 80px;
   }
}
@media (min-width:1400px){

}
/*************** GOOGLE TRANSLATE *******************/
select.gt_selector.notranslate {
    background: var(--gray-200);
    font-size: small;
}

/** HEADER BRAND **/
img.logo-brand {
    padding: 0 45% 50px 0;
}
@media (min-width: 768px) {
    img.logo-brand {
    	padding: 0 50% 50px 0;
    }
}
@media (min-width: 992px) {
    img.logo-brand {
    	padding: 0 0 0 20%;
    }
}

/** HEADER TOGGLER **/
.navbar-toggler {
    border: 1px solid var(--color-textos);
    border-radius: 0;
}
.navbar-toggler-icon {
    background-image: url(/themes/custom/b5subtheme/images/bars-solid.svg);
    width: 1em;
    height: 1em;
}
button.navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
    background-image: url(/themes/custom/b5subtheme/images/xmark.svg);
}
@media (min-width:576px){
    .navbar-toggler-icon {
        width: 1.5em;
        height: 1.5em;
    }
}
/**navegacion**/
nav.navbar.navbar-expand-lg.container {
    background: white;
}

.region.region-nav-branding {
    display: flex;
}
.region.region-nav-branding img.img-fluid {
    width: fit-content;
}

.nav-link {
    color: var(--color-textos);
}
ul.nav.navbar-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 20px;
}
footer ul.nav.navbar-nav {
    margin: 1rem;
}
a.nav-item.nav-link.active.is-active{
   text-decoration: none;
}
.navbar-default .navbar-nav > li > a {
   color: var(--color-textos);
}


@media (max-width:992px){
  .navbar-expand-lg .navbar-nav {
        padding: 20px 0;
  }
  body.path-frontpage .navbar-expand-lg .navbar-nav {
    /* border-bottom: 1px solid var(--color-textos); */
  }
  
}
@media (min-width:992px){
  .navbar-expand-lg .navbar-nav {
      gap: 20px;
  }
}

@media (min-width:1200px){
    .navbar-expand-lg .navbar-nav {
      font-size: 1.1em;
  }
}
@media (min-width:1400px){
    .navbar-expand-lg .navbar-nav {
      font-size: 1.2em;
  }
}
li.nav-item {
    width: fit-content;
}
li.nav-item a{
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: var(--color-textos);
    /* text-transform: uppercase; */
    font-weight: 600;
}
li.nav-item a:hover{
    color: var(--color-textos);
}
footer li.nav-item a:hover{
    color: white;
  text-decoration: underline;
}
li.nav-item a {
    font-family: var(--title-font-family);
}
.footer-top .b5_center_container.d-flex.justify-content-between {
    flex-wrap: wrap;
}

.b5_right {
    min-width: 375px;
}

footer li.nav-item a.nav-link, footer li.nav-item a, footer a.nav-link, footer a.nav-link.active.is-active, footer a{
    font-family: var(--body-font-family);
    color: white;
    text-transform: none;
    font-weight: 400;
    text-decoration: none;
}
li.nav-item a.nav-link {
    color: var(--color-textos);
    font-weight: 400;
    /* border-bottom: 2px solid var(--color-textos); */
}

ul.nav.nav-tabs.flex-column.flex-md-row.primary li.nav-item a{
  color: var(--color-textos);
}
@media (max-widht:992px){
  div#navbarSupportedContent.show {
    margin: 10px 0;
    background: white;
    padding: 40px 10px;
    border-bottom: 2px solid var(--color-principal);
   }
}

/***language*****/
div#block-b5subtheme-dropdownlanguage legend {
    display: none;
}
div#block-b5subtheme-alternadordeidioma ul {
    display: inline-flex;
    margin: 0;
    list-style: none;
    padding-left: 0;
    font-size: 1em;
}

div#block-b5subtheme-alternadordeidioma  ul li:first-child {
        padding-right: 5px;
        border-right: 2px solid black;
}
div#block-b5subtheme-alternadordeidioma  a {
    color: black;
    text-decoration: none;
    padding: 0 5px;
}


@media (min-width:576px){
  .container {
    max-width: 540px !important;
   }
}
@media (min-width:768px){
  .container {
    max-width: 720px  !important;    
   }
}
@media (min-width:992px){
  .container {
    max-width: 960px  !important;
   }
}
@media (min-width:1200px){
  .container {
    max-width: 1140px  !important;
   }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px  !important;
   }
}

header .container {
  max-width: 100%  !important;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}
a.nav-link.active.is-active {
        color: var(--color-acento);
}


/* dropdown - Flecha  */
.navbar-nav .dropdown-toggle::after {
    border: none;
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .25s ease;
    position: relative;
    top: -5px;
    left: 5px;
}
/* dropdown - Cuando está abierto */
.navbar-nav .dropdown-toggle.show::after {
    transform: rotate(-135deg);
    position: relative;
    top: 5px;
    left:10px;
}

 header li.nav-item a.dropdown-toggle:after {
    background-color: transparent;
}

.dropdown-item.active, .media-library-view--widget .view-header a.dropdown-item.is-active, .dropdown-item:active {
    background-color: transparent;
}
.dropdown-item.active, .dropdown-item:active{
    color: black;
}

.hover-line::after,
header li.nav-item a:after{
    background-color: white;
}





/** FOOTER **/
footer .logos .view-content {
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
}
footer .view-logo svg {
    height: 20px;
    padding:4px
}
footer .block-views-blocklogo-block-2 img {
    height: 40px;
    width: 100%;
}

@media (min-width:576px){
    footer .view-logo img  {
        height: 40px;
    }
    footer .block-views-blocklogo-block-2 img {
        height: 40px;
    } 
}
@media (min-width:768px){
   footer .view-logo img  {
        height: 40px;
    }    
        footer .block-views-blocklogo-block-2 img {
        height: 60px;
    } 
}
@media (min-width:1200px){
   footer .view-logo img  {
        height: 42px;
    }  

}
@media (min-width:1400px){
   footer .view-logo img  {
        height: 28px;
    }  
    footer .block-views-blocklogo-block-2 img {
        width: 100%;
        height: 80px;
    } 
}
footer {
    padding: 0rem !important;
    margin: 0rem;
}
.footer-top{
    background: var(--color-principal);
    border-bottom: 1px solid var(--gray-200);
    padding: 2rem 0rem;
}
.footer-bottom{
    background: var(--color-principal);
    padding: 2rem 0rem;
}
.border-top-white {
    border-top: 1px solid white;
}
.region.region-footer {
    padding: 0;
}
.region-footer-center .view-content, .region-footer-right .view-content {
    display: flex;
    align-items: center;
}
.logo-rss img {
    width: 30px;
    margin: 0 5px;
}
@media (min-width:576px){
    .logo-rss img {
       width: 36px;
    }
}

/** GENERALES **/
body {
  font-size: var(--font-size-18) !important;
  font-family: var(--body-font-family) !important;
  color: var(--color-textos);
  word-break: break-word;
}  

body a {
  word-break: break-word;
  color: var(--color-acento);
}

body .row {
  margin: 0 auto;
}
body .row > * {
  padding-right: 0;
  padding-left: 0;
}
body .region-content {
  padding: 0;
}
body .container.row {
    margin: 0 auto;
}

.container {
    margin: auto;
    width: 100%;
}



.grid.views-view-grid .col-md-6.col-lg-6.col-xl-6,
.grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3 {
    padding-right: 0;
    padding-left: 0;
}
@media (min-width:576px){
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:nth-child(2n+1) {
        padding-right: 20px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:nth-child(2n) {
        padding-left: 20px;
    }
}
@media (min-width:768px){
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n+1) {
        padding-right: 20px;
    }
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n) {
        padding-left: 20px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:nth-child(2n+1) {
        padding-right: 20px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:nth-child(2n) {
        padding-left: 20px;
    }    
}
@media (min-width:992px){
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n+1) {
        padding-right: 40px;
    }
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n) {
        padding-left: 40px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:last-child) {
        padding-right: 20px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:first-child) {
        padding-left: 20px;
    }    
}
@media (min-width:1200px){
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n+1) {
        padding-right: 60px;
    }
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n) {
        padding-left: 60px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:last-child) {
        padding-right: 30px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:first-child) {
        padding-left: 30px;
    }    
}
@media (min-width: 1400px) {
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n+1) {
        padding-right: 80px;
    }
    .grid.views-view-grid .col-md-6.col-lg-6.col-xl-6:nth-child(2n) {
        padding-left: 80px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:last-child) {
        padding-right: 40px;
    }
    .grid.views-view-grid .col-sm-6.col-md-6.col-lg-3.col-xl-3:not(:first-child) {
        padding-left: 40px;
    }    
}
.texto-accesible {
    max-width: 75ch !important;
    margin: 0 auto;
}
    .d-none-xs{
        display: none;
    }
@media (min-width:576px){
    .d-none-xs{
        display: none;
    }
}
@media (min-width:768px){
    .d-none-xs{
        display: block;
    }
}
@media (min-width:992px){
        .d-none-xs{
        display: block;
    }
}
@media (min-width:1200px){   
        .d-none-xs{
        display: block;
    }
}
@media (min-width: 1400px) {
        .d-none-xs{
        display: block;
    }
}



.pr-3 {
    padding-right: 1.5rem !important;
}
details a {
    text-decoration: underline;
}
a.non-underline{
  text-decoration: none;
}
.max-width-xs{
    max-width: 520px;
}
.d-flex-column{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.font-weight-bold {
    font-weight: bold;
}

/** ENLACES Y BOTONES **/
.botones-iguales, .botones-diferentes{
    gap: 20px;
}

.botones-diferentes a.btn-custom:first-child,
.cta a.btn-custom,
.button.button--primary,
.button.btn-primary,
.botones-iguales a.btn-custom,
.botones-diferentes a.btn-custom:last-child,
.boton-principal a,
.boton-secundario a,
a.btn-custom,
a.btn-custom2{
    font-family: var(--title-font-family);
    padding: 8px 18px;
    text-decoration: none;
    /* text-transform: uppercase; */
    font-weight: 600;
    border: none;
    background: white;
    color: black;
    border-radius: 12px;
    border: 1px solid black;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    display: block;
    width: fit-content;
    margin-bottom: 20px;
}
.botones-diferentes a.btn-custom:first-child:hover,
.cta a.btn-custom:hover,
.button.button--primary:hover,
.button.btn-primary:hover,
.botones-iguales a.btn-custom:hover,
.botones-diferentes a.btn-custom:last-child:hover,
.boton-principal a:hover,
.boton-secundario a:hover,
a.btn-custom:hover,
a.btn-custom2:hover{
    transform: scale(1.05);
}


/**textos**/
h1, h2, h3, h4, h5, h6, .h1, .h2{
   font-family: var(--title-font-family);
}
h1, .h1 {
    font-size: 1.8rem;
}
@media (min-width: 768px){
  h1, .h1 {
    font-size: 2.6rem;
  }
}
@media (min-width: 1200px){
  h1, .h1 {
    font-size: 2.5rem;
    /* width: fit-content; */
  }
}
h2, .h2, table caption {
    font-size: 1.8rem  !important;
}
 table caption {
    color:  var(--color-textos);
}
.path-frontpage h2,.path-frontpage  .h2 {
    color:  var(--color-principal) !important;
}
@media (min-width: 768px){
  h2, .h2, table caption  {
    font-size: 2.2rem  !important;
  }
}
@media (min-width: 1200px){
  h2, .h2, table caption  {
    font-size: 2.3rem !important;
  }
}

@media (min-width: 1400px) {
  h2, .h2, table caption  {
    font-size: 2.5rem !important;
  }
}


.text-white h2{
    color: white !important;
}
.field--name-body h2 {
    margin-top: 32px;
}
h2.card-title{
    order: 3;
    font-size: 25px !important;
    line-height: 25px !important;
    margin-bottom: 12px !important;
}
h2.card-title a {
    color: var(--color-textos);
    text-decoration: none;
  font-family: var(--title-font-family);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.3;
  display: block;    
}
.card:hover .card-title a {
  color: var(--color-principal);
}
.card > .small,
.card > .card-title,
.card > .botones {
  padding-left: 20px;
  padding-right: 20px;
}
.card .small::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background: var(--color-acento);
  margin-right: 8px;
  vertical-align: middle;
}
.card .botones {
  margin-top: auto;
  padding-bottom: 20px;
}
.text-black a {
    color: black;
}
.text-white a {
    color: white;
}
.font-family-title{
    font-family: var(--title-font-family); 
}
.font-size-18{
    font-size: var(--font-size-18);
}
.font-size-24{
    font-size: var(--font-size-20);
}
@media (min-width: 768px){
    .font-size-24{
        font-size: var(--font-size-24);
    }
}
.font-size-28{
    font-size: var(--font-size-28);
}
.font-size-32{
    font-size: var(--font-size-32);
}
.font-size-46{
    font-size: var(--font-size-46);
}
.color-texto-ppal a{
    color: var(--color-textos);
    text-decoration: none;
}
.color-texto-ppal a:hover{
    color: var(--color-textos);
    text-decoration: none;
}
.color-texto-secundario{
    color: var(--color-textos-secundarios);
}


/*******HERO*********/
.hero-animated .hero-title h1 {
  opacity: 0;
  transform: translateY(20px);
  animation: heroTitleIn 0.8s ease-out forwards;
  animation-delay: 0.2s;
    color: var(--color-principal);
}

@keyframes heroTitleIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-animated .hero-title h1 {
  opacity: 0;
  transform: translateY(20px);
  animation: heroTitleIn 0.8s ease-out forwards;
  animation-delay: 0.2s;
}

@keyframes heroTitleIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-animated .row {
  animation: heroFadeIn 0.6s ease-out;
}

@keyframes heroFadeIn {
  from {
    opacity: 0.9;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-animated * {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
.hero-title h1 {
  font-size: 2rem;
}
@media (min-width:576px){
}
@media (min-width:768px){
}
@media (min-width:992px){
    .hero-title h1 {
  font-size: 3rem;
}
}
@media (min-width:1200px){   
    .hero-title h1 {
  font-size: 5rem;
}
}
@media (min-width: 1400px) {
}
.hero-title h1 {
  hyphens: none;
  line-height: 1.1em;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition-delay: 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
.hero-animated.is-visible .hero-title h1 {
  opacity: 1;
  transform: translateY(0);
}
.hero-title{font-size: 2.2rem;}
@media (min-width:576px){
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){    
    .hero-title{font-size: 2.9rem;}
}
@media (min-width: 1400px) {

}
.hero-text {
  opacity: 0; /* El texto comienza invisible */
  animation: fadeIn 2s ease-in forwards; /* Aplica la animación */
  font-weight: bold;
  hyphens: none;
  /* text-shadow: 2px 2px 2px black; */
}
.hero-text p{
    line-height: 1em;
}
.hero-text span {
    display: block;
    font-size: 1.1em;
}
@media (min-width: 1200px){
  .hero-title img{
      max-width: 520px;
  }
  .hero-text{
      max-width: 650px;
  }
}

.font-weight-600{
    font-weight: 600;
}
.hero-image img{
    max-height: 150px;
}


/** SEPARADORES **/
.hr-bottom-60::after {
    content: "";
    display: block;
    height: 8px; /* Ajusta el grosor de la línea */
    background-color: var(--color-textos); /* Color de la línea */
    width: 59px; /* Ajusta la longitud de la línea */
 }
.text-white .hr-bottom-60::after {
    background-color: white; /* Color de la línea */
 }
.hr-bottom-30::after {
    content: "";
    display: block;
    height: 8px; /* Ajusta el grosor de la línea */
    background-color: var(--color-textos); /* Color de la línea */    
    width: 30px; /* Ajusta la longitud de la línea */
 }
.hr-bottom-30-light::after {
    content: "";
    display: block;
    height: 1px; /* Ajusta el grosor de la línea */
    background-color: var(--color-textos); /* Color de la línea */    
    width: 30px; /* Ajusta la longitud de la línea */
    margin: 1rem 0;
 }
.hr-top::before {
    content: "";
    display: block;
    width: 100%; /* Ajusta la longitud de la línea */
    height: 1px; /* Ajusta el grosor de la línea */
    background-color: var(--color-textos); /* Color de la línea */
 }
.container-c9 h2::after{
    content: "";
    display: block;
    width: 100%; /* Ajusta la longitud de la línea */
    height: 2px; /* Ajusta el grosor de la línea */
    background-color: var(--color-textos); /* Color de la línea */
    margin-bottom: 30px;
}



/** BORDERS **/
.border-dashed {
    border: 1px dashed var(--color-textos);
    border-radius: 0 30px 0 0;
    width: fit-content;
 }
.border-dashed img {
    padding: 20px;
    max-height: 100%;
}
.border-dashed-sm {
    border: 1px dashed var(--color-textos);
    border-radius: 0 30px 0 0;
    width: fit-content;
    font-family: var(--title-font-family);
}
.border-dashed .field--name-field-media-image {
    height: 120px;
    width: 120px;
}
.border-dashed .field--name-field-media-image .field__item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.border-radius-30{
    border-radius: var(--border-radius);
}
.img-border-radius-30 img{
    border-radius: var(--border-radius);
}

/**fondos**/
.bg-white {
    background: white !important;
}
.bg-black {
    background: black  !important;
}
.bg-ppal{
    background: var(--color-principal);
}
.bg-gray{
background: var(--gray-200);
}
.bg-gray-degradado{
background: linear-gradient(0deg, rgba(230, 230, 230, 0) 0%, rgba(230, 230, 230, 0.79) 25%, rgba(230, 230, 230, 1) 40%, rgba(230, 230, 230, 0.82) 75%, rgba(230, 230, 230, 0) 100%);
}
.fondo-gris-mid {
    background: linear-gradient(to bottom, var(--gray-200) 30%, #ffffff 30%);
}
.imagen-1{
    background: var(--color-principal);
    background-image: url(/themes/custom/b5subtheme/images/image-1.jpg);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: cover;
    /* background-attachment: fixed; */
}
.imagen-1,
.height-image-1{
    min-height: 400px;
}

.imagen-2{
    background-image: url(/themes/custom/b5subtheme/images/image-2.jpg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.imagen-3 {
    background-image: url(/themes/custom/b5subtheme/images/image-3.jpg);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 50%;
    background-attachment: scroll;
}
.bg-header {
  background-image: url(/themes/custom/b5subtheme/images/fondo-header.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  animation: bgFloat 12s ease-in-out infinite;
}

@keyframes bgFloat {
  0%   { background-position: 50% 50%; }
  50%  { background-position: 52% 48%; }
  100% { background-position: 50% 50%; }
}

.bg-ambitos{
    background: white;
    background-image: url(/themes/custom/b5subtheme/images/fondo-ambitos.svg);
    background-position: center;
    background-repeat: no-repeat;
    /* background-size: cover; */
    /* background-attachment: fixed; */
}
.bg-testimonios{
background: F2F2F2;
background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(242, 242, 242, 0.5) 15%, rgba(242, 242, 242, 1) 55%);
}
/********* VIDEOS *******************/
iframe.media-oembed-content {
    width: 500px;
    height: 281px;
    border-radius: var(--border-radius);
}

@media (min-width:576px){
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){
     iframe.media-oembed-content {
        width: 750px;
        height: 422px;
        border-radius: var(--border-radius);
    }
}
@media (min-width: 1400px) {

}
.img-rounded-right  {
    padding-right: 0; 
}    
.img-rounded-right img {
    border-radius: 0;
    height: 300px;
    width: 100%;
}
.img-full img {
    width: 100%;
    height: 250px;
}


@media (min-width:768px){

}
@media (min-width:992px){
     .img-full img {
        max-width: 100%;
        height: 100vh;
    }
    .img-rounded-right  {
        padding-right: 30px !important; 
    }    
    .img-rounded-right img {
        height: 100vh;
        border-radius: 0 30px 30px 0;
    }
}
@media (min-width:1200px){
    .img-rounded-right img {

    }
}
@media (min-width: 1400px) {
    .img-full img {
        max-width: 100%;
        height: 80vh;
    }
    .img-rounded-right img {
          height: 70vh;
    }    
}




.rounded-left, .rounded-right{
    border-radius: 0;
}
.fondo-negro ul, .fondo-negro ol {
    padding-left: 2rem;
}
@media (min-width:992px){
    .rounded-left{
        border-radius: 30px 0 0 30px;
    }
    .rounded-right{
        border-radius: 0 30px 30px 0;
    }
}
@media (min-width:992px){

}
@media (min-width:1200px){

}
@media (min-width: 1400px) {

}
    .region.region-nav-branding {
        max-width: 80%;
    }

@media (min-width:1200px){
    .region.region-nav-branding {
        max-width: 60%;
    }

}
@media (min-width: 1400px) {

}

/**imagenes**/
.zoom-img{
    overflow: hidden;
}
.zoom-img img:hover, .zoom:hover{
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    -webkit-transition: all, 0.8s;
    -moz-transition: all, 0.8s;
    -o-transition: all, 0.8s;
    transition: all, 0.3s;    
}
.img-w-100 img{
    width: 100%;
    height: 450px;
}
img.rounded{
    border-radius: var(--border-radius) !important;
}


/**otros**/
.width-fit-content {
    width: fit-content;
}
.margin-auto {
    margin: 0 auto;
}
ul, ol {
    /* padding-left: 0rem; */
}
ul li, ol li  {
    margin-left: 0;
}
ul.hr-bottom-30-light, ol.hr-bottom-30-light {
    padding-left: 0rem;
}
ul.hr-bottom-30-light li, ol.hr-bottom-30-light li  {
    margin-left: 1.5rem;
}
ul.hr-bottom-30-light  {
   list-style-type: lower-alpha;
}
#block-progressbar {
  z-index:5000;
  position: fixed;
  left: 0; top: 0px;
  width: 100%; height: .25rem;
  background: var(--color-principal);
  transform-origin: 0 50%;
  animation: grow-progress auto linear;
  animation-timeline: scroll();
}
figcaption {
    /*position: absolute;*/
    bottom: 15px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.5);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.5) 100%);
    color: white;
    padding: 10px;
    font-size: 0.3em;
}

/*accordion*/
details {
    border: 0px solid var(--gray-200);
}
details[open] summary {
    color: var(--color-textos);
}
summary {
    display: flex !important;
    border: 1px solid var(--color-textos);
    border-radius: var(--border-radius);
    /* min-height: 60px; */
    display: flex;
    align-items: center;
    padding: 8px 16px;
    /* font-size: 1.2rem; */
    width: 100%;
    justify-content: space-between;
}
summary:after{
  content: "";
  background: url("/themes/custom/b5subtheme/images/chevron-down-solid.svg");
  background-repeat: no-repeat;
  width: 30px;
  height: 22px;
  right: 0 !important;
  margin-left: 0;
  margin-top: 0px;
}
details[open] summary:after {
    transform: rotate(180deg);
    animation-name: spin;
    animation-duration: .5s;
    animation-iteration-count: 1;
    animation-timing-function: linear;
}
#backtotop {
    border: 1px solid white;
    border-radius: 50%;
}
a.btn.faq{
    width: 100%;
}

.accordion-button:not(.collapsed),
a.accordion-button.faq.collapsed{
    background-color: white;
    border: 1px solid var(--color-textos);
    border-radius: var(--border-radius);
    /* min-height: 60px; */
    display: flex;
    align-items: center;
    padding: 8px 16px;
    /* font-size: 1.2rem; */
    width: 100%;
    justify-content: space-between;
}
a.accordion-button{
    text-decoration: none;
    color: var(--color-textos);
}
.accordion-button:focus {
    box-shadow: 0;
}
.accordion  .card.card-body {
    border: 0px;
}




/** hover line **/
.hover-line,
header li.nav-item{
    display: inline-block;
    position: relative;
    padding: 0;
    cursor: pointer;
    color: var(--color-textos);
}

.hover-line::after,
header li.nav-item a:after{
    content: '';
    position: absolute;    
    left: 0;
    width: 100%;
    background-color: var(--color-acento);
    transform: scaleX(0.05);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.hover-line::after{
    bottom: -8px;    
    height: 8px;
    transform: scaleX(0.05);
}
header li.nav-item a:after{
    bottom: -6px;    
    height: 8px;
    transform: scaleX(0);
}
.hover-line:hover::after,
header li.nav-item a:hover:after{
    transform: scaleX(1);
}


a.enlace, .enlace a {
  position: relative;
  color: var(--color-acento);
  text-decoration: none;
  font-weight: bold;
}

a.enlace::after, .enlace a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: var(--color-acento);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

a.enlace:hover::after, .enlace a:hover::after {
  width: 100%;
}




img.icon {
    height: 20px !important;
    width: 20px !important;
    margin-bottom: 4px;
    margin-right: 4px;
}


/*forms*/
fieldset {
    border: 1px solid var(--gray-200);
    border-radius: 10px;
    padding: 10px;
}
legend{
    background: black;
    padding: 5px;
    color: white;
    
}

/*carrusel slick*/
.view.view--blazy nav.slick__arrow {
    display: none;
}
.slide__content {
    font-size: 24px;
}
.view-carrusel-frases .slick__slide {
  padding: 0 40px;
  box-sizing: border-box;
}
.slick-dots li.slick-active button:focus .slick-dot-icon{
    color: var(--color-acento);
}

.slider-imagenes .slide a{
font-size: 2.5rem;
margin-left: 20px !important;
    text-decoration: none;
    font-weight: bold;
    line-height: 2rem;
}

.slider-imagenes  .slide__caption {
    position: absolute;
    bottom: 0;
    min-height: fit-content !important;
    max-width: 90%;
    padding: 20px !important;
}


.frase{
    font-size: 2rem;
}


/*otros*/
.color-grey a {
    color: grey;
}
.bold-principal strong {
    color: var(--color-principal);
}

/* formularios*/
.form--inline.clearfix {
    display: flex;
}

/* descargas */
.descarga{
    border: 1px solid var(--color-textos);
    border-radius: 4px;
    color: var(--color-textos);
    padding: 16px;
    margin-left: 0px;
    text-decoration: none;
    display: flex;
    column-gap: 16px;
    transition: all .5s;
}
.descarga a{
  text-decoration: none;
    color: var(--color-textos);
}
.descarga img {
    width: 30px;
    margin: 0 10px;
    position: relative;
    bottom: 4px;
}


/*tables*/
.field--name-body thead, .field--name-body  tbody, .field--name-body  tfoot, .field--name-body  tr, .field--name-body td, .field--name-body th{
    padding: 10px;
} 
.field--name-body  table {
    border: 1px solid var(--color-textos);
    margin: 20px 0;
}
.tabla th {
    background: black;
    color: white;
}


.no-results {
    border: 1px solid var(--color-textos);
    padding: 40px;
}
.ver-mas img {
    height: 22px;
    margin: 0 10px;
    position: relative;
    bottom: 4px;
}

/*TIMELINE*/
.item-timeline-fecyt {
    color: lightgrey;
}
.item-timeline-fecyt:hover {
    color: var(--color-textos);
}
.item-timeline-fecyt i{
    margin-right: 5px;
}
.item-timeline-fecyt.activado {
    color: var(--color-textos);
}
.item-timeline-fecyt p {
    margin-top: -5px;    
}
.item-timeline-fecyt {
    margin-bottom: 30px;
}
.item-timeline-fecyt.activado a{
    /* color: var(--color-principal); */
}
ul.timeline-list li.timeline-item .timeline-item-wrapper span.timeline-marker {
    width: 16px;
    height: 16px;
}

.btn-check:checked + .btn, .node-preview-container .btn-check:checked + .node-preview-backlink, .btn-check:checked + .button, .btn-check:checked + button.link, :not(.btn-check) + .btn:active, .node-preview-container :not(.btn-check) + .node-preview-backlink:active, :not(.btn-check) + .button:active, :not(.btn-check) + button.link:active, .btn:first-child:active, .node-preview-container .node-preview-backlink:first-child:active, .button:first-child:active, button.link:first-child:active, .btn.active, .media-library-view--widget .view-header a.btn.is-active, .node-preview-container .active.node-preview-backlink, .node-preview-container .media-library-view--widget .view-header a.node-preview-backlink.is-active, .media-library-view--widget .view-header .node-preview-container a.node-preview-backlink.is-active, .active.button, .media-library-view--widget .view-header a.button.is-active, button.active.link, .btn.show, .node-preview-container .show.node-preview-backlink, .show.button, button.show.link {
    color: var(--bs-btn-active-color);
    background-color: var(--color-principal);
    border-color: var(--color-principal);
}

.btn-primary {
     --bs-btn-color: white;
    --bs-btn-bg: var(--color-principal);
    --bs-btn-border-color: var(--color-principal);
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: var(--color-principal);
    --bs-btn-hover-border-color: var(--color-principal);
    --bs-btn-focus-shadow-rgb: 38, 89, 206;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-principal);
    --bs-btn-active-border-color: var(--color-principal);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: var(--color-principal);
    --bs-btn-disabled-border-color: var(--color-principal);
}


/** CARDS - ITEMS **/
.d-grid .view-content,
.d-grid-1 .view-content{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
  align-items: stretch;
}
.d-grid-1 .view-content{
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.d-grid-xl-2 .view-content,
.d-grid-xl-3 .view-content{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin: 2rem 0;
}
@media (min-width:576px){
}
@media (min-width:768px){
}
@media (min-width:992px){
}
@media (min-width:1200px){  
    .d-grid-xl-2 .view-content{
        grid-template-columns: repeat(2, 1fr);
    }
    .d-grid-xl-3 .view-content{
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (min-width: 1400px) {
}


.d-grid .view-content > *,
.d-grid-1 .view-content > *{
    height: 100% !important;
    max-width: 450px;
}
.card {
  border-radius: 30px !important;
  border: 0px solid #eee !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  transition: transform .2s, box-shadow .2s;
  height: 100% !important;
}


.card a{
    color: var(--color-textos);
    text-decoration: none;
    height: 100%;
}
.card-header{
    background-color: white !important;
    border-radius: 30px 30px 0 0 !important;
}
.card-header.bg-white {
    min-height: 260px;
}
.card .icon, .jumbotron-ppal .icon {
  display: flex;
  margin: 25px;
}
.jumbotron-ppal .icon img{
  width: 120px;
  margin: 0;
}
.card h3 {
  display: flex;
  margin: 25px;
  font-size: 1.6rem;
}
.card-simple {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.card-image {
  position: relative;
  overflow: hidden;
}
.card-image img {
    aspect-ratio: 4/3;
    width: 100%;
    object-fit: cover;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.card-body.p-0{
    padding: 0;

}
.card-body.img-rounded img{
        border-radius: 0 0 var(--border-radius) var(--border-radius);
}
.card-body a{
 color: var(--color-acento) ;
    text-decoration: underline;
}

/* Transiciones suaves */
.card .icon img,
.card .titulo h3 {
    transition: all 0.25s ease;
}

/* HOVER SOBRE TODA LA CARD */
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.card:hover .icon img {
    filter: brightness(0) saturate(100%)
            invert(18%) sepia(58%)
            saturate(1824%)
            hue-rotate(208deg)
            brightness(90%)
            contrast(95%);
}

/* Cambio de color del título */
.card:hover .titulo h3 {
    color: var(--color-principal);
}
.card a:focus-visible .icon img,
.card a:focus-visible .titulo h3 {
    filter: brightness(0) saturate(100%)
            invert(18%) sepia(58%)
            saturate(1824%)
            hue-rotate(208deg)
            brightness(90%)
            contrast(95%);
    color: var(--color-principal);
}
.card .titulo h3 {
    will-change: color;
    font-size: 1.5rem;
}
.card .small {
  order: 2;
  margin-top: 16px;
  margin-bottom: 6px;

  font-size: 0.75rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;

  color: var(--color-textos-secundarios);
}

.card span.etiqueta {
  position: absolute;
  top: 16px;
  left: 16px;

  background: white;
  color: var(--color-principal);

  border: 2px solid var(--color-principal);

  font-family: var(--title-font-family);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;

  padding: 6px 14px;
  border-radius: 50px;

  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}





.img-rounded img {
    border-radius: var(--border-radius);
}
img.aspect-ratio-9-8 {
    aspect-ratio: 9 / 8;
}
img.aspect-ratio-2-1 {
    aspect-ratio: 2 / 1;
}



/* Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0; /* Comienza completamente invisible */
  }
  to {
    opacity: 1; /* Termina completamente visible */
  }
}



/*login*/
.user-login-form,
form#user-pass,
.block.block-user.block-user-login-block {
    background: var(--gray-200);
    padding: 20px;
    border-radius: var(--border-radius);
    margin-bottom: 40px;
}
.user-login-form ul,
form#user-pass ul, 
.block.block-user.block-user-login-block ul {
    list-style: none;
}
.user-login-form li,
form#user-pass li, 
.block.block-user.block-user-login-block .item-list li {
  margin: 0.5rem;
  padding: 0;
}
.user-login-form label,
form#user-pass label, 
.block.block-user.block-user-login-block label {
    font-size: 20px;
}
.block.block-user.block-user-login-block a.request-password-link {
    font-size: 16px;
}
.d-inline a{
    display: inline;
}

/************ADMINISTRACION*************/
#drupal-off-canvas-wrapper summary.card-header.bg-light {
    color: white !important;
    border-radius: 0px !important;
    text-transform: uppercase !important;
    background: #2d2d2d !important;
}



/* CARRUSEL*/
.text-carrusel {
    position: absolute;
    margin-left: calc(100% - 90vw);
    width: 50%;
    max-width: 80vw;
}
.text-carrusel .hero-title,
.text-carrusel .hero-text{
    text-shadow: 2px 2px 2px black;
}
h2.slide__title {
    position: absolute;
    top: -10px;
}

h2.slide__title, .label {
    background: var(--color-principal);
    color: var(--color-textos);
    font-size: 20px !important;
    padding: 5px 20px;
    text-decoration: none;
    font-weight: 400;
}

.view-carrusel-frases .slick__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px; /* ajusta a diseño */
}
.view-carrusel-frases .frase {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.view-carrusel-frases .frase p {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.4;
  font-weight: 500;
}
.view-carrusel-frases .slide__media {
  display: none;
}
.view-carrusel-frases .slide__content {
  padding: 3rem 2rem;
}
.view-carrusel-frases .slick-dots {
  bottom: 1rem;
}

.view-carrusel-frases .slick-dots li button:before {
  font-size: 10px;
  opacity: 0.3;
}

.view-carrusel-frases .slick-dots li.slick-active button:before {
  opacity: 1;
}
.view-carrusel-frases .slick-prev,
.view-carrusel-frases .slick-next {
  background: none;
  color: inherit;
  font-size: 0;
}

.view-carrusel-frases .slick-prev::before,
.view-carrusel-frases .slick-next::before {
  font-size: 24px;
}
.view-carrusel-frases .slick__arrow {
  display: none;
}
.view-carrusel-frases .slick-slide {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.view-carrusel-frases .slick-active {
  opacity: 1;
}


::marker {}

ul.slick-dots button{/* display: none; */}

/* Contenedor de los dots */
.view-carrusel-frases .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;        /* separación entre puntos */
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

/* Cada punto */
.view-carrusel-frases .slick-dots li {
  display: inline-flex;
  margin: 0;
}
.view-carrusel-frases .slick-dots li button {
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 20px;

}
.view-carrusel-frases .slick-dots li button:before {
  font-size: 10px;
  line-height: 10px;
  opacity: 0.3;
    
}

.view-carrusel-frases .slick-dots li.slick-active button:before {
  opacity: 1;
}
.view-carrusel-frases {
  position: relative;
}

.view-carrusel-frases .slick-dots {
  position: relative;   /* ← clave */
  bottom: auto;
}
.view-carrusel-frases .slick-list {
  overflow: hidden;
}

.view-carrusel-frases .slick-track {
  overflow: hidden;
}

.view-carrusel-frases .slick-dots {
  z-index: 10;
  visibility: visible;
  opacity: 1;
}.view-carrusel-frases {
  position: relative;
}

.view-carrusel-frases .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;

  position: relative;
  margin-top: 1rem;
  padding: 0;

  list-style: none;
  z-index: 5;
}

.view-carrusel-frases .slick-dots li {
  display: inline-flex;
  margin: 0;
}

.view-carrusel-frases span.slick-sr-only {
    display: none;
}
.view-carrusel-frases .slick-dots li button {
  background-color: transparent;
  border-radius: 50%;
}

.view-carrusel-frases .slick-dots li.slick-active button {
  background-color: #142f84;
}
.view-carrusel-frases .slick-dots li button {
  border: 1px solid #142f84; /* ← línea exterior */
}


.min-height-315{min-height: 315px}

/**accordion**/
.accordion img { height: 60px}

.accordion-item {
    border-right: 0px;
    border-left: 0px;
}
/**accordion**/
.accordion img {height: 60px;filter: brightness(0) saturate(100%)
            invert(18%) sepia(58%)
            saturate(1824%)
            hue-rotate(208deg)
            brightness(90%)
            contrast(95%);}

.accordion-item {
    border-right: 0px;
    border-left: 0px;
}
.accordion-item {
    border-top:0px solid grey !important;
    border-bottom:1px solid grey  !important;
    border-left:0px solid grey  !important;
    border-right:0px solid grey  !important;
    border-radius: 0px  !important;
    
}
.accordion-button:not(.collapsed){
    background: transparent  !important;
    border: 0px  !important;
    box-shadow: none  !important;
    border-radius: 0px;
    border-top-left-radius: 0px  !important;
    color: var(--color-textos) !important;
}

.accordion-item:first-of-type {
    border-radius: 0px;
}



/***CABECERAS***/
.hero {
  position: relative;
  min-height: 260px; /* altura más baja */

  display: flex;
  align-items: center;
  justify-content: flex-start; /* texto a la izquierda */

  text-align: left;
  overflow: hidden;

  padding: 40px 60px;
}

.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* overlay para contraste */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.35) 40%,
    rgba(0,0,0,0.1) 70%
  );
  z-index: 1;
}

.hero-inner {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 600px;
}

.hero h1 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  margin-bottom: 8px;
}

.hero p {
  font-size: 1.1rem;
}


/**MENU LATERAL**/
.item-list a{
    color: var(--color-textos);
    text-decoration: none; 
}
.item-list{
    border-top: 1px solid var(--color-principal);
}
.item-list:last-child{
    border-bottom: 1px solid var(--color-principal);
}
.item-list a.active{
    color: var(--color-principal);
    font-weight: bold;
}