:root {
	--font1: 'Nunito', sans-serif;
	--verde: #61B139;
	--verde-code: 97 177 57;
	--verde-dark: #366320;
	--verde-dark-code: 54 99 32;
	--verde-light: #81EB4B;
	--verde-light-code: 129 235 75;
	
	--verde2: #007934;
	--verde2-code: 0 121 52;
	--verde2-dark: #004D22;
	--verde2-dark-code: 0 77 34;
	--verde2-light: #00F76B;
	--verde2-light-code: 0 247 107;
	
	--verde3: #91D646;
	--verde3-code: 145 214 70;
	--verde3-dark: #466822;
	--verde3-dark-code: 0 104 34;
	--verde3-light: #8BCE44;
	--verde3-light-code: 139 206 68;
	
	--violeta: #A53E8F;
	--violeta-code: 165 62 143;
	--violeta-dark: #59224D;
	--violeta-dark-code: 89 34 77;
	--violeta-light: #E156C3;
	--violeta-light-code: 225 86 195;
	
	--naranja: #F88D2A;
	--naranja-code: 248 141 42;
	--naranja-dark: #894E17;
	--naranja-dark-code: 137 78 23;
	--naranja-light: #FC9C42;
	--naranja-light-code: 252 156 66;
	
	--white: #FFFFFF;
	--white-code: 255 255 255;
	
	--black: #333333;
	--black-code: 51 51 51;
	
	--gray: #B2B2B2;
	--gray-code: 178 178 178;
	--gray-2: #999999;
	--gray-2code: 130 134 139;
	--gray-3: #CCCCCC;
	--gray-3-code: 204 204 204;
	
	--footer: #EBEBEB;
	--footer-code: 235 235 235;
	
	--tabs: #F0F0F0;
	--tabs-code: 240 240 240;
	
	--facebook: #3B5998;
	--twitter: #1C1C1C;
	--linkedin: #0A66C2;
	--whatsapp: #00BB2D;
	--youtube: #C4302B;
	
	--dropdown: #156D4B;
	--valid: #28A745;
	--validcode: 40 167 69;
	--invalid: #DC3545;
	--invalidcode: 220 53 69;
	
	--64: 4rem;
	--60: 3.75rem;
	--58: 3.625rem;
	--52: 3.25rem;
	--50: 3.125rem;
	--48: 3rem;
	--46: 2.875rem;
	--45: 2.813rem;
	--44: 2.75rem;
	--42: 2.625rem;
	--40: 2.5rem;
	--38: 2.375rem;
	--37: 2.313rem;
	--36: 2.25rem;
	--34: 2.125rem;
	--32: 2rem;
	--30: 1.875rem;
	--28: 1.75rem;
	--27: 1.688rem;
	--26: 1.625rem;
	--24: 1.5rem;
	--23: 1.438rem;
	--22: 1.375rem;
	--20: 1.25rem;
	--19: 1.188rem;
	--18: 1.125rem;
	--17: 1.063rem;
	--16: 1rem;
	--15: 0.938rem;
	--14: 0.875rem;
	--13: 0.813rem;
	--12: 0.75rem;
	--11: 0.688rem;
	
	--transition: all 0.4s ease-in-out;
}

/* General */
* {
	font-family: var(--font1);
}

::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	background: white;
}

::-webkit-scrollbar-thumb {
	background: rgb(var(--gray-code) / 50%);
	border: 2px solid white;
	border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--gray);
}

:focus-visible {
	outline: none;
}

::file-selector-button {
	background: var(--verde);
	border: none;
	border-radius: 50px;
	padding: 5px 10px;
	color: white;
	font-weight: 700;
}

[type="file"] {
	color: var(--gray-3);
}

.swiper {
	margin: initial;
}

a {
	text-decoration: none;
}

img {
	max-width: 100%;
}

iframe, embed, video {
	border: 0;
	width: 100%;
	aspect-ratio: 2;
}

embed {
	aspect-ratio: 1;
}

.container_sd {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 1300px;
}

/* Main */
main {
	display: block;
	position: relative;
}

main:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 50%;
	top: 0;
	left: 0;
	background: linear-gradient(to bottom, #EDEDED 20%, transparent);
	z-index: -1;
}

/* Variables Color */
.verde:hover, .verde.sm-expanded {
	color: var(--verde) !important;
}

.verde2:hover, .verde2.sm-expanded {
	color: var(--verde2) !important;
}

.violeta:hover, .violeta.sm-expanded {
	color: var(--violeta) !important;
}

.naranja:hover, .naranja.sm-expanded {
	color: var(--naranja) !important;
}

/* Barra Top */
.navbar-top.sm-navbar {
	padding: 8px 38px;
	border-radius: 100px;
	background: var(--verde);
	z-index: 10000;
}

.navbar-top .sm-nav {
	max-width: fit-content;
	gap: 38px;
	transition: var(--transition);
}

.navbar-top .sm-nav:has(~ .search-social .search input:focus) {
	opacity: 0;
}

.navbar-top .sm-collapse {
	justify-content: flex-end !important;
	gap: 48px;
}

.navbar-top .sm-nav-item {
	display: flex;
	align-items: center;
}

.navbar-top .sm-nav .sm-nav-link {	
	font-size: var(--14);
	font-weight: 700;
	color: var(--white);
	display: flex;
	gap: 15px;
	line-height: 1;
	transition: var(--transition);
	padding: 5px 10px;
	text-transform: uppercase;
	border-radius: 50px !important;
}

.sm-sub-item:active {
	background: transparent;
}

.navbar-top .sm-nav a.sm-sub-link {
	color: var(--verde);
	font-size: var(--16);
	white-space: initial;
	min-width: 250px;
	font-weight: 600;
	text-transform: none;
}

.navbar-top .sm-nav .sm-sub-toggler {
	background: var(--verde2);
	border-radius: 50px !important;
	color: var(--white);
	padding: 7px 20px;
	margin-right: 10px;
}

.navbar-top .sm-nav .sm-sub-toggler:hover {
	background: var(--verde2-dark);
}

.navbar-top .sm-nav .sm-sub-toggler:hover svg {
	animation: slideOutDown 1.5s ease-in-out infinite alternate;
}

.navbar-top .sm-nav a.sm-sub-link {
	background: transparent;
	color: var(--black);
	padding: 10px 20px;
	border-radius: 14px !important;
	transition: var(--transition);
}

.navbar-top .sm-nav a.sm-sub-link:hover {
	background-color: rgb(var(--verde-code)0%);
	color: var(--verde);
}

.navbar-top .sm-nav a.sm-sub-link.sm-expanded {
	background: var(--verde2);
	color: var(--white);
}

.navbar-top .sm-sub {
	border: none;
	padding: 12px 10px;
	border-radius: 20px;
	margin-top: -3px !important;
	animation: fadeIn 0.4s ease-in-out;
}

.navbar-top .sm-nav a.sm-sub-link.sm-expanded:after {
	color: var(--white);
}

.sm-sub-toggler:after {
	content: none !important;
}

/* Search y redes sociales */
.search-social {
	display: flex;
	gap: 14px;
	align-items: center;
}

/* Search */
.search {
	display: flex;
	position: relative;
	width: 160px;
	height: 30px;
	transition: var(--transition);
}

.search label {
	color: transparent;
}

.search input {
	border-radius: 50px;
	height: 30px;
	background: white;
	width: 160px;
	border: none;
	padding: 0 30px 0 15px;
	position: absolute;
	top: 0;
	right: 0;
	text-overflow: ellipsis;
	transition: var(--transition);
}

.search input::placeholder {
	color: transparent;
	transition: var(--transition);
}

.search input:focus::placeholder {
	color: var(--gray-2);
}

.search input:focus {
	outline: none;
	width: 800px;
}

.search button {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--verde2);
	/* pointer-events: none; */
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
}

.search input:focus ~ button {
	pointer-events: all;
}

input[type="search" i]::-webkit-search-cancel-button {
	cursor: pointer;
}

/* Redes */
.social-media {
	display: flex;
	gap: 5px;
	align-items: center;
}

.social-media svg {
	color: var(--verde);
	border-radius: 50%;
	width: 14px;
	height: 14px;
	display: flex;
	padding: 4px;
	background: white;
	background-size: 400% 100%;
	background-position: top left;
	transition: var(--transition);
	overflow: hidden;
}

.social-media .facebook svg {
	width: 16px;
	height: 16px;
	padding: 6px 2px 0 4px;
	background-image: linear-gradient(135deg, white, white 35%, var(--facebook) 65%);
}

.social-media .twitter svg {
	background-image: linear-gradient(135deg, white, white 35%, var(--twitter) 65%);
}

.social-media .instagram svg {
	background-image: linear-gradient(135deg, white, white 35%, #F09433 65%, #E6683C, #DC2743, #DC2743, #BC1888);
}

.social-media .youtube svg {
	background-image: linear-gradient(135deg, white, white 35%, var(--youtube) 65%);
}

.social-media .media:hover svg {
	background-position: bottom -1px right -1px;
	color: white;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}

/* Menú Principal */
.logo {
	max-width: 250px;
	width: 100%;
	margin-left: 60px;
	padding: 0;
}

.logo img {
	max-width: 200px;
	max-height: 82px;
}

.main-pri {
	background: transparent;
	padding: 15px 0;
}

.main-pri .sm-nav-link.sm-expanded, .main-pri .sm-nav-link:focus, .main-pri .sm-nav-link:active, .main-pri .sm-sub-link.sm-expanded, .main-pri .sm-sub-link:focus, .main-pri .sm-sub-link:active {
	background: transparent;
	color: var(--black);
}

.main-pri.sm-navbar .sm-sub-link {
	white-space: break-spaces;
}

.main-pri .sm-collapse {
	gap: 50px;
}

.main-pri .sm-collapse a {
	font-size: var(--16);
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	line-height: 1;
	transition: var(--transition);
	color: var(--black);
	text-transform: uppercase;
}

.main-pri .sm-collapse a.sm-sub-link {
	font-size: var(--20);
	font-weight: 600;
	padding: 10px 20px;
	border-radius: 12px;
}

.main-pri .sm-sub {
	min-width: 250px !important;
	border: none;
	padding: 10px 10px;
	border-radius: 20px;
}

.main-pri .enlace_ {
	white-space: nowrap;
}

.main-pri .sm-nav {
	gap: 22px;
	display: flex;
	align-items: center;
}

.enlace_ {
	display: flex;
	color: white !important;
	background: var(--naranja) !important;
	border-radius: 50px;
	padding: 9px 20px;
}

.enlace_ i {
	font-size: var(--22);
}

.enlace_ img {
	height: 28px;
	max-width: 100%;
	filter: brightness(0) invert(1);
}

.enlace_:hover {
	color: var(--white) !important;
	background: var(--naranja-dark) !important;
}

.icon_nav {
	position: relative;
	display: flex;
}

.icon_nav img {
	width: 40px;
	height: 30px;
	object-fit: contain;
	transition: var(--transition);
	filter: brightness(0);
}

.main-pri .sm-collapse a:hover .icon_nav img {
	filter: none;
}

.icon_nav svg {
	width: 40px;
	height: 40px;
}

.main-pri .sm-collapse a.sm-sub-link:hover {
	background-color: rgb(var(--verde-code), 0.1);
}

.main-pri .sm-collapse a i {
	font-size: var(--26);
	transition: var(--transition);
}

.sm-toggler-icon--show:before, .sm-toggler-icon--show:after, .sm-toggler-icon--show {
	color: var(--verde);
}

/* Menu Responsive */
#menuResponsive {
	display: none;
}

