.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler::after,
body.ltr .sp-megamenu-parent > li.sp-has-child > a::after, 
body.ltr .sp-megamenu-parent > li.sp-has-child > span::after {
  font-family: "Font Awesome 5 Free"; 
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a {
	color: var(--primary_color);
}
#sp-header input[type="text"] {
	width: 100%;
	height: 56px;
	line-height: 20px;
	border-radius: 4px;
	background: #ffffff;
	outline: none;
	border: 1px solid #ffffff;
	font-size: 16px;
	padding: 25px 25px 20px 25px;
}
.sppb-btn-custom {
	border-radius: 4px;
	font-weight: 500;
	padding: 16px 30px;
	transition: all 0.3s ease-out 0s;
}
.sppb-btn-custom:hover {
	box-shadow: 0px 10px 24px 0px rgba(4, 23, 118, 0.3) !important;
	transition: all 0.3s ease-out 0s;
}
.js-finder-searchform .awesomplete {
	width: 100%;
}
#sp-top1,
.header__category {
	display: flex;
	justify-content: flex-start;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  box-shadow: 0px 10px 20px 0px rgba(8, 0, 42, 0.08);
  padding: 20px 27px;
  border-radius: 4px;
}

#sp-header {
	box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0);
}
#sp-header.grey {
	background-color: var(--grey_color);
}
.mr-30 {
  margin-right: 30px;
}
.category__title a {
	color: var(--dark_color);
}
.category__item:hover a {
	color: #ffffff;
}
.sp-megamenu-parent .sp-dropdown {
	z-index: 99999;
}
/**/
.splms-course-info h3 {
	font-size: 20px !important;
	font-weight: 600 !important;
	padding-bottom: 10px;
}

.splms-course-info small {
  position: absolute;
  top: 20px;
  left: 35px;
}
.mod-splms-courses .splms-course.splms-match-height {
	box-shadow: 0px 30px 40px 0px rgba(1, 11, 60, 0.06);
	background: #ffffff;
}
.splms-course.splms-match-height {
	border-radius: 6px;
	border: 1px solid #f0f0f5;
}
.splms .splms-common-overlay-wrapper {
   border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}
.splms .splms-common-overlay-wrapper {
	box-shadow: 0px 30px 40px 0px rgba(1, 11, 60, 0.06);
	background: #ffffff;
}
.no-info .splms-course-discount-price,
.no-info .splms-course-short-info {
	display: none;
}
.splms-course-info small {
	border-radius: 4px;
	padding: 3px 6px;
}
.lmss-1 .splms-course-info small {
background: #b128ff;
color: #ffffff;
}
.lmss-2 .splms-course-info small {
background: #3b60ff;
color: #ffffff;
}
.lmss-3 .splms-course-info small {
background: #5744cb;
color: #ffffff;
}
.lmss-4 .splms-course-info small {
background: #30a820;
color: #ffffff;
}

.lmss-5 .splms-course-info small {
background: #3b60ff;
color: #ffffff;
}
.lmss-6 .splms-course-info small {
background: #ffa507;
color: #ffffff;
}
.lmss-7 .splms-course-info small {
background: #fa7919;
color: #ffffff;
}
.lmss-8 .splms-course-info small {
background: #f2277e;
color: #ffffff;
}

.lmss-9 .splms-course-info small {
background: #5744cb;
color: #ffffff;
}
.lmss-10 .splms-course-info small {
background: #30a820;
color: #ffffff;
}
.lmss-11 .splms-course-info small {
background: #fa7919;
color: #ffffff;
}
.lmss-12 .splms-course-info small {
background: #3b60ff;
color: #ffffff;
}

