/* ==============================================================
/*	GENERAL
/* ============================================================== */
	:root {
		--bs-body-font-family: 'nunitosans-regular';
		--bs-border-radius: 2rem;

        --rtp-color-primary-900: #002554;
		--rtp-color-primary-700: #0E4FCD;
        --rtp-color-primary-600: #165eeb;
		--rtp-color-primary-200: #ebf3ff;
		--rtp-color-primary-100: #F5F9FF;
		--rtp-color-secondary-700: #009cde;
		--rtp-color-base-gris-400: #ABABAB;
		--rtp-color-base-gris-300: #F1F2F4;
		--rtp-color-base-gris-200: #f7f7f7;
        --rtp-color-base-blanco: #FFFFFF;

		--rtp-rsa-color-azul-1: #4A47EA;

		--rtp-fs-64: 4rem;
		--rtp-fs-48: 3rem;
		--rtp-fs-32: 2rem;
		--rtp-fs-24: 1.5rem;
		--rtp-fs-20: 1.25rem;
        --rtp-fs-14: .875rem;
		--rtp-fs-12: 12px;
        --rtp-fs-8: .5rem;

		--rtp-gap-30: 1.875rem;
        --rtp-gap-20: 1.25rem;
        --rtp-gap-15: 0.9375rem;

		--dm-blue-1: #00AFD7;
		--dm-blue-2: #009CDE;
		--dm-blue-3: #407EC9;
		--dm-blue-4: #236192;
		--dm-blue-5: #002554;
		--dm-blue-6: #8BD2F4;
		--dm-blue-7: #0081C6;
		--dm-blue-e: #273a98;
		--dm-grey-1: #EDEDED;
		--dm-grey-2: #929292;
		--dm-white: #ffffff;
		--dm-amarillo: #FFDE00;

		--swiper-navigation-size: 49px;
		--swiper-theme-color: #4A47EA;
		--swiper-navigation-top-offset: calc(50% - 49px);
	}

	@font-face {
		font-family: 'nunitosans-regular';
		src: url('/css/fuentes/nunitosans-regular-webfont.woff2') format('woff2'), url('/css/fuentes/nunitosans-regular-webfont.woff') format('woff');
		font-display: swap;
	}

    @font-face {
		font-family: 'nunitosans-bold';
		src: url('/css/fuentes/nunitosans-bold-webfont.woff2') format('woff2'), url('/css/fuentes/nunitosans-bold-webfont.woff') format('woff');
		font-display: swap;
	}

    .fw-bold {
        font-family: 'nunitosans-bold';
    }

	.fs-64 {
		font-size: var(--rtp-fs-64);
	}
	.fs-48 {
		font-size: var(--rtp-fs-48);
	}
    .fs-24 {
        font-size: var(--rtp-fs-24);
    }
	.fs-20 {
        font-size: var(--rtp-fs-20);
    }
	.fs-12 {
        font-size: var(--rtp-fs-12);
    }
	.fs-8 {
        font-size: var(--rtp-fs-8);
    }

	.gap-30 {
        gap: var(--rtp-gap-30);
    }
    .gap-20 {
        gap: var(--rtp-gap-20);
    }
    .gap-15 {
        gap: var(--rtp-gap-15);
    }

    .mt-40 {
        margin-top: 40px;
    }
	.mb-30 {
		margin-bottom: 30px;
	}

	.ppx-70 {
		padding-left: 70px !important;
		padding-right: 70px !important;
	}
	.ppx-160 {
		padding-left: 160px !important;
		padding-right: 160px !important;
	}

	.rtp-secondary-700 {
		color: var(--rtp-color-secondary-700);
	}

	.blue1 { color: var(--dm-blue-1); }
	.blue2 { color: var(--dm-blue-2); }
	.blue3 { color: var(--dm-blue-3); }
	.blue4 { color: var(--dm-blue-4); }
	.blue5 { color: var(--dm-blue-5); }
	.blue6 { color: var(--dm-blue-6); }
	.blue7 { color: var(--dm-blue-7); }

	.purple-1 { color: var(--rtp-rsa-color-azul-1); }

	.bg-blue1 { color: var(--dm-blue-1); }
	.bg-blue2 { color: var(--dm-blue-2); }
	.bg-blue3 { color: var(--dm-blue-3); }
	.bg-blue4 { color: var(--dm-blue-4); }
	.bg-blue5 { color: var(--dm-blue-5); }
	.bg-blue6 { color: var(--dm-blue-6); }
	.bg-blue7 { color: var(--dm-blue-7); }

	.rtp-btn-1 {
		display: inline-block;
		background-color: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco);
		border-radius: 50px;
		padding: 10px 50px;
		font-size: var(--rtp-fs-20);
		text-decoration: none;
	}

	.rtp-btn-2 {
		display: inline-block;
		background-color: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco);
		border-radius: 50px;
		padding: 10px 50px;
		font-size: var(--rtp-fs-20);
		text-decoration: none;
	}
