/* ++++++++++++++++++++++++++++++ VARIABLES ++++++++++++++++++++++++++++++ */
:root {
  --tipografia-textos: 'Open Sans', sans-serif;
  --tipografia-iconos: 'Font Awesome 5 Pro';
  --color-texto: #000;
  --color-enlaces: #000;
  --color-corporativo: #000000; /* AMARILLO */
  --color-corporativo-50: rgba(247,208,14,.5);
  --color-corporativo-1: #f7d00e; /* AMARILLO */
  --color-corporativo-2: #8dc63f; /* VERDE */
  --color-corporativo-3: #ff66ff; /* ROSA */
  --color-corporativo-4: #ffffff; /* AZUL */
  --color-dark: #000;
  --color-dark-075: rgba(0,0,0,.075);
  --color-dark-15: rgba(0,0,0,.15);
  --color-dark-25: rgba(0,0,0,.25);
  --color-dark-40: rgba(0,0,0,.4);
  --color-dark-50: rgba(0,0,0,.5);
  --color-dark-80: rgba(0,0,0,.8);
  --color-light: #f8f9fa;
  --color-lighter: #EEE;
  --color-lightest: #FFF;
  --color-lightest-25: rgba(255,255,255,.25);
  --color-lightest-50: rgba(255,255,255,.5);
  --color-lightest-65: rgba(255,255,255,.65);
  --color-lightest-85: rgba(255,255,255,.85);
  --border-radius: 0px;
  --border-rounded: .25rem;
  --border-rounded-xl: .5rem;
  --border-rounded-xxl: 1rem;
  --border-rounded-circle: 50%;
  --border-pills: 50rem;
  --bg-corp-color:#ffffff;
  --neutral-100: #000000;
  --neutral-90: #1a183f;
  --neutral-80: #302e56;
  --neutral-60: #5a657c;
  --neutral-50: #79849a;
  --neutral-45: #a3adc2;
  --neutral-40: #d8dfe2;
  --neutral-30: #e7ebee;
  --neutral-20: #f7f9fa;
  --neutral-10: #ffffff;
}
/* ++++++++++++++++++++++++++++++ BASIC ++++++++++++++++++++++++++++++ */

html { scroll-behavior:smooth; }
body { font-family:var(--tipografia-textos); color:var(--color-texto); }
p { margin-bottom:1.5rem; }
a, a:link, a:visited, a:active, a img, .btn, .smooth { transition:all 0.2s linear; text-decoration:none; }
a:not(.btn) { color:var(--color-enlaces); }
.content .content-body .text a:not(.btn):not(.list-group-item), .footer a:not(.btn) { text-decoration:underline; }
.content .title a, .content a:not(.btn):hover, .footer a:not(.btn):hover { text-decoration:none; }
.content .title h1 { font-size:2.15rem; }

.position-absolute.absolute-xy, .position-fixed.fixed-xy { top:0; left:0; bottom:0; right:0; }
.position-absolute.absolute-x, .position-fixed.fixed-x { left:0; right:0; }
.position-absolute.absolute-y, .position-fixed.fixed-y { top:0; bottom:0; }
.position-absolute.top, .position-fixed.top { top:0; }
.position-absolute.bottom, .position-fixed.bottom { bottom:0; }
.position-absolute.left, .position-fixed.left { left:0; }
.position-absolute.right, .position-fixed.right { right:0; }