.splms-sale-price {
	font-size: 20px;
	font-weight: 600;
	padding-right: 5px;
	color: var(--dark_color);
}
.splms-course-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.splms .splms-common-overlay-wrapper .btn {
	padding: 15px 35px;
	background: #ffffff;
	color: var(--primary_color);
	border-color: transparent;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease-out 0s;
}
.splms .splms-common-overlay-wrapper .btn:hover {
	background: #ffffff;
	color: var(--primary_color);
	border-color: transparent;
	box-shadow: 0px 10px 24px 0px rgba(4, 23, 118, 0.3) !important;
	transition: all 0.3s ease-out 0s;
}
.splms-course-meta {
	padding-top: 15px;
	border-top: 1px solid #f0f0f5
}
.splms-course-meta li:first-child {
	text-align: left;
}
.splms-course-meta li:last-child {
	text-align: right;
}
.splms-course-meta ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
.splms-courses-filters-top input[type="text"]:not(.form-control) {
	padding: 8px 20px !important;
	border-radius: 6px;
	border: 1px solid #f0f0f5;
	font-size: 16px !important;
}

.splms-courses-filters-top .filter-toggler {
	padding: 11px 15px;
	border-radius: 6px;
	border: 1px solid #f0f0f5;
	font-size: 16px !important;
}
.splms .btn-primary:hover {
	background-color: var(--primary_color);
	border-color: var(--primary_color);
	box-shadow: 0px 10px 24px 0px rgba(4, 23, 118, 0.3) !important;
	transition: all 0.3s ease-out 0s;
}
.splms .btn-primary {
	padding: 11px 25px;
	border-radius: 6px;
	background-color: var(--primary_color);
	border-color: var(--primary_color);
}
.splms-sidebar.rightsidebar .splms-course-filter-types,
.splms-sidebar.rightsidebar .splms-course-filter-levels,
.splms-sidebar.rightsidebar .splms-course-filter-categories {
	border-radius: 4px;
	padding: 27px 30px;
	background: #f3f4f8;
	margin-bottom: 3px;
	margin-top: 30px;
}
.splms-sidebar.rightsidebar ul.splms-filter-items {
  list-style: none;
  padding-left: 0;
}
.splms-sidebar.rightsidebar input[type="text"]:not(.form-control) {
	background: #f3f4f8;
	border: 1px solid #f3f4f8;
	padding: 20px 25px !important;
}
.splms-sidebar.rightsidebar h3.sidebar-title {
	display: none;
}
.splms-sidebar.rightsidebar h4 {
	font-size: 20px;
	margin-bottom: 27px;
	text-transform: capitalize;
}

.splms-sidebar.rightsidebar .splms-buttons-group {
	margin-top: 30px;
}
.splms.course-details .course-header h2.course-title {
	font-size: 45px;
	line-height: 1.1;
	margin-top: 12px;
	font-weight: 700;
}
.splms .splms-img-responsive {
	width: 100%;
}
.apply-now {
	margin-bottom: 20px;
}
.mod-splms-course-price .splms-price-box del {
	display: inline-block;
	opacity: .3;
	font-size: 90%;
	color: var(--body_color);
	font-weight: 500 !important;
}
.mod-splms-course-price .splms-price-box del span {
    text-decoration: line-through;
	color: var(--body_color);
	font-weight: 500 !important;
	font-size: 90%;
}
.mod-splms-course-price .splms-course-title a {
	font-size: 20px !important;
	font-weight: 600 !important;
	padding-bottom: 10px;
}

.mod-splms-course {
	border-radius: 6px;
	border: 1px solid #f0f0f5;
}
.mod-splms-course .splms-course.splms-match-height {
	border-radius: 6px;
	border: 1px solid #f0f0f5;
	box-shadow: 0px 30px 40px 0px rgba(1, 11, 60, 0.06);
}
.splms .splms-img-responsive {
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
}
.mod-splms-courses .splms-course-info {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}
.mod-splms-course {
	box-shadow: 0px 30px 40px 0px rgba(1, 11, 60, 0.06);
	background: #ffffff;
	margin-bottom: 30px;
}
.mod-splms-course-price,
.mod-splms-course-price {
	font-size: 20px;
	font-weight: 600;
	padding-right: 5px;
	color: var(--dark_color);
}

.mod-splms-course-price .splms-sale-price,
.mod-splms-course-price .splms-price-box span {
	display: inline-block;
}
.mod-splms-courses .splms-course-info {
	background: #ffffff;
}

/**/