/* general */


/* ================================================================
* NAV
* ============================================================== */
	nav {
		background-color: var(--rtp-color-base-blanco);
	}

	.navbar-nav {
		gap: 20px;
	}

	#contactanos_menu {
		padding: 10px 15px;
		border-radius: 15px;
		background-color: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco);
	}


	.nav-link {
		position: relative;
		transition: color 0.3s ease;
	}

	.nav-link.active {
		color: #007bff;
	}

	.nav-link.active::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0px;
		width: calc(100% - 1rem);
		margin-left: .5rem;
		height: 2px;
		background-color: var(--rtp-rsa-color-azul-1);
		border-radius: 2px;
	}

	.navbar-shadow {
		box-shadow: 0 4px 6px rgba(0,0,0,0.1);
		transition: box-shadow 0.3s ease;
	}
/* nav */


/* ================================================================
* HERO
* ============================================================== */
	#rsa-hero {
		min-height: 560px; /* 728 */
		margin-top: 82px;
		background-image: url(/imgs/rsa-header.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top left;
		color: var(--rtp-color-base-blanco);
		padding: 0!important;
	}
	#rsa-hero > div > div {
		width: 680px; /* 650 */
		/* margin-left: 11.11%; */
	}
	#rsa-hero > div p {
		font-size: var(--rtp-fs-20);
	}
	#rsa-hero h1 {
		font-size: 4rem;
		line-height: 64px; /*normal*/
	}

	#rsa-hero.rsa-hero-gracias {
		background-image: url(/imgs/gracias-desk.jpg);
	}
/* hero */


/* ================================================================
* DATA
* ============================================================== */
	#rsa-data {
		background-color: var(--rtp-color-base-gris-200);
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.data-nodo {
		width:33%;
		display: flex;
		flex-direction: row;
		justify-content: start;
		align-items: start;
		gap: 20px;
		/* padding: 0px 1rem; */
	}
	.data-nodo:nth-child(2) {
		border-left: 1px solid var(--dm-grey-2);
		border-right: 1px solid var(--dm-grey-2);
		padding-left: 20px;
		padding-right: 20px;
	}
	.data-nodo:nth-child(3) {
		padding-left: 20px;
	}
/* data */


/* ================================================================
* PRESENCIA
* ============================================================== */
	#rsa-presencia {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.presencia-nodo {
		width: 192px;
		padding: 10px 20px;
		border: 1px solid var(--rtp-color-base-gris-300);
		border-radius: 10px;
	}
	.presencia-nodo > img {
		width: 60px;
		height: auto;
	}
/* presencia */


/* ================================================================
* SOLUCIONES
* ============================================================== */
	#rsa-soluciones {
		padding-top: 40px;
		padding-bottom: 40px;
		scroll-margin-top: 82px;
	}

	.soluciones-nodo {
		display: flex;
		flex-direction: column;
		align-items: start;
		text-align: left;
		gap: var(--rtp-gap-20);
		width: 100%;
		height: 100%;
		background: var(--rtp-color-base-gris-200);
		padding: 20px;
		border-radius: 10px;
		transition: all 0.3s ease;
	}
	.soluciones-nodo:hover {
		background: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco);
	}
	.soluciones-nodo img {
		margin-top: auto;
	}

	.swiper .swiper-slide {
		height: auto;
	}
/* soluciones */