/* Swiper */
.swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	transform: scale(60%);
	background: var(--gray-2);
	transition: var(--transition);
	opacity: 50%;
}

.swiper-pagination-bullet-active {
	background: var(--verde);
	transform: none;
	opacity: 100%;
} 

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	position: relative;
	transform: none !important;
	top: auto;
	bottom: auto;
	left: auto !important;
	width: 100% !important;
	padding: 20px 10px;
	justify-content: center;
	align-items: center;
}

.swiper-button-next, .swiper-button-prev {
	color: var(--black);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--gray-3);
	transition: var(--transition);
}

.swiper-button-next:after, .swiper-button-prev:after {
	content: none;
}

.swiper-button-next svg, .swiper-button-prev svg {
	width: 24px;
	height: 24px;
}

.swiper-button-next {
	transform: translateX(100%);
	right: -1%;
}

.swiper-button-prev {
	transform: translateX(-100%);
	left: -1%;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
	background: var(--verde);
	color: var(--white);
}

.banner-pagination {
	display: none;
}

.bannerStatic .banner-pagination {
	display: flex;
	position: absolute;
	bottom: 0;
	gap: 10px;
}

.bannerStatic .swiper-pagination-bullet {
	transform: none;
	background: white;
}

/* Botón Genérico */
.botonE {
	background: var(--white);
	border: transparent;
	color: var(--black);
	font-weight: 800;
	font-size: var(--26);
	border-radius: 50px;
	padding: 6px 6px 6px 28px;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: var(--transition);
	width: fit-content;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

.botonE svg {
	background: var(--verde3);
	width: 22px;
	height: 22px;
	padding: 14px;
	border-radius: 50px;
	stroke: var(--black);
	stroke-width: 40px;
	transition: var(--transition);
	color: var(--black);
}

.botonE:hover {
	background: var(--verde3);
	color: white !important;
}

.botonE:hover svg {
	color: var(--verde3);
	background: var(--white);
	stroke: var(--verde3);
}

.violeta .botonE {
	color: var(--violeta);
}

.violeta .botonE:hover {
	background: var(--violeta);
}

.violeta .botonE svg {
	background: var(--violeta);
	color: white;
	stroke: white;
}

.violeta .botonE:hover svg {
	background: white;
	color: var(--violeta);
	stroke: var(--violeta);
}

.naranja .botonE {
	color: var(--naranja);
}

.naranja .botonE:hover {
	background: var(--naranja);
}

.naranja .botonE svg {
	background: var(--naranja);
	color: white;
	stroke: white;
}

.naranja .botonE:hover svg {
	background: white;
	color: var(--naranja);
	stroke: var(--naranja);
}

.botonE:disabled {
	pointer-events: none;
	background: var(--footer);
	color: rgb(var(--black-code) / 25%);
}

.botonE:disabled svg {
	opacity: 50%;
}

/* Banner */
.banner {
	display: flex;
	position: relative;
	flex-direction: column;
}

.bannerStatic {
	overflow: hidden;
}

.content_banner {
	display: flex;
	justify-content: flex-end;
	padding: 100px 150px;
	background-size: cover;
	min-height: 496px;
	align-items: center;
	padding: 30px 132px;
	overflow: hidden;
}

.content_banner .bgbox_ {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
	left: 0;
	top: 0;
	background-size: cover;
	background-position: center;
}

.cont_descript {
	max-width: 430px;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	gap: 70px;
}

.cont_descript .contenidos_ {
	gap: 30px;
	display: flex;
	flex-direction: column;
}

.cont_descript:not(:has(.botonE)) {
	padding-bottom: 100px;
}

.cont_descript h2 {
	text-align: left;
	color: var(--white);
	font-size: var(--38);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
	animation: fadeInDown 1s ease-in-out backwards;
}

.cont_descript h2 strong {
	color: white;
	font-size: var(--46);
	margin: 0;
	transition: var(--transition);
	font-weight: 900;
}

.cont_descript p {
	color: var(--white);
	font-size: var(--32);
	line-height: 32px;
	font-weight: 300;
	margin: 0;
	text-align: left !important;
	animation: fadeInDown 1s ease-in-out 0.5s backwards;
}

.cont_descript .word {
	font-size: var(--34);
	font-weight: 800;
}

.cont_descript p:has(.botonE) {
	align-self: center;
}

.cont_descript .botonE {
	animation: fadeInDown 1s ease-in-out 1s backwards;
}

.cont_descript .botonE:hover {
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

/* Figura */
.content_banner:before {
	transform: rotate(60deg);
	content: "";
	width: 1000px;
	height: 1000px;
	position: absolute;
	border-radius: 250px;
	bottom: 125px;
	right: -205px;
	animation: zoomIn 1s ease-in-out backwards, fadeIn 1s ease-in-out backwards;
}

.figura.izquierda.content_banner:before {
	transform: rotate(30deg);
	left: -205px;
}

.izquierda.content_banner {
	justify-content: flex-start;
}

/* Colores Figura */
.figura.verde2.content_banner:before {
	background: rgb(var(--verde2-code) / 90%);
}

.figura.verde.content_banner:before {
	background: rgb(var(--verde-code) / 90%);
}

.figura.violeta.content_banner:before {
	background: rgb(var(--violeta-code) / 90%);
}

.figura.naranja.content_banner:before {
	background: rgb(var(--naranja-code) / 90%);
}

/* Enlaces Destacados */
.featured-links {
	margin-top: 130px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

h2 {
	text-align: center;
	font-weight: 300;
	font-size: var(--46);
	margin-bottom: 0;
}

/* Slick */
.featuredSlick {
	display: flex;
	justify-content: space-between;
}

.featured-links .slick-track {
	display: flex;
	gap: 22px
}

.slick-dots li {
	width: 12px;
	height: 12px;
	margin: 0 4px;
}

.slick-dots li button {
	width: 12px;
	height: 12px;
	background: var(--gray-2);
	opacity: 50%;
	transform: scale(60%);
	border-radius: 50%;
	transition: var(--transition);
}

.slick-dots li.slick-active button {
	transform: none;
	background: var(--verde);
	opacity: 100%;
}

.slick-dots li button:before {
	content: none;
}

.featured-links .card_ {
	gap: 12px;
	display: flex;
	align-items: center;
	padding: 26px;
	width: fit-content;
	background: var(--white);
	border-radius: 15px;
	min-height: 90px;
	width: auto;
	position: relative;
	overflow: hidden;
	transition: var(--transition);
}

.featured-links .card_:hover {
	background: var(--black);
}

.featured-links .card_.verde:hover {
	background: var(--verde);
}

.featured-links .card_.verde2:hover {
	background: var(--verde2);
}

.featured-links .card_.violeta:hover {
	background: var(--violeta);
}

.featured-links .card_.naranja:hover {
	background: var(--naranja);
}

.featured-links img {
	height: 60px;
	position: relative;
	transition: var(--transition);
}

.featured-links .card_:hover img {
	filter: brightness(0) invert(1);
}

.featured-links h3 {
	margin: 0;
	color: var(--black);
	font-weight: 800;
	width: 100%;
	display: flex;
	max-width: 100%;
	font-size: var(--30);
	position: relative;
	transition: var(--transition);
}

.featured-links .card_:hover h3 {
	color: white;
}

/* Noticias */
.news {
	margin-top: 130px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.news .contenidos_ {
	margin-bottom: 30px;
}

.news .swiper-button-next, .news .swiper-button-prev {
	left: 0;
	bottom: 0;
	top: 0;
	position: relative;
	color: var(--black);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--gray-3);
	right: auto;
	display: inline-block;
}

.news .card_ {
	gap: 30px;
	display: flex;
	align-items: center;
	width: 100%;
	flex-direction: column;
}

.news img {
	border-radius: 28px;
	aspect-ratio: 1.02;
	object-fit: cover;
	object-position: center;
}

.news .card_ p {
	color: var(--black);
	text-align: justify;
	font-size: var(--22);
	line-height: 24px;
	padding: 0 8px;
	margin-bottom: 0;
}

.news .cont_ {
	display: flex;
	width: 100%;
	justify-content: space-between;
	padding: 0 16px;
	margin-bottom: 5px;
	gap: 10px;
	flex-wrap: wrap;
}

.news .cont_ .date {
	display: flex;
	gap: 15px;
}

.news .cont_ .category {
	display: inline-flex;
	padding: 5px 8px;
	color: var(--black);
	font-size: var(--12);
	font-weight: 900;
	border-radius: 50px;
	text-transform: uppercase;
	width: fit-content;
}

.servicios .category {
	background: rgb(var(--verde2-code) / 0.2);
}

.novedades .category {
	background: rgb(var(--verde-code) / 0.2);
}

.eventos .category {
	background: rgb(var(--violeta-code) / 0.2);
}

.navegacion_ {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 62px;
	align-items: center;
}

.navegacion_ .btn-more {
	font-size: var(--18);
	font-weight: 900;
	color: var(--black);
	padding: 12px 14px;
	background: var(--gray-3);
	border: none;
	border-radius: 50px;
	line-height: 1;
	transition: var(--transition);
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 10px;
}

.navegacion_ .btn-more:hover {
	background: var(--verde);
	color: var(--white);
}

.navegacion_ .btn-more.disabled {
	background: var(--footer);
	color: rgb(var(--black-code) / 25%);
	pointer-events: none;
}

.navegacion_ .swiper-button-next, .navegacion_ .swiper-button-prev {
	height: fit-content;
	background: transparent;
	font-size: var(--15);
	width: fit-content;
	display: flex;
	gap: 2px;
	transform: none;
	margin: 0;
	align-items: center;
	color: var(--gray-3);
	font-weight: 700;
	line-height: 1;
}

.navegacion_ .swiper-button-next svg, .navegacion_ .swiper-button-prev svg {
	width: 16px;
	height: 16px;
	padding: 0;
	position: relative;
	top: -2px;
}

.navegacion_ .swiper-button-next:hover, .navegacion_ .swiper-button-prev:hover {
	color: var(--verde);
}

.navegacion_ .swiper-button-next:after, .navegacion_ .swiper-button-prev:after {
	font-size: 9px;
}

.navegacion_ .swiper-button-prev {
	display: flex;
}

/* Separador */
.links_separator {
	margin: 130px 0 50px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.links_separator .row {
	--bs-gutter-x: 68px
}

.links_separator .link {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 48px 62px;
	border-radius: 28px;
	position: relative;
	overflow: hidden;
}

.links_separator .link:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgb(var(--verde2-code) / 60%), rgb(var(--verde2-code) / 80%) 32%, var(--verde2), rgb(var(--verde2-code) / 80%) 68%, rgb(var(--verde2-code) / 60%));
	background-size: 200% 100%;
	background-position: center right;
	transition: var(--transition);
}

.links_separator .link.verde:before {
	background: linear-gradient(to right, rgb(var(--verde-code) / 60%), rgb(var(--verde-code) / 80%) 32%, var(--verde), rgb(var(--verde-code) / 80%) 68%, rgb(var(--verde-code) / 60%));
	background-size: 200% 100%;
	background-position: center right;
}

.links_separator .link.violeta:before {
	background: linear-gradient(to right, rgb(var(--violeta-code) / 60%), rgb(var(--violeta-code) / 80%) 32%, var(--violeta), rgb(var(--violeta-code) / 80%) 68%, rgb(var(--violeta-code) / 60%));
	background-size: 200% 100%;
	background-position: center right;
}

.links_separator .link.naranja:before {
	background: linear-gradient(to right, rgb(var(--naranja-code) / 60%), rgb(var(--naranja-code) / 80%) 32%, var(--naranja), rgb(var(--naranja-code) / 80%) 68%, rgb(var(--naranja-code) / 60%));
	background-size: 200% 100%;
	background-position: center right;
}

.links_separator .link:hover:before {
	background-position: center left;
}

.links_separator img {
	max-width: 300px;
	width: 100%;
	position: relative;
}

/* Tooltips */
.tooltips {
	display: flex;
	position: relative;
	font-size: var(--12);
	color: var(--gray-2);
	align-items: center;
	gap: 4px;
	font-weight: 800;
	text-transform: uppercase;
}

.tooltips:hover {
	color: var(--verde);
}

.tooltips svg {
	width: 15px;
	height: 15px;
}

.tooltips .con_tooltips {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	top: 0;
	opacity: 0;
	background: var(--white);
	color: var(--black);
	border-radius: 3px;
	padding: 3px 7px;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	text-transform: none;
	transition: var(--transition);
}

.tooltips:hover .con_tooltips {
	transform: translate(-50%, -50%) scale(1);
	top: -50%;
	opacity: 1;
}

/* Footer */
footer {
	padding: 54px 0;
	background: var(--footer);
	position: relative;
}

footer:before {
	content: "";
	background-image: url('../images/figure.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left bottom;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

footer .container_sd {
	position: relative;
	z-index: 1;
}

footer .row {
	--bs-gutter-x: 40px;
}

.cont_vig_super {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.cont_vig_super p {
	margin-bottom: 0;
}

footer h2, footer h2 a, footer .accordion-button {
	font-size: var(--17);
	font-weight: 800;
	color: var(--black) !important;
	margin-bottom: 20px;
	text-align: left;
	padding: 0;
	background: transparent !important;
	line-height: 1.2;
}

footer h2 a:hover {
	color: var(--verde) !important;
}

footer .accordion-button {
	pointer-events: none;
}

footer .accordion-button svg {
	display: none;
}

footer .accordion-collapse {
	display: block !important;
	margin-top: 15px !important;
}

footer p, footer p a {
	font-size: var(--17);
	font-weight: 400;
	line-height: 20px;
	color: var(--black);
	margin-bottom: 20px;
}

footer .links_specials {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

footer .links_specials p, footer .links_specials p a {
	margin-bottom: 0;
}

.links_specials .links_ {
	max-width: 240px;
}

.links_specials .links_ a {
	display: inline-flex;
	gap: 6px;
}

.links_specials .links_ a:before {
	content: '-';
}

footer .down_app {
	padding-bottom: 30px;
}

footer .down_app h2 {
	margin-bottom: 5px;
}

footer .down_app .img_ {
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 10px;
}

footer .down_app .img_ img {
	height: 40px;
}

footer .devlop p, footer .devlop p a {
	color: var(--gray-2);
	font-weight: 300;
	font-size: var(--15);
}

footer .devlop p a {
	font-weight: 700;
}

footer a {
	transition: var(--transition);
}

footer p a:hover {
	color: var(--verde);
}

footer .card_ h2 {
	font-size: var(--13);
	font-weight: 700;
	color: var(--black);
	margin-bottom: 8px;
}

footer .card_ img {
	max-width: 236px;
	width: 100%;
}

footer .date_ *:last-child {
	margin: 0;
}

/* Carousel Aliados */
.cont-carousel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper_vig_sup {
	max-width: 380px;
}

.cont-carousel p {
	margin-bottom: 0;
	text-align: center;
}

.cont-carousel a {
	display: inline-block;
	margin-bottom: 0;
}

.cont-carousel .swiper-wrapper {
	align-items: center;
}

.cont-carousel .swiper-slide {
	opacity: 0 !important;
}

.cont-carousel .swiper-slide-active {
	opacity: 100% !important;
}

.cont-carousel a img {
	max-height: 110px;
	max-width: 230px;
}

.cont-carousel .swiper-button-next, .cont-carousel .swiper-button-prev {
	background: transparent;
}

.cont-carousel .swiper-button-next svg, .cont-carousel .swiper-button-prev svg {
	width: auto;
	height: 50px;
	color: var(--gray);
	padding: 0;
	stroke: var(--footer);
	stroke-width: 30px;
	transition: var(--transition);
}

.cont-carousel .swiper-button-next:hover svg, .cont-carousel .swiper-button-prev:hover svg {
	color: var(--verde);
}

.cont-carousel .swiper-button-prev {
	width: auto;
	height: auto;
	left: 5px;
	transform: translateX(100%);
}

.cont-carousel .swiper-button-next {
	width: auto;
	height: auto;
	right: 10px;
	transform: translateX(-100%);
}

/* Float Buttons */
.floatButtons {
	position: fixed;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	z-index: 99997;
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
}

.floatButtons a {
	width: 80px;
	height: 80px;
	background: white;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: all;
	transition: var(--transition);
}

.floatButtons a:hover {
	transform: scale(105%);
}

.floatButtons .verde {
	background: var(--verde);
}

.floatButtons .verde2 {
	background: var(--verde2);
}

.floatButtons .naranja {
	background: var(--naranja);
}

.floatButtons .violeta {
	background: var(--violeta);
}

.floatButtons img {
	max-width: 50px;
	max-height: 50px;
	filter: brightness(0) invert(1);
}

/* Tooltips */
.tt {
	position: relative;
}

.tt:before {
	content: attr(data-tt);
	position: absolute;
	position: absolute;
	top: 0;
	left: 50%;
	background: var(--footer);
	border: none;
	color: var(--black);
	font-size: var(--16);
	width: max-content;
	padding: 6px 10px;
	transform: translate(-50%, -100%);
	opacity: 0;
	pointer-events: none;
	border-radius: 50px;
	transition: var(--transition);
	max-width: 150px;
	text-align: center;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}

.ttLeft:before {
	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
}

.tt:hover:before {
	top: -5px;
	opacity: 100%;
}

.ttLeft:hover:before {
	top: 50%;
	left: -6px;
}

/* Breadcrumbs */
.breadcrumbNav {
	background: white;
	padding: 10px 0 0;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 300;
}

.breadcrumb {
	margin: 0;
	
}

.breadcrumb-item {
	color: var(--gray-3);
}


.breadcrumb-item a {
	color: var(--gray-3);
	transition: var(--transition);
}

.breadcrumb-item a:hover {
	color: var(--verde);
	-webkit-text-stroke: 0.5px var(--verde);
}

.breadcrumb-item+.breadcrumb-item::before {
	content: "\f105";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: var(--gray-3);
	-webkit-text-stroke: 0.3px white;
}

.breadcrumb-item.active {
	color: var(--gray-3);
}

/* Banner Static */
.bannerStatic {
	border-bottom-right-radius: 35px;
}

.bannerStatic .content_banner:before {
	animation: none;
}

.bannerStatic .figura.verde2.content_banner:before {
	background: linear-gradient(to right, rgb(var(--verde2-code) / 95%), var(--verde2));
}

.bannerStatic .figura.verde.content_banner:before {
	background: linear-gradient(to right, rgb(var(--verde-code) / 95%), var(--verde));
}

.bannerStatic .figura.violeta.content_banner:before {
	background: linear-gradient(to right, rgb(var(--violeta-code) / 95%), var(--violeta));
}

.bannerStatic .figura.naranja.content_banner:before {
	background: linear-gradient(to right, rgb(var(--naranja-code) / 95%), var(--naranja));
}

.bannerStatic .cont_descript h2 strong {
	font-weight: 800;
}

.bannerStatic .cont_descript h2 {
	animation: none;
}

.bannerStatic .cont_descript .contenidos_ {
	gap: 15px;
}

.bannerStatic .cont_descript p {
	font-size: var(--17);
	line-height: var(--20);
	animation: none;
}

/* Banner Internal */
.bannerInternal .content_banner:before, .bannerInternal .izquierda.content_banner:before {
	transform: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 0;
	animation: none;
}

.bannerInternal .figura.verde2.content_banner:before {
	background: linear-gradient(to right, transparent 20%, var(--verde2) 50%);
}

.bannerInternal .figura.verde.content_banner:before {
	background: linear-gradient(to right, transparent 20%, var(--verde) 50%);
}

.bannerInternal .figura.violeta.content_banner:before {
	background: linear-gradient(to right, transparent 20%, var(--violeta) 50%);
}

.bannerInternal .figura.naranja.content_banner:before {
	background: linear-gradient(to right, transparent 20%, var(--naranja) 50%);
}

.bannerInternal .figura.izquierda.verde2.content_banner:before {
	background: linear-gradient(to left, transparent 20%, var(--verde2) 50%);
}

.bannerInternal .figura.izquierda.verde.content_banner:before {
	background: linear-gradient(to left, transparent 20%, var(--verde) 50%);
}

.bannerInternal .figura.izquierda.violeta.content_banner:before {
	background: linear-gradient(to left, transparent 20%, var(--violeta) 50%);
}

.bannerInternal .figura.izquierda.naranja.content_banner:before {
	background: linear-gradient(to left, transparent 20%, var(--naranja) 50%);
}

.bannerInternal .content_banner .bgbox_ {
	width: 50%;
}

.bannerInternal .cont_descript {
	padding-bottom: 0;
}

.bannerInternal .cont_descript .cont_ {
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 10px;
	flex-wrap: wrap;
	animation: fadeInDown 1s ease-in-out 1s backwards;
}

.bannerInternal .cont_descript .date {
	display: flex;
	gap: 15px;
}

.bannerInternal .cont_descript .tooltips {
	color: white;
	font-size: var(--14);
}

.bannerInternal .cont_descript .category {
	background: white;
	padding: 5px 10px;
	border-radius: 50px;
	font-weight: 800;
	line-height: 1.2;
}

.bannerInternal .verde .cont_descript .category {
	color: var(--verde);
}

.bannerInternal .verde2 .cont_descript .category {
	color: var(--verde2);
}

.bannerInternal .naranja .cont_descript .category {
	color: var(--naranja);
}

.bannerInternal .violeta .cont_descript .category {
	color: var(--violeta);
}

/* Tab Navigation */
.tabsNavigation .nav-pills {
	display: none;
}

.tabsSelect.dselect-wrapper:not(:has(+ .publicity)) {
	position: sticky;
	top: 0;
}

.tabsSelect.dselect-wrapper .form-select {
	display: none;
}

.tabsSelect.dselect-wrapper .dropdown-menu {
	display: block;
	border: none;
	position: relative;
	box-shadow: none;
	border-radius: 0;
	background: transparent;
}

.tabsSelect.dselect-wrapper .dselect-items {
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding: 50px 80px;
	background: var(--tabs);
	border-radius: 0 0 35px 35px;
	position: sticky;
	top: 0;
	margin-bottom: 50px;
	border: none;
	max-height: none !important;
}

.tabsSelect.dselect-wrapper .dropdown-item, .tabsSelect.dselect-wrapper .dropdown-header {
	padding: 0;
	font-size: var(--18);
	font-weight: 700;
	color: var(--gray-2);
	text-align: left;
	width: fit-content;
	text-transform: uppercase;
	letter-spacing: 0.2px;
	line-height: 1.2;
	text-wrap: wrap;
	white-space: break-spaces;
	transition: var(--transition);
}

.tabsSelect.dselect-wrapper .dropdown-item:focus, .tabsSelect.dselect-wrapper .dropdown-item:hover {
	background: transparent;
}

.tabsSelect.dselect-wrapper .dropdown-item.active, .tabsSelect.dselect-wrapper .dropdown-item:active {
	color: var(--verde);
	font-weight: 900;
	background: transparent;
	letter-spacing: normal;
}

.verde2 .tabsSelect.dselect-wrapper .dropdown-item.active, .verde2 .tabsSelect.dselect-wrapper .dropdown-item:active {
	color: var(--verde2);
}

.violeta .tabsSelect.dselect-wrapper .dropdown-item.active, .violeta .tabsSelect.dselect-wrapper .dropdown-item:active {
	color: var(--violeta);
}

.tabsNavigation .contenidos_ {
	padding: 50px 0 50px 50px;
}

/* Contenidos */
.contenidos_ {
	font-size: var(--18);
	line-height: normal;
	color: var(--black);
	font-weight: 300;
}

.contenidos_ > * {
	margin-bottom: 30px;
}

.contenidos_ *:last-child {
	margin-bottom: 0;
}

.contenidos_ h1 {
	font-weight: 600;
	font-size: var(--46);
	color: var(--verde);
}

.contenidos_ h2 {
	text-align: left;
}

.contenidos_ img {
	border-radius: 35px;
}

.contenidos_ img.completa {
	aspect-ratio: auto;
}

.contenidos_ p {
	margin-bottom: 15px;
	text-align: justify;
}

.contenidos_ p + :not(p) {
	margin-top: 15px;
}

.contenidos_ p + p:has(img) {
	margin-top: 30px;
}

.contenidos_ p:not(:has(.boton)) + p:has(.boton) {
	margin-top: 30px;
}

.contenidos_ b , .contenidos_ strong {
	font-weight: 700;
}

.contenidos_ p img {
	margin-bottom: 15px !important;
}

.contenidos_ h2:has( + h1), .contenidos_ h2:has( + h2), .contenidos_ h2:has( + h3), .contenidos_ h2:has( + h4), .contenidos_ h2:has( + h5), .contenidos_ h2:has( + h6) {
	margin-bottom: 15px;
}

.contenidos_ h3 {
	font-size: var(--30);
	font-weight: 500;
	color: var(--verde);
	margin-bottom: 15px;
}

.contenidos_ h5, h5 {
	font-size: var(--18);
	font-weight: 900;
	color: var(--verde);
	text-transform: uppercase;
}

.contenidos_ h6 {
	font-size: var(--20);
	font-weight: 800;
	margin-bottom: 15px;
}

.contenidos_ table:not(.tabla) {
	width: 100%;
}

.contenidos_ table:not(.tabla) * {
	margin: 0;
	text-align: left;
}

.contenidos_ table:not(.tabla) td {
	border: solid transparent;
	border-width: 20px 40px;
	vertical-align: top;
}

.contenidos_ table:not(.tabla) tr:first-child td {
	border-top-width: 0;
}

.contenidos_ table:not(.tabla) td:first-child {
	border-left-width: 0;
}

.contenidos_ table:not(.tabla) td:last-child {
	border-right-width: 0;
}

.contenidos_ table:not(.tabla) tr:last-child td {
	border-bottom-width: 0;
}

.contenidos_ ul, .contenidos_ ol {
	padding: 0;
}

.contenidos_ ol ol, .contenidos_ ol ul, .contenidos_ ul ol, .contenidos_ ul ul {
	margin-top: 15px;
}

.contenidos_ ol {
	counter-reset: list;
}

.contenidos_ li {
	padding-left: 15px;
	margin-bottom: 15px;
	position: relative;
	text-align: justify;
	list-style-type: none;
}

.contenidos_ ol > li {
	padding-left: 30px;
}

.contenidos_ .listaE > li {
	padding-left: 30px;
}

.contenidos_ li::marker {
	content: none;
}

.contenidos_ ul > li:before {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	background: var(--black);
	border-radius: 50%;
	top: 10px;
	left: 0;
}

.contenidos_ ol > li:before {
	counter-increment: list;
	content: counter(list) ".";
	position: absolute;
	top: 0;
	right: calc(100% - 25px);
	font-weight: 700;
}

.contenidos_ .listaE > li:before {
	width: 20px;
	height: 20px;
	background: url('../images/icon.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	border-radius: 0;
	top: 2px;
	left: 0;
}

.contenidos_ .convenios {
	--bs-gutter-x: 2rem;
	--bs-gutter-y: 2rem;
	margin-top: 0;
}

.contenidos_ .convenios .convenio {
	width: 100%;
	height: 135px;
	background: var(--tabs);
	border: none;
	border-radius: 25px;
	padding: 20px 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.contenidos_ .convenios .convenio img {
	max-height: 100%;
	width: auto;
	border-radius: 0;
	background: transparent;
	aspect-ratio: auto;
}

.contenidos_ .convenios button.convenio:after {
	content: "\f055";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	color: white;
	background: rgb(var(--verde-code) / 80%);
	opacity: 0;
	transition: var(--transition);
}

.contenidos_ .convenios button.convenio:hover:after {
	opacity: 100%;
	font-size: 50px;
}

.contenidos_ .boton {
	display: flex;
	border-radius: 25px;
	padding: 15px 35px;
	font-size: var(--20);
	font-weight: 700;
	background: var(--tabs);
	color: var(--black);
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	transition: var(--transition);
	gap: 15px;
	text-align: left;
	border: none;
}

.contenidos_ .boton.verde {
	background: var(--verde);
	color: white;
}

.contenidos_ .boton.verde:hover {
	background: var(--verde2);
	color: white !important;
}

.contenidos_ .boton:hover {
	background: var(--verde);
	color: white;
}

.verde2 .contenidos_ .boton:hover {
	background: var(--verde2);
}

.violeta .contenidos_ .boton:hover {
	background: var(--violeta);
}

.contenidos_ .boton.pdf {
	border-radius: 50px;
}

.contenidos_ .boton.pdf:after {
	content: '';
	width: 35px;
	height: 35px;
	background: url('../images/pdf.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: var(--transition);
}

.contenidos_ .boton:hover:after {
	filter: brightness(0) invert(1);
}

.contenidos_ .boton:has(img) {
	justify-content: center;
}

.contenidos_ .boton img {
	max-height: 60px;
	height: 100%;
	object-fit: contain;
	background: transparent;
	margin-bottom: 0 !important;
	transition: var(--transition);
}

.contenidos_ .boton:hover img {
	filter: brightness(0) invert(1);
}

.contenidos_ a {
	font-weight: 800;
	color: var(--verde);
	transition: var(--transition);
}

.violeta .contenidos_ a {
	color: var(--violeta);
}

.contenidos_ a:hover {
	color: var(--verde2);
}

.contenidos_ .tabla {
	border-radius: 25px;
	overflow: hidden;
	border-color: var(--black);
	line-height: 1.2;
}

.contenidos_ .tabla > :not(caption) > * > * {
	color: var(--black);
	background: transparent;
}

.contenidos_ .tabla thead tr:first-child, .contenidos_ .tabla tbody tr:first-child {
	border-top-width: 0;
}

.contenidos_ .tabla td:first-child, .contenidos_ .tabla th:first-child {
	border-left-width: 0;
}

.contenidos_ .tabla td:last-child, .contenidos_ .tabla th:last-child {
	border-right-width: 0;
}

.contenidos_ .tabla tbody tr:last-child, .contenidos_ .tabla tfoot tr:last-child {
	border-bottom-width: 0;
}

.contenidos_ .tabla thead td, .contenidos_ .tabla thead th {
	background: var(--verde);
	padding: 25px 15px;
	font-weight: 900;
	color: white;
	font-size: var(--18);
	vertical-align: top;
}

.violeta .contenidos_ .tabla thead td, .violeta .contenidos_ .tabla thead th {
	background: var(--violeta);
}

.contenidos_ .tabla td, .contenidos_ .tabla th {
	padding: 15px;
}

.contenidos_ .tabla th {
	font-weight: 700;
	background: var(--tabs);
}

.contenidos_ iframe[src*="https://www.google.com/maps"] {
	aspect-ratio: 1.8;
}

.contenidos_ iframe, .contenidos_ video {
	aspect-ratio: 16 / 9;
}

/* Acordeón */
.accordion-item {
	background: transparent;
	border: none;
}

.accordion-button {
	border-radius: 25px !important;
	padding: 15px 35px;
	font-size: var(--20);
	font-weight: 700;
	background: rgb(var(--verde-code) / 15%);
	color: var(--black);
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 20px !important;
	line-height: 1.2;
	transition: var(--transition);
}

.verde2 .accordion-button {
	background: rgb(var(--verde2-code) / 15%);
}

.violeta .accordion-button {
	background: rgb(var(--violeta-code) / 15%);
}

.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
	margin-bottom: 0 !important;
}

.accordion-button:not(.collapsed) {
	background: var(--verde);
	color: white;
	box-shadow: none;
}

.verde2 .accordion-button:not(.collapsed) {
	background: var(--verde2);
}

.violeta .accordion-button:not(.collapsed) {
	background: var(--violeta);
}

.accordion-button > div {
	display: flex;
	align-items: center;
	gap: 20px;
}

.accordion-button img {
	width: 60px;
	height: 60px;
	background: transparent;
	object-fit: contain;
	border-radius: 0;
	transition: var(--transition);
}

.accordion-button:not(.collapsed) img {
	filter: brightness(0) invert(1);
}

.accordion-button svg {
	transition: var(--transition);
	transition-property: transform;
}

.accordion-button:not(.collapsed) svg {
	transform: rotate(180deg);
}

.accordion-button:after {
	content: none;
}

.accordion-button:focus {
	box-shadow: none;
}

.accordion-body {
	margin: 0 0 30px !important;
	padding: 10px 0 0;
}

.accordion-body > * {
	margin-bottom: 30px;
}

.accordion-item:last-of-type .accordion-body {
	margin-bottom: 0 !important;
}

.accordion li {
	margin: 0px;
}

.accordion .accordion .accordion-item {
	margin-bottom: 15px;
}

.accordion .accordion .accordion-button, .accordion .accordion .accordion-button:not(.collapsed) {
	justify-content: center;
	color: var(--black);
	background: rgb(var(--tabs-code) / 66%);
	margin-bottom: 0 !important;
}

.accordion .accordion .accordion-button:not(.collapsed) {
	border-radius: 25px 25px 0 0 !important;
}

.accordion .accordion .accordion-button svg {
	display: none;
}

.accordion .accordion .accordion-body {
	border-radius: 0 0 25px 25px;
	background: rgb(var(--tabs-code) / 66%);
	padding: 1px 20px 20px;
}

.accordion .accordion .tabla {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--black);
	vertical-align: middle;
}

.accordion .accordion .tabla thead tr > * {
	padding: 15px;
}

.accordion .accordion .tabla th {
	background: rgb(var(--gray-3-code) / 38%);
}

.accordion .accordion .tabla tr > * {
	border-width: 1px 1px 0 1px;
	padding: 10px;
}

.accordion .accordion .tabla tr:first-child > * {
	border-top-width: 0;
}

.accordion .accordion .tabla tr > *:last-child, .accordion .accordion .tabla tr > *:has(+ *) {
	border-right-width: 0;
}

.accordion .accordion .tabla tr > *:first-child {
	border-left-width: 0;
}

.accordion .accordion .tabla tr:last-child > * {
	border-bottom-width: 0;
}

/* Modals */
.modal {
	z-index: 99999;
}

.modal-backdrop {
	z-index: 99998;
}

.modal-content {
	margin-top: 70px;
	border-radius: 25px;
	overflow: visible !important;
	max-height: calc(100dvh - (1.75rem * 2) - 70px) !important;
}

.modal-header {
	padding: 0;
	justify-content: center;
	border: none;
}

.modalImage {
	max-width: calc(100% - 40px);
	height: 135px;
	width: 380px;
	padding: 20px 60px;
	background: var(--tabs);
	border-radius: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
}

.modalImage img {
	max-width: 100%;
	max-height: 100%;
}

.modal-header .btn-close {
	padding: 0;
	margin: 0;
	position: absolute;
	top: -70px;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	background: var(--verde);
	opacity: 100%;
	color: white;
	border-radius: 50%;
	transition: var(--transition);
}

.modal-header .btn-close:hover {
	background: var(--verde2);
}

.modal-header .btn-close svg {
	width: 20px;
	height: 20px;
}

.modal-body {
	margin: 110px 20px 40px;
	padding: 0 20px;
}

.selectDescription {
	margin-top: 20px;
	text-align: center;
	color: var(--black);
}

.modalConvenio .modal-footer {
	padding: 0;
	border: none;
}

.modalConvenio .modal-footer button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	background: var(--verde);
	color: white;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	transition: var(--transition);
}

.modalConvenio .modal-footer button:hover {
	transform: translateY(-50%) scale(120%);
}

.modalConvenio .modal-footer .modalPrev {
	left: -60px;
}

.modalConvenio .modal-footer .modalNext {
	right: -60px;
}

.modalConvenio > .modal:first-child .modal-footer .modalPrev {
	visibility: hidden;
}

.modalConvenio > .modal:last-child .modal-footer .modalNext {
	visibility: hidden;
}

/* Modales Emergentes */
.modalEmergentes .modal-content {
	margin-top: 0;
	max-height: 100% !important;
}

.modalEmergentes .modal-header {
	z-index: 1;
}

.modalEmergentes .modal-header .btn-close {
	top: -20px;
}

.modalEmergentes .modal-body {
	margin: 0;
	padding: 20px;
	text-align: center;
}

.modalEmergentes .modal-body img {
	max-height: calc(100vh - 42px - var(--bs-modal-margin) * 2);
	object-fit: contain;
	object-position: center;
	border-radius: 10px;
}

.modalEmergentes .sinFondo .modal-content {
	background: transparent;
	border: none;
}

.modalEmergentes .sinFondo .modal-body {
	padding: 0;
}

.modalEmergentes .sinFondo .modal-body img {
	max-height: calc(100vh - var(--bs-modal-margin) * 2);
	border-radius: 25px;
}

/* Forms */
.dselect_ select {
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	margin: 0 !important;
}

.form-floating > .dselect-wrapper {
	padding: 0 !important;
	margin-bottom: 20px;
}

.dselect-wrapper:has(.dselect-placeholder) {
	border: 1px solid var(--black) !important;
}

.form-floating .form-select:not(:has(.dselect-placeholder)) {
	padding: 26px 40px 6px 24px;
}

::-webkit-datetime-edit-year-field:not([aria-valuenow]),
::-webkit-datetime-edit-month-field:not([aria-valuenow]),
::-webkit-datetime-edit-day-field:not([aria-valuenow]) {
	color: transparent;
}

.dselect-wrapper .form-select {
	font-size: var(--18);
	padding: 16px 24px;
	border-radius: 10px;
	font-weight: 700;
	background: transparent;
	color: var(--black);
	justify-content: space-between;
	flex-wrap: nowrap;
	border: none;
	line-height: 1.2;
	transition: var(--transition), padding 0;
	display: block;
	word-spacing: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
}

.dselect-wrapper.disabled .form-select {
	color: rgb(var(--black-code) / 25%);
}

.dselect-wrapper .form-select:after {
	content: '\f078';
	font-family: "Font Awesome 6 Free";
	font-size: var(--14);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 24px;
}

.dselect-wrapper .form-select.show {
	box-shadow: none;
	border-color: var(--verde);
}

.form-select:focus {
	box-shadow: none;
}

.dselect-wrapper .dropdown-menu {
	padding: 0;
	border-radius: 10px;
	border: none;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	overflow: hidden;
}

.dselect-wrapper .dropdown-item, .dselect-wrapper .dropdown-header {
	padding: 5px 20px;
	font-size: var(--16);
	text-wrap: wrap;
	white-space: break-all;
	line-height: 1.2;
}

.dropdown-item:not(.sm-sub-item).active, .dropdown-item:not(.sm-sub-item):active {
	color: white;
	background: var(--verde);
}

.form-label {
	font-size: var(--18);
	color: var(--black);
	transition: var(--transition);
}

.form-label:has(~ div input:required):after {
	content: "*";
	padding-left: 2px;
	position: relative;
	top: -4px;
	color: var(--verde);
	font-weight: 700;
}

.form-label:has(~ div > input:checked) {
	color: var(--verde);
}

label.btn {
	border: 1px solid rgb(var(--black-code) / 25%);
	font-weight: 700;
	font-size: var(--18);
	padding: 5px 10px;
	transition: var(--transition);
	margin-bottom: 20px !important;
}

.btn-check + .btn:hover {
	color: var(--black);
	background: rgb(var(--verde-code) / 15%);
	border-color: var(--verde);
}

.btn-check:checked + .btn {
	color: white;
	background: var(--verde);
	border-color: var(--verde);
}

.form-control, .form-select {
	font-size: var(--18);
	padding: 16px 24px;
	margin-bottom: 20px;
	border-radius: 35px;
	font-weight: 700;
	background-color: transparent;
	color: var(--black);
	border: 1px solid var(--black);
	transition: var(--transition), padding 0s;
	text-overflow: ellipsis;
}

.form-control:disabled, .form-control.disabled {
	background: var(--footer) !important;
	pointer-events: none;
}

.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
	padding: 16px 24px;
	height: auto;
	min-height: 0;
	line-height: 1.2;
}

.form-floating > .form-control:disabled ~ .form-label, .form-floating > :disabled ~ .form-label, .form-floating > .form-control.disabled ~ .form-label, .form-floating > .disabled ~ .form-label {
	color: rgb(var(--black-code) / 25%) !important;
}

.form-floating>.form-control-plaintext~label::after, .form-floating>.form-control:focus~label::after, .form-floating>.form-control:not(:placeholder-shown)~label::after, .form-floating>.form-select~label::after {
	background: transparent;
}

.form-floating > .form-control:required ~ .form-label:after, .form-floating > :required ~ .form-label:after {
	content: "*";
	padding-left: 2px;
	position: relative;
	top: -4px;
	background: transparent;
	inset: auto;
	color: var(--verde);
}

.form-control:focus {
	color: rgb(var(--black-code) / 85%);
	background-color: transparent;
	border-color: var(--verde);
	box-shadow: none;
}

.form-floating > .form-control-plaintext:focus, .form-floating > .form-control-plaintext:not(:placeholder-shown), .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), .form-floating > .form-select:not(.selectEmpty) {
	padding: 26px 24px 6px;
	border-color: var(--verde);
}

.form-floating > label, .form-floating > .form-select ~ label {
	padding: 0 24px;
	font-size: var(--18);
	height: auto;
	top: 14px;
	background: transparent;
	font-weight: 700;
	color: var(--gray-2);
	transform: none;
	transition: var(--transition);
}

.dselect-wrapper .dselect-placeholder {
	color: transparent;
}

.dselect-wrapper:has(.dselect-placeholder) ~ .form-label {
	font-size: var(--18) !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: var(--gray-2) !important;
}

.form-floating > .form-control-plaintext ~ .form-label, .form-floating > .form-control:focus ~ .form-label, .form-floating > .form-control:not(:placeholder-shown) ~ .form-label, .form-floating > .form-select:not(.selectEmpty) ~ label {
	color: var(--verde);
	transform: none;
	top: 6px;
	font-size: var(--13);
}

::-webkit-inner-spin-button {
	appearance: none;
}

.form-select {
	cursor: pointer;
}

/* Validate */
.form-control.input-validation-error ~ .form-label, .form-control.error ~ .form-label, .input-group > .form-control.input_.error ~ .form-label, .input-group > select.error ~ .form-label, select.error ~ .dselect-wrapper ~ .form-label, select.input-validation-error ~ .dselect-wrapper ~ .form-label {
	color: var(--invalid) !important;
}

.form-control.input-validation-error, .form-control.error, .input-group > .form-control.input_.error, .input-group > select.error, select.error ~ .dselect-wrapper, select.input-validation-error ~ .dselect-wrapper {
	border-color: var(--invalid) !important;
	background-color: rgb(var(--invalidcode) / 10%);
}

.field-validation-error, label.error {
	font-size: var(--12) !important;
	background: var(--invalid);
	border-radius: 5px 5px 0 5px;
	height: fit-content;
	padding: 5px 10px;
	color: white !important;
	font-weight: 600;
	position: relative;
}

.form-floating .field-validation-error, .form-floating label.error {
	position: absolute;
	top: 10px !important;
	left: auto;
	right: -8px;
	overflow: visible;
	transform: translateY(-50%) !important;
}

.field-validation-error:after, label.error:after, .field-validation-error:before, label.error:before {
	content: "";
	position: absolute;
	inset: 100% 0 0 calc(100% - 8px) !important;
	border: 4px solid;
	border-color: var(--invalid) transparent transparent var(--invalid);
	background: transparent !important;
	height: auto !important;
	z-index: 0 !important;
}

.field-validation-error:after, label.error:after {
	border-color: rgb(0 0 0 / 30%) transparent transparent rgb(0 0 0 / 30%);
}

/* Publicidad */
.publicity {
	margin: 50px auto;
	max-width: 450px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.dropdown + .publicity {
	margin-top: 0;
}

.publicity img {
	border-radius: 25px;
	width: 100%;
}

.publicity .contenidos_ {
	padding: 20px;
	background: var(--footer);
	border-radius: 25px;
}

/* Mapas */
.mapsContainer, .maps, .campus, .campus iframe {
	position: relative;
	aspect-ratio: 1.8;
	border-radius: 35px;
	overflow: hidden;
}

.mapsContainer {
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	margin: 50px 0 -20px 50px;
}

.maps:after {
	content: '';
	width: 100%;
	height: 100%;
	background: rgb(var(--black-code) / 50%);
	position: absolute;
	visibility: hidden;
	opacity: 0;
	transition: var(--transition);
}

.openMenu .maps:after {
	visibility: visible;
	opacity: 100%;
}

.campus {
	visibility: hidden;
	position: absolute;
	width: 100%;
}

.campus.active {
	visibility: visible;
	animation: fadeIn 0.5s ease-in-out;
}

.campus iframe {
	top: 0;
	left: 0;
}

.campus .name {
	position: absolute;
	top: 15px;
	right: 15px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 50px 10px 20px;
	background: white;
	border-radius: 50px;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	font-weight: 800;
}

.mapsContainer > button {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
	background: var(--verde);
	color: white;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--20);
	animation: pulse 1s ease-in-out infinite;
	transition: var(--transition);
}

.mapsContainer button:hover {
	background: var(--verde2);
	animation: none;
}

.mapsMenu {
	position: absolute;
	top: 0;
	right: -250px;
	max-width: calc(100% - 20px);
	width: 250px;
	height: 100%;
	background: white;
	display: flex;
	flex-direction: column;
	padding: 30px 0;
	transition: var(--transition);
}

.openMenu .mapsMenu {
	right: 0;
}

.mapsMenu h5 {
	padding: 5px 20px;
}

.mapsMenu button {
	padding: 5px 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	background: transparent;
	color: var(--black);
	border: none;
	transition: var(--transition);
}

.mapsMenu button:hover {
	background: rgb(var(--verde-code) / 25%);
}

.mapsMenu button.active {
	background: var(--verde);
	color: white;
}

/* Virtual */
.virtual {
	position: relative;
	border-radius: 35px;
	overflow: hidden;
	margin-bottom: 30px;
}

.virtual img {
	max-width: 100%;
	width: 100%;
	height: auto;
	aspect-ratio: 804 / 494;
	object-fit: cover;
}

.virtual .description {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent 50%, rgb(0 0 0 / 75%));
	display: flex;
	flex-direction: column;
	justify-content: end;
	align-items: center;
	gap: 10px;
	padding: 30px;
	color: white;
	font-size: var(--24);
	line-height: 1.2;
	transition: var(--transition);
}

.virtual .description:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(var(--verde-code) / 70%);
	opacity: 0;
	transition: var(--transition);
}

.virtual.verde2 .description:before {
	background: rgb(var(--verde2-code) / 70%);
}

.virtual:hover .description:before {
	opacity: 100%;
}

.virtual .boton {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: var(--30);
	padding: 15px 30px;
	background: var(--verde);
	border-radius: 25px;
	max-width: 360px;
	line-height: 1.2;
	font-weight: 800;
	color: white;
	position: relative;
	transition: var(--transition);
}

.virtual.verde2 .boton {
	background: var(--verde2);
}

.virtual:hover .boton {
	margin-bottom: 50px;
}

.virtual .boton img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.virtual .boton div {
	width: min-content;
}

.virtual .description .text {
	max-width: 360px;
	margin: 0 auto;
	text-align: center;
	transition: var(--transition);
	position: relative;
}

.virtual:hover .description .text {
	opacity: 0;
}

/* Simulador */
.btnToolp_ {
	position: absolute;
	top: 0;
	left: 20px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	z-index: 3;
}

.btnToolp_ svg, .btnToolp_ i {
	background: white;
	display: flex;
	border-radius: 50%;
}

.tip_chart {
	position: absolute;
	width: max-content;
	max-width: 250px;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	top: 0;
	left: 25px;
	background: white;
	padding: 10px;
	border-radius: 10px;
	line-height: 1.2;
	font-size: var(--14);
	font-weight: 400;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	transition: var(--transition);
}

.ttLeft .tip_chart {
	left: auto;
	right: 25px;
}

.tip_chart h1 {
	font-size: var(--20);
	font-weight: 800;
	color: var(--verde);
}

.btnToolp_:hover .tip_chart {
	visibility: visible;
	opacity: 100%;
}

/* Loader */
.loadsim, .loadsim {
	position: relative;
}

/**/
.loading_overlay, .loading_overlay {
	position: absolute;
	display: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgb(255 255 255 / 60%);
	text-align: center;
	z-index: 15;
	transition: all .35s ease-in-out;
}

.loading_overlay.active {
	display: block;
	animation: fadeIn .35s ease-in-out
}

.loading_section {
	opacity: 1;
	transition: all .35s ease-in-out;
}

.loading_section.active {
	opacity: .2;
}

/**/
.loading_panel {
	position: absolute;
	display: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgb(255, 255, 255);
	text-align: center;
	z-index: 2;
	transition: all .15s ease-in-out;
}

.loading_panel.active {
	display: block;
}

.loader_5 {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto !important;
	height: 32px;
	width: 32px;
	-webkit-animation: loader-5-1 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
	animation: loader-5-1 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loader-5-1 {
	0% {
		-webkit-transform: rotate(0deg);
	}
	
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes loader-5-1 {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.loader_5::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: auto;
	margin: auto;
	width: 8px;
	height: 8px;
	background: var(--verde);
	border-radius: 50%;
	-webkit-animation: loader-5-2 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
	animation: loader-5-2 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loader-5-2 {
	0% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		-webkit-transform: translate3d(24px, 0, 0) scale(.5);
	}
	
	100% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes loader-5-2 {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		transform: translate3d(24px, 0, 0) scale(.5);
	}
	
	100% {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.loader_5::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: auto;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	background: var(--verde);
	border-radius: 50%;
	-webkit-animation: loader-5-3 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
	animation: loader-5-3 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loader-5-3 {
	0% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		-webkit-transform: translate3d(-24px, 0, 0) scale(.5);
	}
	
	100% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes loader-5-3 {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		transform: translate3d(-24px, 0, 0) scale(.5);
	}
	
	100% {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.loader_5 span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 32px;
	width: 32px;
}

.loader_5 span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: auto;
	right: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	background: var(--naranja);
	border-radius: 50%;
	-webkit-animation: loader-5-4 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
	animation: loader-5-4 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loader-5-4 {
	0% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		-webkit-transform: translate3d(0, 24px, 0) scale(.5);
	}
	
	100% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes loader-5-4 {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		transform: translate3d(0, 24px, 0) scale(.5);
	}
	
	100% {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.loader_5 span::after {
	content: "";
	display: block;
	position: absolute;
	top: auto;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	background: var(--naranja);
	border-radius: 50%;
	-webkit-animation: loader-5-5 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
	animation: loader-5-5 2s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loader-5-5 {
	0% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		-webkit-transform: translate3d(0, -24px, 0) scale(.5);
	}
	
	100% {
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes loader-5-5 {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	
	50% {
		transform: translate3d(0, -24px, 0) scale(.5);
	}
	
	100% {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.card-stats .card-content {
	margin-bottom: 20px;
}

.card-stats .category {
	font-size: var(--15);
	font-weight: 700;
	margin-bottom: 0;
}

.card-stats .title {
	font-size: var(--26);
	font-weight: 700;
	color: var(--black);
}

.cfinal .title {
	color: var(--verde);
}

.boton.disabled {
	pointer-events: none;
	background: var(--footer) !important;
	color: rgb(var(--black-code) / 25%) !important;
}

/* News */
.categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	background: white;
	border-radius: 50px;
	padding: 0 30px;
	box-shadow: 0 3px 8px 0 rgb(0 0 0 / 20%);
}

.categories button {
	display: flex;
	align-items: center;
	font-size: var(--20);
	gap: 5px;
	color: var(--black);
	line-height: 1.2;
	border: none;
	font-weight: 600;
	padding: 30px 10px;
	position: relative;
	transition: var(--transition);
}

.categories button:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 4px;
	background: var(--violeta);
	transition: var(--transition);
}

.categories button:hover, .categories button.active {
	text-shadow: 0 0 .9px var(--black), 0 0 .9px var(--black), 0 0 .9px var(--black);
}

.categories button:hover:before, .categories button.active:before {
	left: 0;
	width: 100%;
}

.no-data {
	padding: 30px;
	background: rgb(var(--gray-code) / 10%);
	border: 1px solid rgb(var(--gray-2code) / 50%);
	border-radius: 20px;
	font-weight: 800;
	font-size: var(--27);
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--verde2);
}

/* Galería */
.modulog_ {
	position: relative;
	display: block;
	margin: 40px 0px;
}

.gallery_page {
	height: auto;
}

.gallery_page .swiper-container {
	border-radius: 10px;
	background: #fff;
}

.gallery_page .swiper-slide-container {
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	height: 100%;
	width: 100%;
	margin: auto;
}

.gallery_page .area-top {
	height: 380px;
	width: 100%;
}

.gallery_page .swiper-button-next, .gallery_page .swiper-button-prev {
	margin: 0;
	position: absolute;
	top: 50%;
	transform: none;
	display: flex;
}

.gallery_page .swiper-button-next {
	left: auto;
	right: 0;
}

.gallery_page .swiper-button-next:hover, .gallery_page .swiper-button-prev:hover {
	background: var(--verde);
	color: white;
}

.gallery_page .area-thumbs {
	height: 120px;
	box-sizing: border-box;
	padding: 10px 0;
}

.gallery_page .area-thumbs .swiper-slide {
	width: 20%;
	height: 100%;
	border-radius: 5px;
	overflow: hidden;
}

.gallery_page .area-thumbs .swiper-slide-container {
	background-size: cover;
	position: relative;
	cursor: pointer;
	opacity: .6;
	transition: all .25s ease-in-out;
}

.gallery_page .area-thumbs .swiper-slide-container:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.3);
	transition: all .25s ease-in-out;
}

.gallery_page .area-thumbs .swiper-slide-container:hover {
	opacity: .8;
}

.gallery_page .area-thumbs .swiper-slide-container:hover:after {
	background: rgba(255, 255, 255, 0.25);
}

.gallery_page .area-thumbs .swiper-slide-thumb-active .swiper-slide-container {
	opacity: 1;
}

.gallery_page .area-thumbs .swiper-slide-thumb-active .swiper-slide-container:after {
	background: rgba(255, 255, 255, 0);
}

/* LightGallery */
#lightgallery {
	column-count: 3;
	margin: 0;
}

#lightgallery a {
	position: relative;
	margin-bottom: 20px;
	height: auto !important;
	cursor: pointer;
	padding: 0;
	display: flex;
	justify-content: center;
}

#lightgallery a img {
	aspect-ratio: auto;
	width: 100%;
}

.lg-backdrop {
	z-index: 99999;
}

.lg-outer {
	z-index: 999999;
}

.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
	border-color: var(--verde);
}

/* Share */
.shareContainer {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 30px;
}

.shareButton {
	padding: 10px 20px;
	background: var(--footer);
	color: var(--black);
	border-radius: 50px;
	display: flex;
	align-items: center;
	gap: 5px;
	font-weight: 900;
	text-transform: uppercase;
}

/* Publications */
.post, .gallery, .result {
	display: flex;
	align-items: center;
	gap: 20px;
	border: 1px solid rgb(var(--gray-code) / 30%);
	padding: 15px;
	border-radius: 20px;
	height: 100%;
	transition: var(--transition);
}

.post:hover, .gallery:hover, .result:hover {
	border-color: rgb(var(--gray-code) / 50%);
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

.post img, .gallery img {
	aspect-ratio: 10 / 12;
	max-width: 100px;
	border-radius: 15px;
	object-position: center;
	object-fit: cover;
}

.post .title, .gallery .title, .result .title {
	color: var(--black);
	font-weight: 800;
	font-size: var(--20);
	line-height: 1.2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 10px;
}

.post .date, .gallery .date {
	display: flex;
	gap: 5px 20px;
	flex-wrap: wrap;
	width: 100%;
}

.post:not(:has(img)):before {
	content: "";
	width: 100px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 50px;
	color: #000;
	background: url("../images/descargas.png");
	background-position: center;
	background-size: 70%;
	background-repeat: no-repeat;
}

/* Galleries */
.gallery {
	flex-direction: column;
	text-align: center;
}

.gallery img {
	aspect-ratio: 16 / 9;
	max-width: 100%;
}

.gallery .date {
	justify-content: center;
}

.gallery .button {
	padding: 5px 10px;
	background: var(--black);
	color: white;
	border-radius: 50px;
	align-items: center;
	line-height: 1.2;
	position: relative;
	overflow: hidden;
}

.gallery .button:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: var(--naranja);
	transition: var(--transition);
}

.gallery .button:hover:before {
	opacity: 70%;
}

.gallery .button * {
	display: flex;
	position: relative;
}

/* Cookies */
.cookies {
	position: fixed;
	top: calc(100% - 50px);
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 20;
	max-width: calc(100% - 40px);
	width: 600px;
	transition: all 1s cubic-bezier(.5,-0.4,.46,1);
}

.cookies.closed {
	top: calc(100% + 50px);
	opacity: 0;
	transform: translate(-50%, -100%) scale(0);
}

.cookiesContainer {
	width: 100%;
	background: white;
	padding: 20px;
	border-radius: 20px;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	text-align: center;
	color: var(--black);
	line-height: 1.2;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.cookies .title {
	font-size: var(--20);
	font-weight: 700;
	margin-bottom: 10px;
}

.cookies .text {
	margin-bottom: 20px;
	font-size: var(--14);
}

.cookies .button {
	display: flex;
	padding: 10px 15px;
	align-items: center;
	gap: 10px;
	border: none;
	background: var(--footer);
	border-radius: 50px;
	font-weight: 800;
	transition: var(--transition);
}

.cookies .button:hover {
	background: var(--verde);
	color: white;
}

/* Results */
.result:before {
	content: attr(data-order);
	font-size: var(--40);
	padding: 10px;
	font-weight: 800;
	color: var(--gray);
	line-height: 1;
}

.resultContent {
	width: 100%;
}

.result .text {
	color: var(--gray-2);
	line-height: 1.2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 10px;
}

.result .link {
	font-weight: 800;
	color: white;
	background: var(--verde);
	padding: 5px 15px;
	width: fit-content;
	border-radius: 50px;
	transition: var(--transition);
}

.result:hover .link {
	background: var(--verde2);
	letter-spacing: 1px;
}

/* Picker */
.formDate {
	background-image: url('./../images/calendar.png');
	background-repeat: no-repeat;
	background-position: top 10px right 24px;
	background-size: 34px;
	cursor: pointer;
}

.picker__holder {
	border: none;
	max-width: 320px;
	border-radius: 25px;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}

.picker__box {
	padding: 15px;
}

.picker__header {
	padding: 0;
	margin-bottom: 20px;
}

.picker__header select {
	border: 1px solid var(--black) !important;
	height: auto !important;
	font-size: var(--14);
	line-height: 1.2;
	display: inline-flex !important;
	width: auto !important;
	padding: 5px 10px !important;
	margin: 0 2px !important;
	border-radius: 50px;
	appearance: none;
	font-weight: 700;
}

.picker__nav--prev, .picker__nav--next {
	background: var(--verde);
	border-radius: 50%;
	color: white;
	transition: var(--transition);
}

.picker__nav--prev:hover, .picker__nav--next:hover {
	background: var(--verde2);
}

.picker__nav--disabled {
	pointer-events: none;
	opacity: 50%;
}

.picker__table {
	text-align: center !important;
}

.picker__weekday {
	text-align: center !important;
	font-size: var(--14);
	color: var(--black);
	font-weight: 800;
	text-transform: uppercase;
}

.picker__table td {
	border: none !important;
}

.picker__day {
	border-radius: 10px;
	color: var(--black);
	text-align: center !important;
	transition: var(--transition);
}

.picker__day:hover {
	background: var(--footer);
}

.picker__day--outfocus {
	color: var(--gray);
}

.picker__day--outfocus:hover {
	color: var(--gray);
}

.picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected, .picker__day--highlighted, .picker__day--highlighted:hover, .picker--focused .picker__day--highlighted {
	background: var(--verde);
	color: white;
}

.picker__day--disabled, .picker__day--disabled:hover {
	pointer-events: none;
	opacity: 20%;
}

.picker__footer button {
	border: 1px solid var(--verde);
	padding: 5px 10px;
	border-radius: 50px;
	font-weight: 700;
	font-size: var(--14);
	color: var(--verde);
	margin: 0 2px;
	transition: var(--transition);
}

.picker__footer .picker__button--close {
	background: var(--verde);
	color: white;
}

.picker__footer button:hover {
	background: var(--verde2);
	border-color: var(--verde2);
	color: white;
}

.picker__footer button:before {
	content: none;
}

/* Radios */
.form-label + .form-check-inline {
	margin-left: 20px;
}

.form-check-inline {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0;
	margin-right: 10px;
}

.form-check .form-check-input {
	float: none;
	margin: 0;
}

.form-check-input {
	background: white;
	width: 16px;
	height: 16px;
	border: 2px solid var(--verde);
	position: relative;
	cursor: pointer;
}

.form-check-input:checked {
	background: white;
	border: 2px solid var(--verde);
}

.form-check-input:focus {
	box-shadow: none;
	border: 2px solid var(--verde);
}

.form-check-input:after {
	content: "";
	position: absolute;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	background: var(--verde);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	opacity: 0;
	transition: var(--transition);
}

.form-check-input:checked:after {
	opacity: 100%;
}

.form-check-label {
	cursor: pointer;
}

.form-floating > textarea.form-control {
	resize: none;
	overflow: hidden;
	min-height: 120px;
}

.form-check:has(#authorizationY) {
	position: relative;
}

#authorizationY {
	position: absolute;
	top: 5px;
}

#authorizationY + label {
	text-indent: 20px;
}

/* Kendo Upload */
.kendoUpload {
	display: inline-flex;
	max-width: 100%;
}

.k-upload {
	color: var(--black);
	border: none;
	display: flex;
	align-items: center;
	max-width: 100%;
}

.k-upload-empty:after {
	content: 'Ningún archivo seleccionado';
	color: var(--gray-3);
}

.k-upload .k-dropzone {
	color: var(--black);
	background: transparent;
	border: none;
	padding: 0 0 0 5px;
}

.k-upload .k-upload-button {
	min-width: auto;
	margin-right: 12px;
	border: none;
	color: white;
	background: var(--verde);
	padding: 5px 10px;
	line-height: 1.2;
	border-radius: 50px;
	font-weight: 700;
}

.contenidos_ .k-file:before {
	content: none;
}

.k-upload-files {
	border: none;
	max-width: calc(100% - 220px);
}

.k-upload-files .k-file {
	padding: 0;
	background: transparent;
	border: none;
	align-items: center;
}

.k-upload .k-progressbar {
	display: none !important;
}

.k-file > .k-file-name-size-wrapper {
	margin-left: 5px;
}

/* Responsive */
@media (max-width: 1553.98px) {
	.swiper-button-prev {
		left: -0.4%;
	}
	
	.swiper-button-next {
		right: -0.4%;
	}
}

@media (max-width: 1440.98px) {
	.container_sd {
		max-width: 1065px;
	}
	
	.main-pri .sm-nav {
		gap: 14px;
	}
	
	.content_banner {
		padding: 30px 100px;
		min-height: 420px;
	}
	
	.content_banner:before {
		right: -283px;
	}
	
	.figura.izquierda.content_banner:before {
		left: -283px;
	}
	
	.swiper-button-prev {
		left: -1%;
	}
	
	.swiper-button-next {
		right: -1%;
	}
	
	.featured-links {
		margin-top: 100px;
	}
	
	h2 {
		font-size: var(--40);
	}
	
	.featured-links img {
		height: 50px;
	}
	
	.featured-links h3 {
		font-size: var(--26);
	}
	
	.news {
		margin-top: 100px;
	}
	
	.news .card_ {
		gap: 15px;
	}
	
	.news .cont_ {
		flex-direction: column-reverse;
		align-items: center;
	}
	
	.navegacion_ {
		padding: 0;
	}
	
	.links_separator {
		margin-top: 100px;
	}
	
	.links_separator .row {
		--bs-gutter-x: 20px;
	}
	
	.links_separator h2 {
		font-size: var(--40);
	}
	
	.cont_vig_super {
		flex-direction: row;
		gap: 30px;
	}
	
	.floatButtons a {
		width: 65px;
		height: 65px;
	}
	
	.floatButtons img {
		max-width: 38px;
		max-height: 38px;
	}
	
	footer .row > div {
		width: 50%;
	}
	
	.tabsSelect.dselect-wrapper .dselect-items {
		padding: 40px;
		margin-bottom: 40px;
	}
	
	.tabsNavigation .contenidos_ {
		padding: 40px 0 40px 40px;
	}
	
	.publicity {
		margin: 40px auto;
	}
	
	.mapsContainer {
		margin: 40px 0 -10px 40px;
	}
	
	.virtual:hover .boton {
		margin-bottom: 20px;
	}
}

@media (max-width: 1219.98px) {
	.swiper-button-prev {
		transform: none;
		left: 1%;
	}
	
	.swiper-button-next {
		transform: none;
		right: 1%;
	}
	
	.links_separator .row {
		--bs-gutter-x: 18px;
	}
	
	footer .row {
		margin: 0;
	}
}

@media (max-width: 1099.98px) {
	.container_sd {
		max-width: 960px;
	}
	
	.logo {
		margin: 0;
	}
	
	.main-pri .sm-collapse {
		background: rgb(var(--verde-code) / 8%);
		border-radius: 25px;
		overflow: hidden;
	}
	
	.main-pri .sm-nav {
		padding: 0 20px 20px;
	}
	
	.search input {
		border: 1px solid var(--verde);
	}
	
	.social-media svg {
		color: white;
	}
	
	.social-media .facebook svg {
		background-image: linear-gradient(135deg, var(--verde), var(--verde) 35%, var(--facebook) 65%);
	}
	
	.social-media .twitter svg {
		background-image: linear-gradient(135deg, var(--verde), var(--verde) 35%, var(--twitter) 65%);
	}
	
	.social-media .instagram svg {
		background-image: linear-gradient(135deg, var(--verde), var(--verde) 35%, #F09433 65%, #E6683C, #DC2743, #DC2743, #BC1888);
	}
	
	.social-media .youtube svg {
		background-image: linear-gradient(135deg, var(--verde), var(--verde) 35%, var(--youtube) 65%);
	}
	
	.navbar-top .sm-nav:has(~ .search-social .search input:focus) {
		opacity: 100%;
	}
	
	#menuResponsive {
		display: block;
	}
	
	#navbar1 {
		border-radius: 0 0 25px 25px;
		padding: 0;
		background: transparent;
	}
	
	#navbar1 .sm-collapse {
		background: transparent;
	}
	
	.navbar-top .sm-nav {
		max-width: 100%;
		text-align: center;
	}
	
	.navbar-top .sm-nav-item {
		flex-direction: column;
	}
	
	.navbar-top .sm-nav .sm-nav-link {
		color: var(--black);
	}
	
	.navbar-top .sm-nav .sm-sub-toggler {
		color: white;
	}
	
	.main-pri .sm-collapse a.sm-sub-link {
		justify-content: center;
		color: var(--black);
		font-size: var(--16);
	}
	
	.search-social {
		flex-direction: column;
		margin-bottom: 20px;
	}
	
	.search:has(input:focus) {
		width: calc(100% - 40px);
	}
	
	.search input:focus {
		width: 100%;
	}
	
	.banner {
		max-width: 100%;
	}
	
	.cont_descript h2 strong {
		font-size: var(--40);
	}
	
	.cont_descript h2 {
		font-size: var(--32);
	}
	
	.cont_descript p {
		font-size: var(--26);
	}
	
	.botonE {
		font-size: var(--22);
	}
	
	.featured-links {
		margin-top: 50px;
	}
	
	h2 {
		font-size: var(--36);
	}
	
	.news {
		margin-top: 50px;
	}
	
	.links_separator {
		margin-top: 50px;
	}
	
	.links_separator .row {
		margin: 0;
	}
	
	.links_separator h2 {
		font-size: var(--36);
	}
	
	.floatButtons a {
		width: 50px;
		height: 50px;
	}
	
	.floatButtons img {
		max-width: 30px;
		max-height: 30px;
	}
	
	.tt:before {
		font-size: var(--12);
	}
	
	.tabsSelect.dselect-wrapper .dselect-items {
		padding: 30px;
		gap: 20px;
		margin-bottom: 30px;
	}
	
	.tabsSelect.dselect-wrapper .dropdown-item, .tabsSelect.dselect-wrapper .dropdown-header {
		font-size: var(--16);
	}
	
	.tabsNavigation .contenidos_ {
		padding: 30px 0;
	}
	
	.contenidos_ > * {
		margin-bottom: 20px;
	}
	
	.publicity {
		margin: 0 auto 30px !important;
	}
	
	.mapsContainer {
		margin: 30px 0 0;
	}
	
	.virtual:hover .boton {
		margin-bottom: 0;
	}
}

