/* html {
    overflow-x: hidden;
} */

html, body:not(.show-main, .modal-open, .com-jbshows) {
    height: 100%;
    /* min-height: 100vh; */
}

html, body, .body-wrapper {
    min-height: 100vh;
}

a {
    color: var(--bs-link-color);
    text-decoration: none;
}



/* a, */
a:hover,
a:active {
    color: var(--bs-link-hover-color);
    /* text-decoration: none */
}



h1 {
    font-size: var(--tpl-h1-font-size);
}
h2 {
    font-size: var(--tpl-h2-font-size);
}
h3 {
    font-size: var(--tpl-h3-font-size);
}

.fas, .fa-classic, .fa-solid, .far, .fa-regular, [class^=fa-], [class*=\ fa-],
[class^=icon-], [class*=\ icon-] {
    /* width: 16px; */
    text-align: center;
}

.dropdown-toggle::after {
	width: 8px;
}

body:not(.layout-modal) {
    color: var(--tpl-body-color);
    background-color: var(--tpl-body-bg);
}

/* body.modal-open {
    height: auto;
} */

.body-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.show-main .body-wrapper {
    overflow-x: hidden !important;
}

.menu {
    list-style: none;
    padding   : 0;
    margin    : 0
}

body.transparent-header #top-bar {
    background: transparent;
    position: absolute;
    width: 100%;
    /* z-index: 99; */
}

body.transparent-header #header:not(.header-sticky) {
    /* position: absolute; */
    background: transparent;
    top: 40px;
    border-bottom: none;
    box-shadow: none;
}

#top-bar {
    background: var(--tpl-top-bg);
    color: var(--tpl-top-text-color);
    z-index: 999;
}

@media (min-width: 576px) {
    #top-bar {
        line-height: 40px;
    }
}

#top-bar a {
    color: var(--tpl-top-text-color-link, var(--tpl-menu-text-color-link));
}

#top-bar a:hover, #top-bar a:active {
    color: var(--tpl-top-text-color-hover, var(--tpl-menu-text-color-hover));
}

#top-bar #top2 .module,
#header-bar .module {
    display: inline-block;
}
#top-bar #top2 .module:not(:first-child),
#header-bar .module:not(:first-child),
#top-bar [class*="mod-"]:not(:first-child) {
    margin : 0 0 0 0.75rem;
}

#top-bar ul:not(.dropdown-menu), #top-bar ul.menu li,
#header-bar div,
#header-bar ul:not(.dropdown-menu), #header-bar ul.menu li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

#top-bar ul.contact-info li:not(:first-child) {
    margin-left: 16px;
}

#top-bar ul.menu li a,
#header-bar ul.menu li a {
    display: block;
    padding: 0 10px;
}

/* MODULE */
#top-bar [class*="mod-"] {
    display: inline-block;
}
#top-bar [class*="mod-"] p {
    margin-bottom: 0;
}
.mod-languages a {
    padding: 6px;
}

/* div.mod-languages li {
    margin: 0 !important;
}
div.mod-languages ul li.lang-active {
    background-color: inherit !important;
} */

#top-bar + #header {top: 40px;}
#top-bar + #header.header-sticky {top: 0;}

#header {
    height    : var(--tpl-header-height);
    width     : 100%;
    position  : absolute;
    z-index   : 99;
    background: var(--tpl-header-bg);
    box-shadow: var(--tpl-box-shadow-bottom);
    border-bottom: 1px solid var(--bs-border-color);
    animation : spFadeIn 0.5s;
}

#header-bar {
    height    : 50px;
    line-height    : 50px;
    text-align: right;
}

#header.header-sticky #header-bar {
    display: none;
}

#offcanvas-toggler {
    display    : inline-flex;
    align-items: center;
    height     : var(--tpl-header-menu-height);
    font-size  : 24px
}

#offcanvas-toggler .fa-bars {
    width: 21px;
}

#header.header-sticky #offcanvas-toggler {
    height     : 60px;
}