/* ================================================================
* EXPERIENCIA
* ============================================================== */
	#rsa-experiencia {
		padding-top: 70px;
		padding-bottom: 70px;
		background: var(--rtp-color-base-gris-200);
		scroll-margin-top: 82px;
	}

	.tratamiento-nodo {
		border: 2px solid var(--rtp-color-base-gris-200);
		background: var(--rtp-color-base-blanco);
		padding: 30px;
		width: 50%;
		text-align: center;
		transition: all 0.3s ease;
	}
	.tratamiento-nodo p {
		transition: all 0.3s ease;
	}
	.tratamiento-nodo:hover {
		background: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco)
	}
	.tratamiento-nodo:hover p:first-of-type {
		color: var(--rtp-color-base-blanco)
	}
	.tratamiento-nodo:hover img {
		filter: brightness(0) invert(1);
	}

	.tratamiento-nodo > p:first-of-type {
		font-size: var(--rtp-fs-48);
	}

	#tratamiento-nodo-1,
	#tratamiento-nodo-2,
	#tratamiento-nodo-3 {
		width: 50%;
	}
/* experiencia */


/* ================================================================
* SERVICIOS
* ============================================================== */
	#rsa-servicios {
		padding-top: 70px;
		padding-bottom: 70px;
		scroll-margin-top: 82px;
	}

	.servicios-nodo-wrapper {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}

	.servicios-col-izq, .servicios-col-der {
		width: 352px;
	}

	.servicios-nodo-wrapper-mobile {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 5px;
	}

	.servicios-col {
		display: flex;
		flex-direction: column;
		gap: 5px;
	}

	.servicios-nodo {
		gap: 10px;
		padding: 20px 40px;
		background: var(--rtp-color-primary-100);
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 20px;
	}

	.servicios-nodo-img {
		padding: 0px !important;
	}
/* servicios */


/* ================================================================
* BENEFICIOS
* ============================================================== */
	#rsa-beneficios {
		padding-top: 70px;
		padding-bottom: 70px;
		scroll-margin-top: 82px;
	}

	.beneficios-nodo {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.beneficios-nodo > div {
		border-bottom:1px solid var(--rtp-color-base-gris-400);
		padding-bottom: 10px;
	}
/* beneficios */


/* ================================================================
* MODELOS
* ============================================================== */
	#rsa-modelos {
		padding-top: 40px;
		padding-bottom: 40px;
		scroll-margin-top: 82px;
	}

	.modelos-nodos-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: auto auto auto;
		gap: 15px;
		row-gap: 15px;
	}
	.modelos-nodo {
		background: var(--rtp-color-base-gris-200);
		gap: 10px;
		padding: 20px;
	}
	.modelos-nodo:first-child {
		grid-row: 1 / span 2;
	}

	.modelos-nodo-swiper {
		background: var(--rtp-color-base-gris-200);
		gap: 10px;
		padding: 20px;
		height: 100%;
	}
	.modelos-nodo-swiper p:first-of-type {
		margin-bottom: 10px;
	}
/* modelos */


/* ================================================================
* SECTORES
* ============================================================== */
	#rsa-sectores {
		padding-top: 70px;
		padding-bottom: 70px;
		scroll-margin-top: 82px;
	}

	.sectores-nodo {
		width: 25%;
		gap: 10px;
		padding: 30px;
		border: 1px solid var(--rtp-color-base-gris-300);
		font-size: var(--rtp-fs-24);
		transition: all 0.3s ease;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.sectores-nodo p {
		transition: all 0.3s ease;
	}
	.sectores-nodo:hover {
		background: var(--rtp-rsa-color-azul-1);
		color: var(--rtp-color-base-blanco);
	}
	.sectores-nodo:hover img {
		filter: brightness(0) invert(1);
	}
/* sectores */


/* ================================================================
* CONOCE / VIDEO
* ============================================================== */
	#rsa-conoce {
		padding-top: 60px;
		padding-bottom: 60px;
		background: var(--rtp-color-primary-200);
		scroll-margin-top: 82px;
	}

	#video {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}

	.video-responsive-wrapper {
		margin: 0 auto;
	}

	.video-responsive {
		height: 0;
		overflow: hidden;
		padding-bottom: 56.25%;
		padding-top: 30px;
		position: relative;
	}
	.video-responsive iframe, .video-responsive object, .video-responsive embed {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	@media screen and (max-width: 992px) {
		.video-responsive-wrapper {
			width: 100%;
		}
	}
/* conoce */


/* ================================================================
* CONTACTANOS
* ============================================================== */
	#rsa-contacto {
		padding-top: 60px;
		padding-bottom: 60px;
		scroll-margin-top: 82px;
	}