.sp-page-title {
  padding: 120px 0;
}
.sp-page-title .sp-page-title-heading {
	font-weight: 700;
	font-size: 70px;
	color: #ffffff;
	line-height: 62px;
	position: relative;
	z-index: 2;
}
.sp-page-title {
	position: relative;
}
.sp-page-title:after {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 3, 32, 0.6);
}
.header__category ul li .cat-submenu {
	z-index: 9 !important;
}
/**/
#sp-header.transparent .form-search {
	opacity: 0 !important;
	visibility: hidden;
}
#sp-header.transparent .sppb-btn {
	padding: 17px 25px;
	transition: all 0.3s ease-out 0s;
}
#sp-header.transparent .sppb-btn:hover {
	background-color: var(--primary_color);
	border-color: var(--primary_color);
	box-shadow: 0px 10px 24px 0px rgba(4, 23, 118, 0) !important;
	transition: all 0.3s ease-out 0s;
}
.splms .splms-common-overlay-wrapper:hover .splms-common-overlay {
	opacity: 0.9;
}
.splms .splms-common-overlay {
	background-color: var(--primary_color);
}

@media (min-width: 1024px) {
#sp-header.transparent.header-sticky {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	display: block;
	background: var(--dark_color);
	z-index: 9999;
	margin: 0;
}
#sp-header.transparent {
    position: absolute;
    left: 0;
    top: 5px;
    width: 100%;
    z-index: 99;
	background: transparent;
}
#sp-header.transparent .sp-megamenu-parent > li > a {
	color: #ffffff;
}
#sp-header.transparent .cat-menu {
  color: #ffffff;
}
#sp-header.transparent .cat-menu svg .cat-dot {
  fill: #ffffff;
}
}
/**/
#sp-header.transparent.darktext.header-sticky .sp-megamenu-parent > li > a,
#sp-header.transparent.darktext.header-sticky .cat-menu {
  color: #ffffff !important;
}
#sp-header.transparent.darktext.header-sticky .cat-menu svg .cat-dot {
  fill: #ffffff !important;
}
	
#sp-header.transparent.darktext .sp-megamenu-parent > li > a,
#sp-header.transparent.darktext .cat-menu {
  color:var(--dark_color) !important;
}
#sp-header.transparent.darktext .cat-menu svg .cat-dot {
  fill: var(--dark_color) !important;
}
/**/


.counter__content {
	padding-top: 15px;
}
/**/
.mb-25 {
	margin-bottom: 25px;
}

.mb-35 {
	margin-bottom: 35px;
}
.ml-100 {
	margin-left: 100px;
}
.about__student img {
	display: inline-block;
}
.mr-20 {
  margin-right: 20px;
}
.mb-20 {
  margin-bottom: 20px;
}
.pr-50 {
  padding-right: 50px;
}
.mt-40 {
  margin-top: 40px;
}
.price__tag h4,
.banner__title a,
.events__title a,
.splms-course-info h3 a,
.hero__title {
	color: var(--dark_color);
}
.price__features.mb-40 {
  margin-bottom: 30px;
}
/**/
.splms-event-image {
	font-size: 60px;
	line-height: 1.17;
	color: var(--dark_color);
	margin-bottom: 20px
}
/**/