#header #offcanvas-toggler {
    color: var(--tpl-offcanvas-color);
}
body #header #offcanvas-toggler:hover {
    color: var(--tpl-menu-text-color-hover);
}

/* .offcanvas-init {
    overflow-x: hidden;
    position  : relative
} */

#offcanvas-toggler.offcanvas-toggler-right {
    float      : right;
    padding-left: 15px
}

#offcanvas-toggler.offcanvas-toggler-left {
    width: 36px;
    float       : left;
    padding-right: 15px
}


/* .btn-primary,
.sppb-btn-primary {
    background-color: var(--bs-link-color) !important;
    border-color: var(--bs-link-color) !important;
}

.btn-primary:hover,
.sppb-btn-primary:hover {
    background-color: var(--bs-link-hover-color) !important;
    border-color: var(--bs-link-hover-color) !important;
} */




/* Cabecera especial tamany logo */
.logo-image {
    width: 100%;
    height: var(--tpl-logo-height);
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}
#header.header-sticky {
  height: 60px;
  animation: spFadeInDown 300ms;
}

#header.header-sticky .logo {
    display: flex;
    height: 60px;
}

/* #header.header-sticky .logo-image {
    height: 48px;
} */

/* @media (max-width: 575px) {
    #header:not(.header-sticky) .logo-image {max-height: 48px;}
} */

#header.header-sticky .logo-image  {
   max-height: 52px;
}
/* @media (min-width: 575px) {
    #header:not(.header-sticky) .logo {
        margin-top: var(--tpl-logo-margin-top);
    }
} */
#header.header-sticky .megamenu-parent > li > a, #header.header-sticky .megamenu-parent > li > span {
    line-height: 60px;
}
#header .megamenu-parent > li .dropdown {
    line-height: 24px;
}
/* #header:not(.header-sticky) .logo {
    position: absolute;
    top: -20px;
} */
/* @media (max-width: 575px) {
	.logo-image {height: 48px;}
	body.transparent-header #header:not(.header-sticky) .logo {
	    top: -5px;
	}
} */
/**/







#header .logo {
    display: flex;
    height: var(--tpl-header-height);
    margin     : 0;
    align-items: center
}

/* #header .logo {
    font-size  : 24px;
    line-height: 1;
    margin     : 0;
    padding    : 0
} */
#header .logo-text {
    font-size: 24px;
    height: 60px;
    line-height: 1.2;
    display: flex;
    align-items: center;
}
#header:not(.header-sticky) .logo-text,
#header:not(.header-sticky) #menu {
    height: var(--tpl-header-menu-height);
}
#header .logo-slogan {
    font-size: 70%;
}

#header .logo p {
    margin: 5px 0 0
}

#header.header-sticky {
    position : fixed;
    top      : 0;
    left     : 0;
    width    : 100%;
    animation: spFadeInDown 0.5s
}

/* #header .module {
    margin-left: 20px
} */





/* #menu.menu-center .megamenu-wrapper {
    justify-content: center
} */


#header:not(.header-sticky) #menu > ul > li:not(.has-child) {
    line-height: var(--tpl-header-menu-height);
}

#header.header-sticky {
    line-height: 60px;
}

.megamenu-parent {
    list-style: none;
    padding   : 0;
    margin-bottom: 0;
    z-index   : 99;
    position  : relative;
}

/* .megamenu-parent .menu-item>a img,
.megamenu-parent .menu-item>span img {
    display: inline-block
} */

.megamenu-parent>li {
    display : inline-block;
    position: relative;
    padding : 0
}

/* .megamenu-parent>li.menu-justify {
    position: static
} */

.megamenu-parent li>a,
.megamenu-parent li>span {
    color: var(--tpl-menu-text-color-link);
    padding: 8px 20px;
}

.megamenu-parent li:hover>a,
.megamenu-parent li:hover>span,
.megamenu-parent li.active:hover>a {
    color: var(--tpl-menu-text-color-hover);
}

.megamenu-parent li.active>a,
.megamenu-parent li.active>span {
    color: var(--tpl-menu-text-color-active);
}