.noticia-border { background-color:#f5a623; display:block; height:2px; margin-top:25px; width:130px; }

.bg-img { display:block; background-repeat:no-repeat; background-position:center; background-size:cover; height:100%; }
.bg-overlay::before { content:" "; left:0; position:absolute; right:0; top:0; bottom:0; background-color:var(--color-dark-40); overflow-x:hidden; }
.bg-img-16-9 { aspect-ratio:16 / 9; }
.bg-corp { background-color:var(--color-corporativo)!important; }
.bg-corp-1 { background-color:var(--color-corporativo-1); }
.bg-corp-2 { background-color:var(--color-corporativo-2); }
.bg-corp-3 { background-color:var(--color-corporativo-3); }
.bg-corp-4 { background-color:var(--color-corporativo-4); }
.bg-corp-50 { background-color:var(--color-corporativo-50)!important; }
.bg-light-2 { background-color:#EEE; }
.bg-dark { background-color:var(--color-dark)!important; }
.bg-black-50 { background-color:var(--color-dark-50)!important; }
.bg-black-80 { background-color:var(--color-dark-80)!important; }
a.bg-dark:focus, a.bg-dark:hover, button.bg-dark:focus, button.bg-dark:hover { background-color:var(--color-dark)!important; }
.grayscale { -webkit-filter: grayscale(100%); filter:grayscale(100%); }
.scale:hover { transform:scale(1.08); }
.text-corp { color:var(--color-corporativo)!important; }
.text-dark { color:var(--color-texto)!important; }
.text-gradient { -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.text-shadow { text-shadow:var(--color-dark-80) 0px 0px 10px; }
.lh-1 { line-height:1!important; }
.lh-1-2 { line-height:1.2; }
.lh-1-5 { line-height:1.5; }
.rounded-xl { border-radius:var(--border-rounded-xl); }
.zindex-0 { z-index:0; }
.anchor:target::before { content:""; display:block; height:60px; margin:-60px 0 0; }
.mapa iframe { width:100%; height:100%; min-height:200px; }
.cartas .carta .icon { font-size:1.5rem; line-height:1; }

.text-06 { font-size:.6rem; }
.text-07 { font-size:.7rem; }
.text-08 { font-size:.8rem; }
.text-09 { font-size:.9rem; }
.text-10 { font-size:1rem; }

.content-block { padding-top:3rem; padding-bottom:3rem; }
.content-body.content-block { padding-top:1.5rem; padding-bottom:6rem; }
.content { position:relative; }
.content .content-body .text h1, .content .content-body .text h2, .content .content-body .text h3, .content .content-body .text h4, .content .content-body .text h5, .content .content-body .text h6 { margin-top:3rem; margin-bottom:1.5rem; }
.content .content-body .text hr { margin:3rem 0; background-color:var(--color-dark-15); }
.content .content-body .indice a { display:block; text-decoration:underline; margin-top:1rem; }
.content .content-body .indice li a { margin-top:0; }
.content .content-body .indice ul { margin-bottom:.5rem; }
.content .content-body .text ul, .content .content-body .text ol { list-style:none; list-style-type:none; text-align:left; margin:2rem 0; padding:0; box-shadow:0 .125rem .25rem var(--color-lighter); }
.content .content-body .text ol { counter-reset:item; }
.content .content-body .text ol li::before, .content .content-body .text ul li::before { position:absolute; top:1rem; left:1rem; }
.content .content-body .text ol li::before { content:counter(item); background:var(--color-corporativo); border-radius:var(--border-rounded-circle); color:var(--color-texto); text-align:center; display:block; width:25px; height:25px; font-size:.8rem; line-height:25px; font-weight:bold; }
.content .content-body .text ul li::before { background:none; font-family:var(--tipografia-iconos); font-weight:900; content:"\f0da"; font-size:1rem; color:var(--color-corporativo); }
.content .content-body .text ul li, .content .content-body .text ol li { position:relative; padding:1rem 1rem 1rem 2.5rem; background-color:var(--color-lightest); border-top:1px solid var(--color-lighter); }
.content .content-body .text ol li { counter-increment:item; padding-left:3.5rem; }
.content .content-body .text ul li:first-child, .content .content-body .text ol li:first-child { border-top:none; }
.content .content-body .text ul li ul, .content .content-body .text ol li ol, .content .content-body .text ul li ol, .content .content-body .text ol li ul { box-shadow:none; margin:1rem 0; }
.content .content-body .text ul li ul li, .content .content-body .text ol li ol li { padding:1rem 0 1rem 2.5rem; }
.content .content-body .text ul li ul li:first-child, .content .content-body .text ol li ol li:first-child { border-top:1px solid var(--color-lighter); }
.content .content-body .text ul li ol li::before, .content .content-body .text ol li ol li::before { background-color:var(--color-dark-15); color:var(--color-dark-50); left:0; }
.content .content-body .text ul li ul li::before, .content .content-body .text ol li ul li::before { left:0; }
.content .content-body .text blockquote, .content .content-body .content-image { width:100%; margin:0 0 2rem; background-color:var(--color-lighter); }
.content .content-body .content-image img { width:100%; }
.content .content-body .text blockquote, .content .content-body .content-image.content-image-right { margin:0 0 2rem; }
.content .content-body .text blockquote { margin:.5rem 0 2rem; font-size:1.5rem; padding:1rem; border-top:5px solid var(--color-corporativo); text-align:center; }
.content .content-body .sidebar { padding-top:1.5rem; margin-bottom:3rem; }
.content .content-body .sidebar .sidebar-menu-item { border-top:1px solid var(--color-dark-075); }
.content .content-body .sidebar .sticky-offset { top:100px; z-index:0; }
.content .content-body .embed { display:grid; margin:2rem 0; }
.content .content-body .embed iframe { width:100%; }
.content.single-col .content-body, .content.single-col .breadcrumb { max-width:1150px; margin-right:auto; margin-left:auto; }

.main-col { margin-bottom:3rem; }
.parallax { height:100%; background-attachment:fixed; background-position:center; background-repeat:no-repeat; background-size:cover; }
.tooltip { font-size:0.8rem; }
.list-group-item { padding:1rem 1.25rem; border:1px solid var(--color-dark-15); }
.list-group.list-group-dark .list-group-item { background-color:var(--color-dark-50); border-radius:0; margin-top:.15rem; font-weight:bold; color:var(--color-lightest); }
.banner .list-group.list-group-dark { max-width:500px; margin:0 auto; }
.row div[class^='col'], .row div[class*=' col'] { position:relative; }

.breadcrumb { display:none; padding:0; margin:1.5rem 0 0; align-items:center; background-color:transparent; color:var(--color-dark-40); font-size:.8rem; line-height:1; }
.breadcrumb-item, .breadcrumb-item.active { line-height:1; color:var(--color-dark-40); }
.breadcrumb .separator { font-size:.7rem; margin:0 .5rem; }

.heading-banner { padding:1rem 0; background-color:var(--color-dark-50); display:flex; align-items:center; position:relative; }
.heading-banner .section-heading { display:flex; align-items:center; justify-content:space-between; }
.heading-banner .section-title { margin-bottom:0; margin-right:1rem; line-height:1; color:var(--color-dark); }
.heading-banner .section-menu-btn, .heading-banner .section-menu-btn:hover, .heading-banner .section-menu-btn:active, .heading-banner .section-menu-btn:focus { width:38px; height:38px; display:inline-flex; -ms-flex-align:center; align-items:center; justify-content:center; border-radius:var(--border-rounded-circle); background-color:var(--color-dark)!important; color:var(--color-corporativo)!important; }
.heading-banner.banner-dark .section-title { color:var(--color-lightest); }
.heading-banner.banner-dark .breadcrumb { color:var(--color-lightest-65); margin:0; padding-left:.35rem; }
.heading-banner.banner-dark .breadcrumb-item a { color:var(--color-lightest); }
.heading-banner.banner-dark .breadcrumb-item, .heading-banner.banner-dark .breadcrumb-item.active { color:var(--color-lightest-65); }
.heading-banner.banner-dark .section-menu-btn, .heading-banner.banner-dark .section-menu-btn:hover, .heading-banner.banner-dark .section-menu-btn:active, .heading-banner.banner-dark.section-menu-btn:focus { background-color:var(--color-lightest)!important; color:var(--color-dark)!important; }

.card-list .card { margin-bottom:30px; }
.card-list .card.card-horizontal { margin-bottom:1.5rem; }
.card-list .card.big-card { margin-bottom:3rem; }
.card { border-radius:var(--border-radius); border:none; box-shadow:0 .125rem .25rem var(--color-dark-075); }
.card .card-title { margin-bottom:0; }
.card .card-image { aspect-ratio:16 / 9; }
.card .card-image iframe { width:100%; height:100%; }
.card .card-body { padding:1.5rem; }
.card .card-body .list-group.list-group-flush .list-group-item { padding:0.75rem 0; }
.card.card-horizontal .card-body, .card.big-card .card-body { padding:0; }
.card.card-horizontal .card-image { width:100%; }

.block-heading .icon { font-size:2.5rem; line-height:1; margin-bottom:.5rem; }

.action-message .icon { font-size:7rem; line-height:1; }

.licencia-block .actions.d-grid.d-sm-flex .btn { width:100%; }
.licencia-block .actions.d-grid.d-sm-flex .btn + .btn { margin-top:1rem; }

.accordion .accordion-item { background-color:var(--color-lightest); border:none; }
.accordion .accordion-item + .accordion-item { border-top:1px solid var(--color-dark-15); }
.accordion .accordion-item-header a { display:flex; padding:1rem; align-items:flex-start; justify-content:space-between; }
.accordion .accordion-item-header a::after { display:block; margin-left:1rem; font-family:var(--tipografia-iconos); font-weight:300; content:'\f078'; font-size:1rem; transition:all 0.2s linear; }
.accordion .accordion-item-header a:not(.collapsed)::after { transform:rotate(-180deg); }
.accordion .accordion-item-body { padding:.25rem 1rem 1rem 1rem; font-size:.9rem; color:var(--bs-secondary-color); }

.error-404 .main-col { padding-top:2rem; padding-bottom:2rem; }
.error-404 .error-number { font-size:10rem; line-height:1; margin-bottom:1rem; }
.error-404 .error-text { max-width:500px; }

.bloque-terminos { max-width:1000px; margin-right:auto; margin-left:auto; padding:1rem; border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); background-color:var(--color-lightest); color:var(--bs-secondary-color); font-size:.9rem; }
.bloque-terminos h1, .bloque-terminos h2, .bloque-terminos h3, .bloque-terminos h4, .bloque-terminos h5, .bloque-terminos h6 { margin-bottom:1.5rem 0 1rem; }
.bloque-terminos p { margin:0 0 1rem; }

/* ++++++++++++++++++++++++++++++ BUTTONS ++++++++++++++++++++++++++++++ */

.btn.focus, .btn:focus { box-shadow:none; }
.btn-corp { color:var(--neutral-10); background-color:var(--color-corporativo); border-color:var(--color-corporativo); }
.btn-corp-1 { color:var(--neutral-10); background-color:var(--color-corporativo-1); border-color:var(--color-corporativo-1); }
.btn-corp-2 { color:var(--neutral-10); background-color:var(--color-corporativo-2); border-color:var(--color-corporativo-2); }
.btn-corp-3 { color:var(--neutral-10); background-color:var(--color-corporativo-3); border-color:var(--color-corporativo-3); }
.btn-corp-4 { color:var(--neutral-10); background-color:var(--color-corporativo-4); border-color:var(--color-corporativo-4); }
.btn-corp:hover, .btn-corp:active, .btn-corp:focus, .btn-light:hover, .btn-light:active, .btn-light:focus,
.btn-corp-1:hover, .btn-corp-1:active, .btn-corp-1:focus, .btn-light-1:hover, .btn-light-1:active, .btn-light-1:focus,
.btn-corp-2:hover, .btn-corp-2:active, .btn-corp-2:focus, .btn-light-2:hover, .btn-light-2:active, .btn-light-2:focus,
.btn-corp-3:hover, .btn-corp-3:active, .btn-corp-3:focus, .btn-light-3:hover, .btn-light-3:active, .btn-light-3:focus,
.btn-corp-4:hover, .btn-corp-4:active, .btn-corp-4:focus, .btn-light-4:hover, .btn-light-4:active, .btn-light-4:focus { color:var(--color-lightest)!important; background-color:var(--color-dark)!important; border-color:var(--color-dark)!important; }
.btn-light { color:var(--color-dark); background-color:var(--color-lightest); border-color:var(--color-lightest); }
.btn-light:hover, .btn-light:active, .btn-light:focus { color:var(--color-lightest); background-color:var(--color-dark); border-color:var(--color-dark); }
.btn-dark { color:var(--color-lightest); background-color:var(--color-dark); border-color:var(--color-dark); }
.btn-dark:hover, .btn-dark:active, .btn-dark:focus { color:var(--color-dark); background-color:var(--color-lightest); border-color:var(--color-lightest); }
.btn-secondary { background-color:var(--color-lighter); border-color:transparent; color:var(--bs-secondary-color); }
.btn-secondary:hover, .btn-secondary:active, .btn-secondary.active, .btn-secondary:focus { background-color:var(--color-corporativo); border-color:var(--color-corporativo); color:var(--color-dark); }
.btn-secondary.btn-secondary-2:hover, .btn-secondary.btn-secondary-2:active, .btn-secondary.btn-secondary-2:focus { background-color:var(--color-dark); border-color:var(--color-dark); color:var(--color-lightest); }
.btn-link { color:var(--color-dark); }
.btn-link:hover, .btn-link:active, .btn-link:focus { color:var(--color-dark); text-decoration:none; }

.btn-xl { padding:1.5rem; font-size:1.25rem; line-height:1; }
.btn-circle, .btn-square { padding:0; width:38px; height:38px; text-align:center; display:inline-flex; -ms-flex-align:center; align-items:center; } 
.btn-circle { border-radius:var(--border-rounded-circle); } 
.btn-circle i, .btn-square i { margin:auto; }
.btn-circle.btn-xl, .btn-square.btn-xl { width:70px; height:70px; }

.btn-outline-dark { color:var(--color-dark); border-color:var(--color-dark); }
.btn-outline-dark:hover, .btn-outline-dark:active, .btn-outline-dark:focus { background-color:var(--color-dark); border-color:var(--color-dark); color:var(--color-lightest); }
.btn-outline-light { color:var(--color-lightest); border-color:var(--color-lightest); }
.btn-outline-light:hover, .btn-outline-light:active, .btn-outline-light:focus { background-color:var(--color-lightest); color:var(--color-dark); }
.btn-outline-corp { color:var(--color-dark); border-color:var(--color-dark); }
.btn-outline-corp:hover, .btn-outline-corp:active, .btn-outline-corp:focus { color:var(--color-dark); background-color:transparent; border-color:var(--color-dark); }

.dropdown .dropdown-toggle::after { vertical-align:.1rem; border:none; font-family:var(--tipografia-iconos); font-weight:300; content:'\f078'; font-size:.5rem; transition:all 0.2s linear; }
.dropdown.show .dropdown-toggle::after { transform:rotate(180deg); }
.dropdown-menu { padding-top:0; padding-bottom:0; border:none; overflow:hidden; margin-top:1rem; box-shadow:0 .5rem 1rem var(--color-dark-15); z-index:1; }
.dropdown-item { padding:1rem; color:var(--color-dark); border-top:1px dashed var(--color-dark-25); }
.dropdown-item:first-child { border-top:none; }
.dropdown-item:hover { background-color:var(--color-dark); color:var(--color-lightest); }

.heading-banner .dropdown-menu { margin-top:1rem!important; }
.heading-banner .section-menu-btn.show i { transform:rotate(90deg); }

/* ++++++++++++++++++++++++++++++ TABS MENU ++++++++++++++++++++++++++++++ */

.nav-pills .nav-link { padding:1rem 0 1rem 1.5rem; border:0; border-radius:0; background-color:transparent; position:relative; font-size:.9rem; font-weight:bold; text-align:left; color:var(--color-dark-40); }
.nav-pills .nav-link.active, .nav-pills .show>.nav-link { color:var(--color-dark); background-color:transparent; }
.nav-pills .nav-link:after { position:absolute; top:0; bottom:0; left:0; content:""; display:block; width:4px; background-color:var(--color-dark-075); }
.nav-pills .nav-link.active:after { background-color:var(--color-corporativo-4); }

.bloque-ayuda .search-form { width:100%; }
.bloque-ayuda #tab-menu .nav-link { width:49%; display:inline-flex; margin-top:.5rem; }
.bloque-ayuda .bloque-centro-ayuda .block-img img { width:100%; }

/* ++++++++++++++++++++++++++++++ FORMS ++++++++++++++++++++++++++++++ */

label { font-size:.9rem; margin-bottom:.5rem; }
label span { color:red; }
.form-group { margin-bottom:1rem; }
.form-control, .form-select { background-color:var(--color-lightest); color:var(--color-dark); border-radius:var(--border-radius); }
.form-control::placeholder { color:var(--color-texto); opacity:.4; }
.form-control::-ms-input-placeholder { color:var(--color-texto); opacity:.6; }
.form-control:-ms-input-placeholder { color:var(--color-texto); opacity:.6; }
.form-control:focus, .form-select:focus { box-shadow:none; border-color:var(--color-corporativo); background-color:var(--color-lightest); }
.form-check-input, .form-check-label { cursor:pointer; }
.form-text, .add-field { margin-top:.5rem; color:var(--color-dark-50); font-size:.8rem; }
.add-field { margin-top:1rem; }
.repeater-field + .repeater-field { margin-top:1rem; }
.check-all .form-check label { margin-bottom:0; }
.form-check-input { background-color:var(--color-dark-075); border-color:transparent; }

.contact-form { max-width:600px; }

/* ++++++++++++++++++++++++++++++ CAROUSEL ++++++++++++++++++++++++++++++ */

.owl-carousel .owl-nav { margin-top:0; display:none; }
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev { position:absolute; top:calc(50% - 16px); font-size:2rem; line-height:1; color:var(--color-dark-15); transition:all 0.2s linear; }
.owl-carousel .owl-nav button.owl-next.disabled, .owl-carousel .owl-nav button.owl-prev.disabled { color:transparent; pointer-events:none; }
.owl-carousel .owl-nav button.owl-prev { left:-2rem; }
.owl-carousel .owl-nav button.owl-next { right:-2rem; }
.owl-carousel .owl-nav button.owl-prev:hover, .owl-carousel .owl-nav button.owl-next:hover, .owl-carousel .owl-nav button.owl-prev:focus, .owl-carousel .owl-nav button.owl-next:focus { color:var(--color-dark-80); outline:none; background-color:transparent; }
.owl-carousel .owl-dots { margin-top:1.5rem; }
.owl-carousel .owl-dots button:focus { outline:none; }
.owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span { background:var(--color-dark); }
.owl-theme .owl-dots .owl-dot span { width:30px; height:5px; margin:10px 3px; background:var(--color-dark); opacity:.25; transition:opacity .6s ease; border-radius:var(--border-radius); }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { opacity:1; }

/* ++++++++++++++++++++++++++++++ COOKIES ++++++++++++++++++++++++++++++ */

.cookies { position:fixed; bottom:0; right:0; width:100%; padding:20px; background-color:#ff8200; background-color:var(--color-dark-80); color:var(--color-lightest); z-index:10; }
.cookies a { color:var(--color-lightest);  text-decoration:underline;}
.cookies .text { padding-top:5px; width:calc(100% - 40px); }
.cookies > a { display:block; margin-right:1em; text-decoration:none; float:left;}

/* ++++++++++++++++++++++++++++++ HEADER ++++++++++++++++++++++++++++++ */

.header { position:relative; background-color:var(--color-corporativo); box-shadow:0 .5rem 1rem var(--color-dark-15); z-index:3; }
.header.fixed-top { position:fixed; top:-70px; transform:translateY(56px); transition:transform.3s; box-shadow:0 .5rem 1rem var(--color-dark-15); }
.header .navbar, .header .navbar-brand { height:70px; }
.header .navbar-brand a, .footer-brand a, .login .navbar-brand a { text-decoration:none!important; }
.header .navbar-brand i { font-size:28px; }

#headermenu { min-height:calc(100vh - 56px); background-color:var(--color-corporativo); }
#headermenu .navbar-nav .nav-link { color:var(--color-dark); }
#headermenu .nav-item { border-top:1px solid var(--color-dark); }
#headermenu .nav-item:first-child, #headermenu .header-portal, #headermenu .header-website, #headermenu .header-user { border-top:none; }
#headermenu .dropdown-menu, #header .header-user .dropdown-menu { background-color:var(--color-corporativo); margin:0; border-top-left-radius:var(--border-radius); border-top-right-radius:var(--border-radius); box-shadow:none; }
#headermenu .dropdown-item:first-child { border-top:1px dashed var(--color-dark-25); }
#headermenu .dropdown .dropdown-toggle::after { float:right; position:relative; top:-.15rem; right:-.25rem; font-size:1.25rem; }
#headermenu .header-search-btn, #headermenu .header-search-close, #headermenu .header-search-submit { width:56px; }
#headermenu #headerSearchCollapse { right:0; width:740px; }

#headermenu .header-portal .login-btn { display:block; background-color:var(--color-corporativo); color:var(--color-dark); padding:1rem; margin-top:1rem; width:100%; border-radius:var(--border-rounded); text-decoration:none; border:1px solid var(--color-corporativo); }
#headermenu .header-portal .login-btn.login-clientes { background-color:var(--color-corporativo-2); border-color:var(--color-corporativo-2); }
#headermenu .header-portal .centro-ayuda-btn { background-color:var(--color-corporativo-4); border-color:var(--color-corporativo-4); }
#headermenu .header-portal .login-btn:hover, #headermenu .header-portal .login-btn:focus { background-color:transparent; border-color:var(--color-lightest); color:var(--color-lightest); text-decoration:none; }
#headermenu .nav-item.header-portal a.nav-link { background-color:var(--color-dark); color:var(--color-lightest); }
#headermenu .nav-item.header-portal.dropdown .dropdown-toggle::after { display:none; }
#headermenu .header-portal .dropdown-menu, #header .header-user .dropdown-menu { left:auto; background-color:var(--color-dark); padding:1rem; border-radius:var(--border-radius); }
#headermenu .header-portal .login-btn, #header .header-user .login-btn { margin-top:0; }
#headermenu .header-portal .btn-login-icon { font-size:2rem; line-height:1; }
#header .header-user { display:flex; width:44px; height:32px; align-items:center; justify-content:flex-start; }
#header .header-user .user-img { display:block; border-radius:var(--border-rounded-circle); overflow:hidden; }
#header .header-user .user-img .bg-img { width:32px; height:32px; }
#header .header-user .dropdown-menu { width:256px; overflow:visible; background-color:var(--color-dark-80); left:auto; }
#header .header-user .dropdown-menu:after { top:-14px; right:26px; border:solid transparent; content:""; height:0; width:0; position:absolute; pointer-events:none; border-color:transparent; border-bottom-color:var(--color-dark-80); border-width:7px; margin-left:-7px; z-index:1; }

.navbar-toggler:focus, .navbar-toggler:active { outline:0; }
.navbar-toggler span { display:block; background-color:var(--color-dark); height:2px; width:25px; margin-top:3px; margin-bottom:3px; -webkit-transform:rotate(0deg); -moz-transform:rotate(0deg); -o-transform:rotate(0deg); transform:rotate(0deg); position:relative; right:0; opacity:1; filter:alpha(opacity=100); }
.navbar-toggler:hover span { background-color:var(--color-dark); }
.navbar-toggler span:nth-child(1), .navbar-toggler span:nth-child(3) { -webkit-transition:transform .35s ease-in-out; -moz-transition:transform .35s ease-in-out; -o-transition:transform .35s ease-in-out; transition:transform .35s ease-in-out; }
.navbar-toggler:not(.collapsed) span:nth-child(1) { position:absolute; right:9px; top:22px; -webkit-transform:rotate(135deg); -moz-transform:rotate(135deg); -o-transform:rotate(135deg); transform:rotate(135deg); opacity:0.9; filter:alpha(opacity=90); }
.navbar-toggler:not(.collapsed) span:nth-child(2) { height:12px; visibility:hidden; background-color:transparent; }
.navbar-toggler:not(.collapsed) span:nth-child(3) { position:absolute; right:9px; top:22px; -webkit-transform:rotate(-135deg); -moz-transform:rotate(-135deg); -o-transform:rotate(-135deg); transform:rotate(-135deg); opacity:0.9; filter:alpha(opacity=90); }

/* ++++++++++++++++++++++++++++++ FOOTER ++++++++++++++++++++++++++++++ */

.footer .footer-brand i { font-size:28px; }
.footer { font-size:.9rem; }
.footer-list { border-left:1px dashed #cdcdcd; }
.footer .menu-list a:hover { margin-left:3px; }
.footer .footer-portal { width:100%; }
.footer .footer-legal-text .row, .footer .footer-legal-logos .row { justify-content:center; }
.footer .footer-legal-logos img { height:40px; width:auto; max-width:100%; }

/* ++++++++++++++++++++++++++++++ HOME ++++++++++++++++++++++++++++++ */

.home .header-banner .banner-content { width:100%; max-width:none; }
.home .header-banner .banner-actions { position:relative; z-index:1; }
.home .header-banner .carousel-indicators { z-index:2; right:auto; margin-left:0; margin-right:0; }
.home .header-banner .carousel-indicators li { height:5px; }
.home .header-banner .carousel-indicators li:hover { opacity:1; }
.home .header-banner .carousel-control-next, .home .header-banner .carousel-control-prev { width:10%; }
.home .header-banner .carousel-control-prev-icon, .home .header-banner .carousel-control-next-icon { background-image:none; font-size:2rem; height:32px; color:var(--color-lightest); }
.home .header-banner .logo-block, .home .header-banner .text-block { min-height:215px; }
.home .header-banner .logo img { max-width:165px; max-height:165px; }

.banner .banner-content { max-width:800px; margin:auto; }
.banner .input-group-lg .form-control { background-color:var(--color-lightest); border-color:var(--color-lightest); height:auto; padding:1rem 0 1rem 1.15rem; }
.banner .input-group-lg .form-control::placeholder { color:var(--color-dark-50); }
.banner .input-group-lg .form-control:focus { box-shadow:none; border-color:var(--color-lightest); background-color:var(--color-lightest); }
.banner .input-group-lg .btn { padding:1rem 1.15rem; }
.banner .btn-circle.btn-lg { width:50px; height:50px;line-height:50px; }
.banner .btn-circle.btn-lg:hover { color:var(--color-dark); }

.centro-ayuda.ayuda-home .banner.heading-ayuda .banner-content {
  position: relative;
  top: 2rem;
  max-width: 600px;
  text-align: center;
}


.block-list.why-list .block { margin-top:3rem!important; }
.block-list .card-img-top { margin-top:-4.5rem; }
.block-list .icon-block { background-color:var(--color-corporativo); width:100px; height:100px; }
.block-list .icon-block i { font-size:2.75rem; }

.why-join .block-heading .subtitle { max-width:700px; margin:auto; }

/* ++++++++++++++++++++++++++++++ LOGIN PAGE ++++++++++++++++++++++++++++++ */

.login .navbar-brand i { font-size:34px; }
.login a:not(.btn) { text-decoration:underline; }
.login a:not(.btn):hover { text-decoration:none; }
.login .col-header, .login .col-content { display:flex; flex-direction:column; padding:3rem; }
.login .col-content .heading h1:not(.main-header), .login .col-content .heading h2:not(.main-header), .login .col-content .heading h3:not(.main-header), .login .col-content .heading h4:not(.main-header), .login .col-content .heading h5:not(.main-header), .login .col-content .heading h6:not(.main-header) { font-weight:bold; margin-top:3rem; }
.login .col-content .heading h1:not(.main-header), .login .col-content .heading h2:not(.main-header), .login .col-content .heading h3:not(.main-header), .login .col-content .heading h4:not(.main-header) { margin-top:4rem; }
.login .col-content .heading { margin-bottom:2rem; }
.login .col-content .field-group { margin-bottom:1.5rem; }
.login .col-content .legend { margin-top:3rem; color:red; }
.login .col-content .actions { margin-top:1.5rem; }
.login .col-content .navigation { margin-top:4rem; }
.login .col-content .content-body { width:100%; max-width:1000px; margin:auto; }
.login .login-form { width:100%; }
.login .login-form form { max-width:450px; margin:auto; }
.login .login-form label { font-size:1rem; }
.login .login-form .form-control { border-radius:var(--border-radius); border-top:none; border-left:none; border-right:none; margin-top:.5rem; padding:.5rem; height:100%; }
.login .login-form .form-control::placeholder { color:var(--color-texto); opacity:.3; }
.login .login-form .form-control::-ms-input-placeholder { color:var(--color-texto); opacity:.3; }
.login .login-form .form-control:-ms-input-placeholder { color:var(--color-texto); opacity:.3; }
.bloque-terminos { height:300px; overflow:auto; text-align:justify; }
.login .user-data { padding:.25rem 0; }
.login .col-label { width:150px; font-size:.9rem; }
.login .col-value { font-weight:bold; }
.login .toggle-persona { margin-top:2rem; }
.login .form-header { padding:1.75rem; background-color:var(--color-lighter); border-radius:var(--border-rounded-xl); text-align:center; margin-bottom:3.5rem; }
.login .form-header .title { font-size:1.75rem; line-height:1.25; }
.login .form-header .description { margin-top:.5rem; color:var(--color-dark-50); }
.login .form-header.success .icon { margin-bottom:1rem; font-size:5rem; line-height:1; }
.login .grey-block { padding:1.5rem; background-color:var(--color-light); border-radius:var(--border-rounded-xl); }
.login .upload-block { padding:1.5rem; border-radius:var(--border-rounded-xxl); border:3px dashed var(--color-dark-25); text-align:center; margin-bottom:.5rem; }

.stepper { display:flex; counter-reset:css-counter 0; margin-bottom:4rem; }
.stepper-item { display:flex; flex-direction:column; flex:1; text-align:center; counter-increment:css-counter 1; }
.stepper-item:before { content:counter(css-counter); display:block; width:36px; height:36px; border-radius:50%; background-color:var(--color-dark-15); margin:0 auto 1rem; font-size:1rem; line-height:36px; font-weight:bold; color:var(--color-lightest); }
.stepper-item:after { content:""; position:relative; top:calc(36px / 2); width:calc(100% - 36px - calc(.5rem * 2)); left:calc(50% + calc(36px / 2 + .5rem)); height:2px; background-color:var(--color-dark-15); order:-1; }
.stepper-item:last-child:after { width:0px; height:2px; visibility:hidden; }
.stepper-item .stepper-title { font-size:1rem; color:var(--color-dark-15); display:none; }
.stepper-item.passed:before, .stepper-item.passed:not(:last-child):after { background-color:var(--color-corporativo); color:var(--color-dark); }
.stepper-item.passed .stepper-title { color:var(--color-dark); }

/* ++++++++++++++++++++++++++++++ PORTALES SERVICIOS ++++++++++++++++++++++++++++++ */

.portal .header:not(.fixed-top) { box-shadow:none; }
.portal #header .header-portal, .portal .footer { --color-corporativo:#f7d00e; }
.portal .heading-banner .breadcrumb { margin-top:0; }

.portal.pagina-clientes .main-col, .portal-clientes { --color-corporativo:var(--color-corporativo-2); }

.centro-ayuda { --color-corporativo:var(--color-corporativo-4); }
.centro-ayuda.ayuda-home .heading-banner { margin-bottom:.5rem; padding:0; }
.centro-ayuda.ayuda-home .heading-banner .banner-content { position:relative; top:2rem; max-width:600px; text-align:center; }
.centro-ayuda .heading-banner .banner-content { max-width:none; }
.centro-ayuda .card-list .card .card-title h4 { position:relative; }
.centro-ayuda .card-list .card .card-title h4:after { position:absolute; top:0; bottom:0; left:-1.5rem; content:""; display:block; width:4px; background-color:var(--color-corporativo); }
.centro-ayuda .satisfaction .btn { width:100%; }

.repertoire .search-bar .form-control { background-color:var(--color-lightest-85); border-color:var(--color-lightest-85); border-radius:var(--border-radius); }
.repertoire .search-bar .form-control::placeholder { color:var(--color-dark-80); opacity:1; }
.repertoire .search-bar .form-control:focus { box-shadow:none; border-color:var(--color-lightest); background-color:var(--color-lightest); }
.repertoire .search-bar .search-field .form-control { height:auto; padding:.75rem 1rem; }
.repertoire .search-bar .btn { padding:.75rem 1rem; border-radius:var(--border-radius); }
.repertoire .search-bar .advanced-search-btn.collapsed i { transform:rotate(180deg); }
.repertoire .repertoire-item .row { position:relative; }
.repertoire .repertoire-item .authors .label { width:67px; }
.repertoire .repertoire-item .full-data .data-block { max-width:650px; }
.repertoire .repertoire-item .full-data .data-block + .data-block { margin-top:1.5rem; }
.repertoire .repertoire-item .full-data .row { border-top:1px solid var(--color-dark-075); }
.repertoire .repertoire-item .full-data .col, .repertoire-item .full-data .col-auto { padding-top:.5rem; padding-bottom:.5rem; }
.repertoire .repertoire-item .full-data .col-auto.role { width:170px; }
.repertoire .repertoire-item .full-data .col-auto.code { width:110px; }
.repertoire .repertoire-item .title { width:calc(100% - 40px - 1.5rem); }
.repertoire .repertoire-item .player { position:absolute!important; top:1rem; right:1rem; }
.repertoire .repertoire-item .player .btn-circle.btn-xl { width:40px; height:40px; }
.repertoire .repertoire-item .metadata .label { font-size:.7rem; color:var(--color-dark-50); }
.repertoire .repertoire-item .metadata .badge { border-radius:var(--border-pills); background-color:var(--color-lighter); color:var(--bs-secondary-color); font-weight:normal; }
.repertoire .repertoire-item .more i { transition:all 0.2s linear; }
.repertoire .repertoire-item .more:not(.collapsed) i { transform:rotate(-180deg); }

@media screen and (min-width:576px) {
	.licencia-block .actions.d-grid.d-sm-flex .btn { width:auto; }
	.licencia-block .actions.d-grid.d-sm-flex .btn + .btn { margin-top:0; }
	.cartas .carta .icon { font-size:3rem; }
	.footer .footer-portal { max-width:300px; }
	.content-block { padding-top:4rem; padding-bottom:4rem; }
	.bloque-ayuda #tab-menu { width:190px; }
	.bloque-ayuda #tab-menu .nav-link { width:100%; margin-top:0; }
	.login .validation-field { max-width:350px; }
	.home .header-banner .carousel { min-height:450px; }
	.home .header-banner .slide-block { width:100%; max-width:800px; }
	.home .header-banner .banner-actions { position:absolute; left:0; right:0; bottom:0; }
	.banner .input-group-lg .form-control { background-color:var(--color-lightest); border-color:var(--color-lightest); height:auto; padding:1rem 0 1rem 1.15rem; min-width:300px; }
	.centro-ayuda .heading-banner .search-form input { min-width:275px; }
	.stepper-item .stepper-title { display:flex; flex-direction:column; }
	.repertoire .repertoire-item .title { width:100%; }
	.repertoire .repertoire-item .player { position:relative!important; top:0; right:auto; }
	.repertoire .repertoire-item .player .btn-circle.btn-xl { width:62px; height:62px; }
}

@media screen and (min-width:768px) {
	.content-body.content-block { padding-top:2.5rem; }
	.content .content-body .text ul, .content .content-body .text ol { display:grid; }
	.content .content-body .text blockquote, .content .content-body .text .content-image.content-image-right { float:right; max-width:45%; margin:0 0 2rem 2.5rem; }
	.content .title h1 { font-size:2.5rem; }
	.card.card-horizontal .card-image { max-width:200px; }
	.bloque-ayuda .search-form .input-group { max-width:300px; }
	.login .login-form { margin:0; }
	.home .about-us .title h2 { font-size:2.5rem; }
	.centro-ayuda .satisfaction .btn { width:auto; }
}

@media screen and (min-width:992px) {
	.error-404 .main-col { padding-top:5rem; padding-bottom:5rem; }
	.error-404 .error-number { font-size:15rem; line-height:12rem; margin-bottom:0; }
	#headermenu { min-height:0; height:auto; }
	#headermenu .nav-item { display:flex; align-items:center; border-top:none; }
	#headermenu .header-search-btn:hover { background-color:var(--color-dark)!important; color:var(--color-lightest); }
	#headermenu .dropdown .dropdown-toggle::after { top:.45rem; left:.2rem; right:auto; font-size:.5rem; font-weight:600; }
	#headermenu .nav-item .dropdown-menu { box-shadow:0 .5rem .2rem var(--color-dark-15); left:.5rem; }
	#headermenu .header-portal .dropdown-menu { background-color:var(--color-dark-80); width:375px; left:auto; }
	#header .header-user { width:56px; height:56px; justify-content:center; background-color:var(--color-dark); }
	.footer .footer-legal { border-top: 1px solid var(--color-dark-15); }
	.footer .footer-legal-text .row, .footer .footer-legal-logos .row { justify-content:left; }
	.content .content-body .sidebar { padding-top:0; }
	.content .content-body .sidebar .sticky-offset { margin-top:1.5rem; }
	.content .breadcrumb + .content-body .sidebar .sticky-offset { margin-top:0; }
	.bg-img-16-9 { aspect-ratio:inherit; }
	.heading-banner { padding:1.5rem 0; }
	.heading-banner .section-heading { justify-content:flex-end; }
	.heading-banner .section-menu-btn { margin-right:1rem; }
	.breadcrumb { display:block; }
	.heading-banner .section-heading { margin-top:.5rem; }
	.bloque-ayuda .bloque-centro-ayuda { width:380px; max-width:100%; margin:0 auto; }
	.login .col-header, .login .col-content { height:100vh; overflow:auto; align-items:flex-start; }
	.login .col-header { width:400px; }
	.home .header-banner .logo-block { min-height:240px; }
	.social-banner .btn-circle.btn-lg { width:65px; height:65px;line-height:65px; }
	.portal .heading-banner { padding-top:.5rem; }
	.centro-ayuda:not(.ayuda-home) .heading-banner { padding-top:1.5rem; }
	.centro-ayuda.ayuda-home .heading-banner .banner-content { padding-top:1.5rem; }
}

@media screen and (min-width:1200px) {
	.container-xxl { max-width:1500px; width:100%; padding-right:15px; padding-left:15px; margin-right:auto; margin-left:auto; }
	.content .content-body .sidebar { width:230px; margin-left:1rem; padding-left:2.5rem; }
	.content .content-body .sidebar-lg { width:350px; }
	.owl-carousel .owl-nav { display:block; }
	.owl-carousel .owl-dots { display:none; }
	.login .col-content { padding:3rem 6rem; }
	.login .form-header.success { padding:3rem; }
	.stepper-item:before { width:48px; height:48px; font-size:1.25rem; line-height:48px; }
	.stepper-item:not(:last-child):after { top:calc(48px / 2); width:calc(100% - 48px - calc(.5rem * 2)); left:calc(50% + calc(48px / 2 + .5rem)); }
}

.hc-section {
	margin-top: 48px;
}
.login-prompt {
	display: flex;
    flex-direction: column;
    align-items: center;
}