.blog__quote {
  padding: 40px 50px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.blog__quote img.quote {
  position: absolute;
  bottom: -34px;
  right: 50px;
}
.blog__quote blockquote {
  margin-bottom: 0;
}
.blog__quote p {
  font-size: 24px;
  color: var(--dark_color);
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 25px;
}
.blog__quote h4 {
  font-size: 20px;
  padding-left: 30px;
  position: relative;
  margin-bottom: 0;
}
.blog__quote h4::after {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 19px;
  height: 2px;
  background: var(--dark_color);
}

.grey-bg {
  background: #f3f4f8;
}
.p-relative {
  position: relative;
}
.fix {
  overflow: hidden;
}
.mb-45 {
  margin-bottom: 45px;
}
/*in description event page*/
.neweventt .splms-event-title {
	font-size: 45px;
	line-height: 1.1;
	margin-top: 12px;
	color: var(--dark_color);
}
/**/

.splms-event-title {
	color: var(--dark_color);
}
.view-events .splms-event-info-list strong {
  font-weight: 400;
}
.splms-newwt .splms-event-info-list li:not(:last-child)::after {
	position: absolute;
	content: "";
	right: 0;
	top: 5px;
	width: 1px !important;
	height: 14px;
	background: var(--body_color);
	margin-right: 5px;
}
.view-events .splms-event-info-list li:not(:last-child)::after {
  position: absolute;
  content: "";
  right: 0;
  top: 5px;
  width: 1px;
  height: 14px;
  background: var(--body_color);
}
.view-events .splms-event-info-list li {
	display: inline-block;
	font-size: 18px;
  font-weight: 400;
  position: relative;
  padding-right: 5px;
}
.view-splms-course.course-details .apply-now .price_info,
.splms.course-details .course-header h2.course-title,
.view-splms-course h3 ,
.view-splms-course h4 {
	color: var(--dark_color);
}

h3.splms-event-location-title,
.splms-event-description h3,
.splms-event-location-title {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--dark_color);
	margin-top: 15px;
}
.neweventt .splms.splms-view-event .splms-event-info-list li {
	display: block;
	position: relative;
	padding: 0;
}
.splms.splms-view-event .splms-event-detail-list strong {
	color: var(--dark_color);
	padding-right: 5px;
}
.newttev .splms-event-short-description,
.newttev .splms-img-responsive {
	display: none;
}

.newttev .splms-event-title {
	font-size: 24px;
	font-weight: 600;
}

.splms-event-purchase-btn .btn-primary:hover {
	box-shadow: 0px 10px 24px 0px rgba(4, 23, 118, 0.3);
}
.splms-event-purchase-btn .btn-primary {
  background: #ff4690;
  border-color: #ff4690;
  width: 100% !important;
  border-radius:4px;
  font-weight: 500;
  margin: 25px 0;
  padding: 11px 25px;
}
.events__sidebar-widget2 {
	padding: 30px;
	border-radius: 4px;
	box-shadow: 0px 30px 50px 0px rgba(1, 11, 60, 0.1);
	position: relative;
	margin-bottom: 30px;
}
.lms-right-sidebar {
	padding-left: 50px;
}

.lms-right-sidebar h3.splms-event-location-title, 
.lms-right-sidebar .splms-event-description h3, 
.lms-right-sidebar .splms-event-location-title  {
  font-size: 20px;
  margin-bottom: 20px;
}
.lms-right-sidebar .splms-event-detail-list li strong {
	color: var(--dark_color);
}
.lms-right-sidebar .splms-event-detail-list li {
	font-size: 15px;
}
.lms-right-sidebar .splms-event-detail-list li:not(:last-child) {
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #eef0f6;
}
.splms-event-speakers .splms-event-title {
	font-size: 26px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--dark_color);
}
.splms-event-speaker h4.title {
	margin-top: 7px;
	padding-bottom: 0;
    margin-bottom: 0;
}
.splms-speakers-event h3,
.splms-person-title,
.splms-event-speaker h4.title a {
    color: var(--dark_color);
}
.splms-event-speaker img {
	border-radius: 4px;
}
.splms-persion-social-icons li:hover a {
    color: var(--dark_color);
}
.splms-persion-social-icons li {
background: rgba(40, 93, 161, 0.1);
width: 40px;
  height: 40px;
  line-height: 44px;
  text-align: center;
  font-size: 13px;
}
/**/



.mod-articlescategories li a {
  font-size: 16px;
  font-weight: 500;
  color: #53545b;
  padding-left: 20px !important;
  position: relative;
}
.mod-articlescategories li a::after {
  position: absolute;
  content: "";
  left: 0;
	top: 14px;
  width: 6px;
  height: 6px;
  background: #adaeba;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.mod-articlescategories li a:hover {
  color: var(--primary_color);
}
.mod-articlescategories li a:hover::after {
  background: var(--primary_color);
}
.mod-articlescategories li {
	position: relative;
}

#sp-left .sp-module ul > li, #sp-right .sp-module ul > li {
  display: block;
  border-bottom: 0px solid #f3f3f3;
}
#sp-left .sp-module ul > li > a, #sp-right .sp-module ul > li > a {
  display: block;
  padding: 5px 0;
  line-height: 36px;
  padding: 0;
}
#sp-left .sp-module .sp-module-title, 
#sp-right .sp-module .sp-module-title {
	margin: 0 0 20px;
	padding-bottom: 20px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	border-bottom: 1px solid #f0f0f5;
	color: var(--dark_color);
}
#sp-left .sp-module, 
#sp-right .sp-module {
	margin-top: 50px;
  border: 0px solid #f3f3f3;
  padding: 0 0 0 70px;
  border-radius: 0;
}