/* contactanos */


/* ================================================================
* FOOTER
* ============================================================== */
	footer {
		background-color: var(--rtp-color-primary-900);
		color: var(--rtp-color-base-blanco);
		padding-top: 40px;
		padding-bottom: 40px;
	}

	footer h4 {
		font-size: 20px;
		font-family: 'nunitosans-bold';
	}

	footer a {
		font-size: var(--rtp-fs-14);
		text-decoration: none;
		color: var(--rtp-color-base-blanco);
	}
/* footer */


/* ================================================================
* SWIPER
* ============================================================== */
	.swiper-pagination {
		position: relative !important;
	}

	.swiper-pagination-bullet {
		width: 15px;
		height: 15px;
		background: transparent;
		border: 1px solid var(--rtp-color-base-gris-400);
	}

	.swiper-pagination-bullet-active {
		background: var(--rtp-rsa-color-azul-1);
	}

	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 15px;
	}

	.navbar-toggler {
		border: none;
	}
	.navbar-toggler-icon {
		background-image: url(/imgs/icono-menu.png);
	}

	.swiper-button-prev {
		left: -40px;
		right: auto;
	}
	.swiper-button-next {
		right: -40px;
		left: auto;
	}

	.swiper-button-next::after,
	.swiper-button-prev::after {
		content: none;
	}
/* swiper */


@media (min-width: 1400px) {
	.container {
		max-width: 1440px;
	}
}


@media (max-width: 1200px) {
	/* navbar */
	.navbar {
		justify-content: start;
		gap: 1rem;
	}
}

@media (max-width: 1120px) {
	.ppx-160 {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

@media (max-width: 768px) {
	#rsa-hero {
		padding: 30px 0 !important;
	}

	#rsa-hero > div > div {
		width: 100%;
	}

	.data-nodo {
		width: 100%;
		justify-content: start;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.data-nodo:nth-child(2) {
		border-left: none;
		border-right: none;
		padding-left: 0;
		padding-right: 0;
	}
	.data-nodo:nth-child(3) {
		padding-left: 0;
	}
}

@media (max-width: 576px) {
	/**/
	.navbar .container {
		justify-content: start;
		gap: 20px;
	}

	.ppx-70 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	h2.fs-48 {
		font-size: var(--rtp-fs-24);
	}

	/* hero */
	#rsa-hero {
		height: 500px;
		padding: 40px 0 !important;
	}
	#rsa-hero > div > div p {
		font-size: 1rem;
	}
	#rsa-hero h1 {
		font-size: var(--rtp-fs-32);
		line-height: 32px;
	}
	#rsa-hero .rtp-btn-1 {
		padding: 10px 30px;
		align-self: center;
	}

	#rsa-hero.rsa-hero-gracias {
		background-image: url(/imgs/gracias-movile.jpg);
	}

	/* data */
	#rsa-data {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	/* experiencia */
	#rsa-experiencia {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	/* soluciones */
	#rsa-soluciones {
		padding-top: 0;
		padding-bottom: 40px;
	}
	#rsa-soluciones h2 {
		margin-bottom: 1rem !important;
	}

	/* tratamiento */
	#rsa-tratamiento {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.tratamiento-nodo > p:first-of-type {
		font-size: var(--rtp-fs-24);
	}

	#tratamiento-nodo-1,
	#tratamiento-nodo-2,
	#tratamiento-nodo-3,
	#tratamiento-nodo-4 {
		width: 50%;
	}
	#tratamiento-nodo-5 {
		width: 100%;
	}

	/* servicios */
	#rsa-servicios  {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#rsa-servicios h2 {
		margin-bottom: 1rem !important;
	}
	#rsa-servicios img {
		border-radius: 1rem;
	}

	/* beneficios */
	#rsa-beneficios {
		padding-top: 0px;
		padding-bottom: 40px;
	}

	#rsa-beneficios img {
		border-radius: 1rem;
	}

	/* modelos */
	#rsa-modelos {
		padding-top: 0;
		padding-bottom: 40px;
	}

	#rsa-modelos img {
		border-radius: 1rem;
	}

	/* sectores */
	#rsa-sectores {
		padding-top: 0;
		padding-bottom: 40px;
	}

	.sectores-nodo {
		width: 50%;
		font-size: 1rem;
	}

	/* cotacto */
	#rsa-contancto {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}