@media (max-width: 991.98px) {
	.container_sd {
		max-width: 720px;
	}
	
	.banner.container_sd {
		max-width: 100%;
	}
	
	.content_banner .bgbox_ {
		background-position: 32% center;
	}
	
	.content_banner.izquierda .bgbox_ {
		background-position: right 32% center;
	}
	
	.content_banner:before {
		right: -45%;
	}
	
	.cont_descript {
		max-width: 47%;
		gap: 50px;
	}
	
	.content_banner {
		padding: 30px 60px;
	}
	
	.content_banner:before {
		right: -415px;
	}
	
	.figura.izquierda.content_banner:before {
		left: -415px;
	}
	
	.botonE {
		font-size: var(--20);
	}
	
	.banner .swiper-button-prev, .banner .swiper-button-next {
		width: 45px;
		height: 45px;
	}
	
	.featured-links {
		margin-top: 50px;
	}
	
	h2 {
		font-size: var(--36);
	}
	
	.featured-links h3 {
		font-size: var(--26);
	}
	
	.news {
		margin-top: 50px;
		gap: 20px;
	}
	
	.links_separator {
		margin-top: 50px;
		gap: 20px;
	}
	
	.links_separator h2 {
		font-size: var(--36);
	}
	
	.links_separator .link {
		padding: 30px;
	}
	
	footer .row {
		row-gap: 40px;
	}
	
	.cont-carousel a img {
		max-width: 200px;
	}
	
	.tabsNavigation .dselect-wrapper .form-select {
		margin-bottom: 0;
	}
	
	.virtual .description {
		padding: 20px;
		font-size: var(--20);
	}
	
	.virtual img {
		aspect-ratio: 1;
	}
	
	.virtual .boton {
		padding: 20px;
		flex-direction: column;
		gap: 5px;
		font-size: var(--20);
		text-align: center;
	}
	
	.virtual:hover .boton {
		margin-bottom: 30px;
	}
	
	.virtual .boton img {
		width: 50px;
		height: 50px;
	}
}