#sp-left input[type="text"],
#sp-right input[type="text"] {
	width: 100%;
  height: 60px;
  line-height: 56px;
  background: #f3f4f8;
  border: 2px solid #f3f4f8;
  border-radius: 4px;
  padding-left: 30px;
  padding-right: 45px;
}
#sp-left .sp-module .tagscloud .tag-name, 
#sp-right .sp-module .tagscloud .tag-name {
  height: 36px;
  line-height: 38px;
  padding: 0 15px;
  font-size: 15px !important;
  font-weight: 500;
  color: #53545b;
  background: #f3f4f8;
  border-radius: 4px;
  margin-right: 8px;
  margin-bottom: 10px;
}
#sp-left .sp-module .tagscloud .tag-name:hover, 
#sp-right .sp-module .tagscloud .tag-name:hover {
  color: #ffffff;
  background: var(--primary_color);
}
.article-list .article {
  margin-bottom: 30px;
  padding: 20px;
  border: 0px solid #f5f5f5;
  border-radius: 6px;
  box-shadow: 0px 30px 40px 0px rgba(1, 11, 60, 0.1);
}

.article-list .article .article-header h1 a, 
.article-list .article .article-header h2 a {
	color: var(--dark_color);
	font-size: 20px;
	font-weight: 700;
}
.article-info span {
	font-size: 14px;
	border-radius: 4px;
	font-weight: 500;
	padding: 3px 6px;
}
.article-info span.createdby {
	background: rgba(242, 39, 126, 0.1);
	color: #f2277e;
	margin-right: 5px;
}
.article-info span.category-name {
	background: rgba(131, 48, 254, 0.1);
	color: #8330fe;
	margin-right: 5px;
}
.article-info span.category-name a {
	color: #8330fe;
}
.article-info span.published {
	background: rgba(43, 78, 255, 0.1);
	color: var(--primary_color);
}

.article-info span.createdby:hover {
	background: #f2277e;
	color: #ffffff;
}
.article-info span.category-name:hover {
	background: #8330fe;
	color: #ffffff;
}

.article-info span.category-name:hover a  {
	color: #ffffff;
}

.article-info span.published:hover {
	background: var(--primary_color);
	color: #ffffff;
}
.article-info > span + span::before {
  display: inline-block;
  padding-right: 0;
  padding-left: 0;
  content: " ";
}

.article-list .article .article-header h1 a:hover, .article-list .article .article-header h1 a:active, .article-list .article .article-header h1 a:focus, .article-list .article .article-header h2 a:hover, .article-list .article .article-header h2 a:active, .article-list .article .article-header h2 a:focus {
	color: var(--primary_color);
}
.article-details  h4,
.article-details  h3,
.article-details .article-header h1, 
.article-details .article-header h2 {
	font-size: 30px;
	margin-bottom: 12px;
	color: var(--dark_color);
}
.hero__class-text h5,
.hero__content-2 h4,
.hero__promotion-text h5,
.contact__title,
.contact__social h4,
.contact__info-text h4,
.blog__quote h4 {
	color: var(--dark_color);
}

.sp-page-title .breadcrumb {
	z-index: 3;
	position: relative;
}

.sp-page-title .breadcrumb .fas {
	display: none !important;
}
.big-padding-title .sp-page-title {
	padding: 200px 0 120px 0;
}
.mr-15 {
	margin-right: 15px;
}
.mr-10 {
	margin-right: 15px;
}

.p-relative {
	position: relative !important;
}
.fix {
  overflow: hidden;
}


.grey .sppb-btn {
	height: 55px;
	line-height: 55px;
	padding: 0 22px !important;
	margin-top: -4px;
	border-radius: 4px !important;
}


.yellow-bg-slide img {
  position: absolute;
  left: -14px;
  bottom: 11px;
  z-index: -1;
  -webkit-animation: section-animation 3s infinite;
  animation: section-animation 3s infinite;
}