.megamenu-parent>li>a,
.megamenu-parent>li>span {
    display    : inline-block;
    padding    : 0 15px;
    line-height: var(--tpl-header-menu-height);
    font-size  : var(--tpl-menu-text-font-size);
    margin     : 0;
}

/* .megamenu-parent>li:last-child>a {
    padding: 0px 0px 0px 15px
} */

.megamenu-parent>li.active>a {
    font-weight: 500
}

/* .megamenu-parent>li .menu-badge {
    height        : 20px;
    line-height   : 20px;
    padding       : 0 5px;
    font-size     : 10px;
    letter-spacing: 1px;
    display       : inline-block;
    text-transform: uppercase;
    background    : #d60000;
    color         : #fff;
    border-radius : 3px
} */

/* .megamenu-parent .module {
    padding: 10px
} */

.megamenu-parent .mega-group {
    list-style: none;
    padding   : 0;
    margin    : 0
}

.megamenu-parent .mega-group>li>a {
    display       : block;
    /* text-transform: uppercase; */
    /* font-size     : 14px;
    font-weight   : 600; */
    /* margin-bottom : 10px; */
}

.megamenu-parent .mega-group .mega-group-child {
    list-style: none;
    padding   : 0;
    margin    : 0
}



/* .megamenu-parent.menu-animation-fade-up .has-child:hover>.dropdown {
    animation: spFadeInUp 400ms ease-in
}

.megamenu-parent.menu-animation-fade-down .has-child:hover>.dropdown {
    animation: spFadeInDown 400ms ease-in
}

.megamenu-parent.menu-animation-zoom .has-child:hover>.dropdown {
    animation: spZoomIn 300ms
}

.megamenu-parent.menu-animation-rotate .has-child:hover>.dropdown {
    animation: spRotateIn 300ms
}

.megamenu-parent.menu-animation-pulse .has-child:hover>.dropdown {
    animation: spPulse 300ms
} */

/* .offcanvas-menu .hide-on-offcanvas {
    display: none !important
} */

/* .offcanvas-menu .fa,
.offcanvas-menu .fab,
.offcanvas-menu .far,
.offcanvas-menu .fas {
    color: #252525
}

.offcanvas-menu .offcanvas-inner ul.menu li.active a {
    color: #0345BF !important
} */

body.ltr .megamenu-parent>li.has-child>a:after,
body.ltr .megamenu-parent>li.has-child>span:after {
    font-family: "Font Awesome 6 Free";
    content    : "\f107";
    float      : right;
    margin-left: 7px;
    font-weight: 900;
}

body.ltr .megamenu-parent>li .menu-badge.menu-badge-right {
    margin-left: 5px
}

body.ltr .megamenu-parent>li .menu-badge.menu-badge-left {
    margin-right: 5px
}


.hidden {display: none;}

.card {border: 1px solid var(--bs-border-color);}
.card, .table {
    background: var(--tpl-box-bg);
    box-shadow: var(--tpl-box-shadow);
}

/* .btn-outline-secondary, */
.check-group {
    background: var(--tpl-box-bg);
}
/* .check-group-inline .form-check {
    display: inline-block;
    margin-right: 1rem;
} */

body:not(.layout-modal) input[type="text"]:not(.form-control),
body:not(.layout-modal) input[type="email"]:not(.form-control),
body:not(.layout-modal) .form-control {
    color: var(--tpl-body-color);
}

body:not(.layout-modal) input[type="text"]:not(.form-control),
body:not(.layout-modal) input[type="email"]:not(.form-control),
body:not(.layout-modal) .form-control,
/* .form-control, */
body:not(.layout-modal) .list-group-item,
body:not(.layout-modal) .input-group-text {
    background-color: var(--tpl-box-bg);
}
body:not(.layout-modal) .list-group-item {
    color: var(--bs-link-color);
    border: var(--bs-list-group-border-width) solid var(--bs-border-color);
}

body:not(.layout-modal) .list-group-item:hover,
body:not(.layout-modal) .list-group-item:active {
    color: var(--bs-link-hover-color);
}

.form-control:disabled {
    opacity: 0.5;
}