@media (max-width: 767.98px) {
	.container_sd {
		max-width: 540px;
	}
	
	.banner .swiper-button-prev, .banner .swiper-button-next {
		display: none;
	}
	
	.sm-sub {
		background: transparent;
	}
	
	.banner-pagination {
		display: flex;
	}
	
	.news .cont_ {
		margin-bottom: 0px;
		flex-direction: column-reverse;
		align-items: center;
		gap: 15px;
	}
	
	.navegacion_ {
		padding: 0;
	}

	.content_banner {
		flex-direction: column-reverse;
		padding: 0;
	}

	.content_banner .bgbox_ {
		position: relative;
		height: 300px;
	}
	
	.figura.content_banner:before {
		width: 100%;
		height: calc(100% - 300px);
		border-radius: 0;
		left: 0;
		top: 0;
		transform: none;
		animation: fadeInLeft 1s ease-in-out backwards;
	}
	
	.bannerInternal .figura:before {
		animation: none;
	}
	
	.figura.verde2.content_banner:before {
		background: rgb(var(--verde2-code));
	}
	
	.figura.verde.content_banner:before {
		background: rgb(var(--verde-code));
	}
	
	.figura.violeta.content_banner:before {
		background: rgb(var(--violeta-code));
	}
	
	.figura.naranja.content_banner:before {
		background: rgb(var(--naranja-code));
	}
	
	.figura.izquierda.content_banner:before {
		left: 0;
		transform: none;
		animation: fadeInRight 1s ease-in-out backwards;
	}
	
	.cont_descript {
		max-width: 100%;
		min-height: 340px;
		padding: 40px;
		justify-content: center;
		gap: 20px;
	}
	
	.content_banner {
		min-height: 360px;
	}
	
	.cont_descript h2 {
		font-size: var(--32);
		font-weight: 600;
		line-height: 36px;
	}
	
	.cont_descript h2 strong {
		font-size: var(--34);
	}
	
	.cont_descript p {
		font-size: var(--22);
		line-height: 24px;
	}
	
	.swiper-slide-active.content_banner button {
		align-self: start;
	}
	
	footer {
		text-align: center;
		padding: 50px 0;
	}
	
	footer .row {
		row-gap: 20px;
	}
	
	footer .row > div {
		width: 100%;
	}
	
	footer h2, footer h2 a {
		text-align: center;
	}
	
	.cont_vig_super {
		flex-direction: column;
	}
	
	.links_specials .links_ {
		margin: 0 auto;
	}
	
	.cont_descript:not(:has(.botonE)) {
		padding-bottom: 50px;
	}
	
	.bannerInternal .cont_descript {
		padding-bottom: 0;
	}
	
	.contenidos_ table:not(.tabla) td {
		display: block;
		border-width: 10px 0 !important;
	}
	
	.contenidos_ table:not(.tabla) tr:first-child td:first-child {
		border-top-width: 0 !important;
	}
	
	.contenidos_ table:not(.tabla) tr:last-child td:last-child {
		border-bottom-width: 0 !important;
	}
	
	.contenidos_ .convenios {
		--bs-gutter-x: 1rem;
		--bs-gutter-y: 1rem;
	}
	
	.contenidos_ .convenios .convenio {
		padding: 20px;
	}
	
	.contenidos_ .tabla thead td {
		padding: 20px 10px;
	}
	
	.contenidos_ .tabla td, .contenidos_ .tabla th {
		padding: 10px;
	}
	
	.contenidos_ iframe[src*="https://www.google.com/maps"] {
		aspect-ratio: 1;
	}
	
	.accordion-button {
		padding: 15px 20px;
		font-size: var(--18);
	}
	
	.accordion-button > div {
		gap: 10px;
	}
	
	.accordion-button img {
		width: 50px;
		height: 50px;
	}
	
	.accordion-button svg {
		height: 0.9rem;
	}
	
	.modalConvenio .modal-content {
		max-height: calc(100dvh - (1.75rem * 2) - 140px) !important;
		margin: 100px 0 50px;
	}
	
	.modalConvenio .modalImage {
		height: 100px;
		padding: 20px;
	}
	
	.modal-header .btn-close {
		top: -100px;
	}
	
	.modal-body {
		margin: 70px 10px 20px;
	}
	
	.modalConvenio .modal-footer button {
		top: calc(100% + 30px);
	}
	
	.modalConvenio .modal-footer .modalPrev {
		left: calc(50% - 50px);
	}
	
	.modalConvenio .modal-footer .modalNext {
		right: calc(50% - 50px);
	}
	
	.mapsContainer, .maps, .campus, .campus iframe {
		aspect-ratio: 1;
	}
	
	.virtual img {
		aspect-ratio: 804 / 494;
	}
	
	.virtual .boton {
		flex-direction: row;
		gap: 10px;
		text-align: left;
	}
	
	.virtual:hover .boton {
		margin-bottom: 40px;
	}
	
	.cookies:before {
		right: 50%;
	}
	
	footer .down_app .img_ {
		justify-content: center;
	}
	
	footer .accordion-button {
		pointer-events: all;
		justify-content: center;
	}
	
	footer .accordion-button svg {
		display: block;
	}
	
	footer .accordion-collapse.collapse:not(.show) {
		display: none !important;
	}
	
	.down_app {
		padding-top: 15px;
	}
}