@media (max-width: 575px) {
.yellow-bg-slide img {
    height: 15px;
    bottom: 0;
}
}

#sp-footers {
	padding-top: 130px;
}

.sp-megamenu-parent .sp-dropdown li:not(:last-child) {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.sp-megamenu-parent .sp-dropdown li.has-dropdown > a::after {
	position: absolute;
	top: 50%;
	right: 25px;
	-webkit-transform: translateY(-50%) rotate(-90deg);
	-moz-transform: translateY(-50%) rotate(-90deg);
	-ms-transform: translateY(-50%) rotate(-90deg);
	transform: translateY(-50%) rotate(-90deg);
}
.sp-megamenu-parent .sp-dropdown li a {
	padding: 10px 25px;
	font-size: 13px;
	position: relative;
	z-index: 1;
	color: var(--dark_color);
	width: 100%;
}
.sp-megamenu-parent .sp-dropdown li a::before {
	position: absolute;
	content: "";
	top: 0;
	left: auto;
	right: 0;
	width: 0;
	height: 100%;
	background: var(--primary_color);
	z-index: -1;
}
.sp-megamenu-parent .sp-dropdown li:hover > a {
	color: #ffffff;
}
.sp-megamenu-parent .sp-dropdown li:hover > a::after {
	color: #ffffff;
}
.sp-megamenu-parent .sp-dropdown li:hover > a::before {
	left: 0;
	right: auto;
	width: 100%;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	padding: 0px !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
	padding: 15px 27px !important;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
	color: #fff !important;
}

/* Forzar al contenedor padre a colapsar su relleno interno */#sp-title,section.big-padding-title,section#sp-title {    padding-top: 0 !important;    padding-bottom: 0 !important;    margin: 0 !important;}/* Ajustar el bloque de la imagen a la proporción exacta de 1920x450 */.sp-page-title {    background-size: 100% 100% !important;    background-repeat: no-repeat !important;    background-position: center center !important;    aspect-ratio: 1920 / 450 !important;    height: auto !important;    min-height: unset !important;    max-height: 450px !important;    display: flex !important;    align-items: center !important;    justify-content: center !important;}

/* Restablecer la proporción exacta de 1920x450 de la imagen del banner */
#sp-title,
section.big-padding-title,
section#sp-title {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}

.sp-page-title {
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    aspect-ratio: 1920 / 450 !important;
    height: auto !important;
    min-height: unset !important;
    max-height: 450px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin-bottom: 120px !important; /* Espacio extra abajo para dar lugar al texto proyectado */
}

/* Proyectar el título y las migajas fuera de la imagen azul (más abajo) */
.sp-page-title .container {
    position: absolute !important;
    bottom: -140px !important; /* Se incrementó de -100px a -140px para bajar el texto a la zona blanca */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    text-align: left !important;
    z-index: 10 !important;
}

/* Ajustes tipográficos para el título */
.sp-page-title h2.sp-page-title-heading {
    color: #0e1133 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
}

/* Estilos de la lista de breadcrumbs */
.sp-page-title ul.breadcrumb {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.sp-page-title ul.breadcrumb li,
.sp-page-title ul.breadcrumb li a,
.sp-page-title .breadcrumb-item,
.sp-page-title .breadcrumb-item a {
    color: #53545b !important;
}

.sp-page-title ul.breadcrumb li+li::before,
.sp-page-title .breadcrumb-item+.breadcrumb-item::before {
    content: "/" !important;
    padding: 0 8px !important;
    color: #53545b !important;
}

///////////////////////////////////

/////////
/* ==========================================================
   AJUSTE DE MATRIZ E IMÁGENES (Educal / SP LMS)
   ========================================================== */

/* 1. Normalizar el contenedor de la imagen */
.splms-course-img,
.splms-course-thumb,
.splms-item-img,
div[class*="thumb"] {
    height: 240px !important;
    max-height: 240px !important;
    background-color: #f4f5f8 !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 2. Forzar a que los enlaces internos no desplacen la imagen */
.splms-course-img a,
.splms-course-thumb a,
div[class*="thumb"] a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
}

/* 3. Encajar la infografía completa sin cortes ni desplazamientos */
.splms-course-img img,
.splms-course-thumb img,
.splms-item-img img,
div[class*="thumb"] img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important; /* Muestra la infografía completa */
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    margin: 0 auto !important;
    display: block !important;
}

/* 4. Alinear el marco del HOVER (capa azul) al tamaño exacto de la tarjeta */
.splms-course-img .overlay,
.splms-course-img [class*="hover"],
div[class*="thumb"] .overlay,
div[class*="thumb"] [class*="hover"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
}

/* 5. Mantener las tarjetas de la grilla parejas */
.splms-course-item,
div[class*="course-item"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
}

//////////////////////////////////////////
/* ==========================================================
   SOLUCIÓN ALINEACIÓN DE CURSOS EN HOME (PRESERVA 3 COLUMNAS)
   ========================================================== */

/* 1. Evitar que las cajas con títulos largos desalineen la fila */
.splms-course-title,
.splms-course-details-title,
div[class*="splms-course"] h3,
div[class*="splms-course"] h4 {
    height: 52px !important;
    min-height: 52px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 10px !important;
}

/* 2. Nivelar la altura fija del contenedor de la tarjeta */
.splms-course-item,
.splms-match-height {
    min-height: 440px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* 3. Prevenir saltos de línea causados por flotación irregular */
div[class*="splms-col-md-4"],
div[class*="col-md-4"] {
    min-height: 460px !important;
}

/* ==========================================================
   CORRECCIÓN ANCHO E IMÁGENES HERO EN HOME
   ========================================================== */

/* 1. Sacar las formas decorativas del flujo flexbox para que no ocupen espacio */
.hero__thumb-shape {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.hero__thumb-shape img {
    position: absolute !important;
}

/* 2. Forzar a las imágenes a ocupar su tamaño natural original */
.hero__thumb-big {
    position: relative !important;
    z-index: 2;
    flex: 0 0 auto !important;
    width: auto !important;
}

.hero__thumb-sm {
    position: relative !important;
    z-index: 2;
    flex: 0 0 auto !important;
    width: auto !important;
}

////////////////////////////////////////////
/*TARJETAS DE CATEGORÍAS*/
////////////////////////////////////////////
/* ==========================================================
   EGALIZACIÓN DE TARJETAS DE CATEGORÍAS EN SP PAGE BUILDER
   ========================================================== */

/* 1. Forzar que las columnas contenedoras ocupen exactamente el 100% */
.sppb-section .sppb-column {
    display: flex !important;
    flex-direction: column !important;
}

.sppb-column-addons {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 2. Extender los wrappers intermedios del addon hasta abajo */
.sppb-column-addons > .sppb-addon-wrapper,
.sppb-column-addons > .sppb-addon-wrapper > .sppb-addon-content,
.sppb-column-addons > .sppb-addon-wrapper > .sppb-addon-content > .sppb-addon-raw-html {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Forzar altura fija unificada (140px) y margen inferior ajustado (15px) */
.category__item {
    display: flex !important;
    align-items: center !important;
    height: 140px !important; /* Altura idéntica basada en la tarjeta de 5 líneas */
    max-height: 140px !important;
    margin-bottom: 15px !important; /* Margen reducido para acortar el espacio vertical */
    box-sizing: border-box !important;
}

.category__icon {
    flex-shrink: 0 !important;
}

.category__content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* 4. Mantiene la fluidez en teléfonos y tablets */
@media (max-width: 991px) {
    .category__item {
        height: auto !important;
        max-height: none !important;
        min-height: 90px !important;
        margin-bottom: 15px !important;
    }
}

/////////////////////////////////////////////
/*CHAT Y BOTÓN*/
/////////////////////////////////////////////
/* Eleva el botón "Volver Arriba" de Helix Ultimate sobre el chat colapsado */
a.sp-scroll-up {
  bottom: 80px !important;
  right: 20px !important;
  z-index: 99998 !important;
  transition: bottom 0.3s ease-in-out !important;
}

/* Si el chat se abre y le agrega la clase 'chat-open' al body */
body.chat-open a.sp-scroll-up {
  bottom: 360px !important;
}