.form-group {
    margin-bottom: 1rem;
}
.form-control {
    border: 1px solid var(--bs-border-color);
    /* border-color: var(--bs-border-color); */
}




/* MODULE HEADER */
@media (min-width: 576px) {
#header .mod-jblogin {
    padding-left: 10px;
}
}
#header .mod-jblogin button.rounded-circle {
    width: 42px;
    height: 40px;
}

#head {min-height: 150px;}

#main-body {
    margin-bottom: auto;
}

body:not(.transparent-header) #main-body {
    /* padding: 40px 0; */
    padding-top: calc(var(--tpl-header-height) + 40px);
    /* padding-bottom: 40px; */
}

body:not(.com_sppagebuilder):not(.transparent-header) #main-body {
    padding-bottom: 40px;
}

body:not(.com_sppagebuilder):not(.transparent-header) section + #main-body,
body:not(.transparent-header).com_sppagebuilder .page-header + #main-body {
    padding-top: 40px;
}

body:not(.transparent-header).com_sppagebuilder .page-header {
    padding-top: calc(var(--tpl-header-height) + 40px);
}

body:not(.com_sppagebuilder):not(.transparent-header) section:first-of-type,
body:not(.transparent-header).com_sppagebuilder #main-body {
    padding-top: calc(var(--tpl-header-height));
}

/* SP-PAGEBUILDER */
@media (min-width: 1400px) {
    .com_sppagebuilder .sppb-row-container {
        max-width: 1320px;
    }
}

/* body:not(.transparent-header) #header.header-sticky+section {
    padding-top: calc(var(--tpl-header-sticky-pd-top) + 40px);
}
body:not(.transparent-header) #header.header-sticky+section:not(#main-body) {
    padding-top: var(--tpl-header-sticky-pd-top);
} */



/* .blog p, .item p {
    text-align: justify;
} */

.control-group {margin: 0 0 1rem 0;}
.control-group .control-label {padding-bottom: 0.5rem;}
.control-group .input-group-text .fas {width: 18px;}



/* body:not(.com_sppagebuilder) #main-body main {padding-bottom: 50px;} */

#left .module,
#right .module,
.modules .module {
    /* padding      : 30px 0 0 0; */
    border       : 1px solid var(--bs-border-color);
    padding      : 16px;
    border-radius: 0.375rem;
    box-shadow: var(--tpl-box-shadow);
    background: var(--tpl-box-bg);
}

#left .module:not(last-child),
#right .module:not(last-child),
.modules .module:not(last-child) {
    margin-bottom: 50px;
}

#left .module .module-title,
#right .module .module-title,
.modules .module .module-title {
    margin        : 0 0 30px;
    padding-bottom: 10px;
    font-size     : 22px;
    font-weight   : 700;
    border-bottom : 1px solid var(--bs-border-color);
}

#left .module ul>li,
#right .module ul>li {
    display      : block;
    border-bottom: 1px solid var(--bs-border-color);
}

#left .module ul>li>a,
#right .module ul>li>a {
    display    : block;
    padding    : 5px 0;
    line-height: 36px;
    padding    : 2px 0
}

@media (min-width: 576px) {
    #left .module,
    #right .module,
    .modules .module {
        /* border       : 1px solid var(--bs-border-color); */
        padding      : 30px;
        /* border-radius: 0.375rem;
        box-shadow: var(--tpl-box-shadow); */
    }
    #left .module .module-title,
    #right .module .module-title,
    .modules .module .module-title {
        padding-bottom: 20px;
    }
}

img {
    max-width: 100%;
    height: auto;
}
.images {
	margin-bottom: 1rem;
}
.images .featured,
.images img {
	width: 100%;
}
.images a:hover {
	opacity: 0.9;
}

@media (min-width: 768px) {
    .img-start {
        float: left;
        margin-right: 1.5rem;
    }
    .img-end {
        float: right;
        margin-left: 1.5rem;
    }
}

@media (max-width: 768px) {
    .images {
        margin-left: auto;
        margin-right: auto;
    }
}




