@media (max-width: 575.98px) {
	.container_sd {
		padding: 0 20px;
	}
	
	.banner {
		padding: 0;
	}
	
	footer .row {
		width: 100%;
		max-width: 100%;
		padding: 25px 20px;
		max-width: 425px;
		margin: auto;
	}
	
	.cont-carousel {
		margin: auto;
	}
	
	.navegacion_ {
		padding: 40px 0 0;
		margin: 0;
		position: relative;
		display: flex;
		justify-content: center;
	}
	
	.navegacion_ .swiper-button-next, .navegacion_ .swiper-button-prev {
		position: absolute;
		top: 0;
	}
	
	.navegacion_ .swiper-button-next {
		right: 0;
		left: auto;
	}
	
	.navegacion_ .swiper-button-prev {
		left: 0;
	}
	
	h2 {
		font-size: var(--28);
		line-height: 32px;
	}
	
	.main-pri .sm-collapse {
		border-radius: 0 0 25px 25px;
	}
	
	.virtual:hover .boton {
		margin-bottom: 0;
	}

	.cont_descript {
		min-height: 300px;
		padding: 20px;
	}
}

@media (max-width: 424.98px) {
	.container_sd {
		padding: 0 10px;
	}
	
	.banner {
		padding: 0;
	}
	
	.main-pri .sm-collapse a {
		font-size: var(--15);
	}
	
	.content_banner.izquierda .bgbox_ {
		background-position: 60% center;
	}
	
	.cont_descript {
		max-width: 100%;
		padding: 30px 30px;
	}
	
	.content_banner .bgbox_ {
		background-position: 16% center;
	}
	
	.content_banner.izquierda .bgbox_ {
		background-position: right 16% center;
	}
	
	.bannerInternal .content_banner .bgbox_ {
		width: 100%;
	}
	
	.cont-carousel a img {
		max-width: 120px;
	}
	
	footer {
		padding: 10px 0;
	}
	
	.virtual .description {
		font-size: var(--16);
	}
	
	.virtual img {
		aspect-ratio: 1;
	}
	
	.virtual .boton {
		flex-direction: column;
		gap: 5px;
		text-align: center;
	}
	
	.grid__ {
		margin: 0;
	}
	
	.result {
		flex-direction: column;
		text-align: center;
	}
	
	.result:before {
		padding: 0;
	}
}