/* ---------- FONTS ---------- */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

/* ---------- BODY ---------- */

body {
	background-color: #FFFFFF;
	color: #000000;
	font-family: "Outfit", sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.3;
}
@media (min-width: 992px) { /* desktops (lg) */
	body {
	}
}

/* ---------- HEADINGS ---------- */

h1 {
	font-family: "Outfit", sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 20px 0;
}
h2 {
	font-family: "Outfit", sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 40px 0;
	text-align: center;
}
h3 {
	font-family: "Outfit", sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	margin: 0;
}
@media (min-width: 992px) { /* desktops (lg) */
	h1 {
		font-size: 46px;
	}
	h2 {
		font-size: 36px;
		margin: 0 0 70px 0;
	}
	h3 {
		font-size: 26px;
	}
}

/* ---------- PARAGRAPHS ---------- */

p {
	margin: 10px 0 0 0;
}
@media (min-width: 992px) { /* desktops (lg) */
	p {
	}
}

/* ---------- LISTS ---------- */

ul {
}
li {
}
@media (min-width: 992px) { /* desktops (lg) */
	ul {
	}
	li {
	}
}

/* ---------- LINKS ---------- */

a {
	color: #910AE9;
}
a:hover {
	color: #000000;
}
@media (min-width: 992px) { /* desktops (lg) */
	a {
	}
	a:hover {
	}
}

/* ---------- FORM ---------- */

form {
}
.input, .textarea {
	margin: 0 0 5px 0;
}
input, textarea {
	background-color: #FFFFFF;
	border-color: #DBDBDB;
	border-radius: 10px;
	border-style: solid;
	border-width: 2px;
	color: #000000;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.3;
	padding: 15px 20px 15px 20px;
	width: 100%;
}
.recaptcha {
}
.g-recaptcha {
	/*display: flex;*/
	/*justify-content: center;*/
}
.validation {
	color: red;
	font-size: 16px;
}
.button {
	margin: 20px 0 0 0;
	text-align: center;
}
.button button {
	padding: 15px 50px 15px 50px;
	width: 100%;
}
.spinner {
	border: 3px solid #FFFFFF; border-radius: 50%; border-top: 3px solid transparent;
	display: inline-block;
	height: 18px;
	width: 18px;
	margin: 0 0 0 10px;
	vertical-align: middle;
	animation: spin 0.8s linear infinite;
}
@keyframes spin {
	100% { transform: rotate(360deg); }
}
.success {
	color: green;
	font-size: 16px;
	font-weight: 500;
	margin: 20px 0 0 0;
	text-align: center;
}
.error {
	color: red;
	font-size: 16px;
	font-weight: 500;
	margin: 20px 0 0 0;
	text-align: center;
}
@media (min-width: 992px) { /* desktops (lg) */
	.input, .textarea {
		margin: 0 0 10px 0;
	}
}

/* ---------- BUTTONS ---------- */

button {
	background-color: #910AE9;
	border-color: #910AE9;
	border-radius: 30px;
	border-style: solid;
	border-width: 2px;
	color: #FFFFFF;
	cursor: pointer;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	padding: 15px 25px 15px 25px;
}
button:hover {
	background-color: transparent;
	border-color: #910AE9;
	color: #910AE9;
}
@media (min-width: 992px) { /* desktops (lg) */
	button {
	}
	button:hover {
	}
}

/* ---------- IMAGES ---------- */

img {
	width: 100%;
}
@media (min-width: 992px) { /* desktops (lg) */
	img {
	}
}

/* ---------- OTHERS ---------- */

.row {
	margin: 0;
}
.padding_no {
	padding: 0 !important;
}

/* ---------- CONTAINERS ---------- */

.container-fluid {
}

/* ---------- HEADER MOBILE ---------- */

.header-mobile {
	background-color: #EEEEEE;
	padding: 10px 10px 10px 10px;
	position: fixed; z-index: 100;
}
.header-mobile .left {
	display: flex; align-items: center;
}
.header-mobile .left .logo {
}
.header-mobile .left .logo img {
}
.header-mobile .right {
	display: flex; align-items: center; direction: rtl;
}
.header-mobile .right button {
	margin: 0 10px 0 0;
	padding: 7.5px 15px 7.5px 15px;
}
.header-mobile .right button:hover {
}
.header-mobile .right .menu-toggle {
	cursor: pointer;
	display: flex; flex-direction: column; justify-content: space-between; z-index: 400;
	height: 18px;
	width: 24px;
}
.header-mobile .right .menu-toggle .bar {
	background: #000000;
	border-radius: 2px;
	height: 2px;
	transition: 0.3s ease;
}
.header-mobile .right .menu-toggle.open .bar:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}
.header-mobile .right .menu-toggle.open .bar:nth-child(2) {
	opacity: 0;
}
.header-mobile .right .menu-toggle.open .bar:nth-child(3) {
	transform: rotate(-45deg) translate(6px, -6px);
}
.header-mobile .right .overlay {
	background: rgba(0, 0, 0, 0); opacity: 0; transition: opacity 0.3s ease;
	height: 100%; width: 100%;
	position: fixed; top: 0; left: 0; z-index: 200;
	pointer-events: none;
}
.header-mobile .right .overlay.active {
	background: rgba(0, 0, 0, var(--overlay-opacity)); opacity: var(--overlay-opacity);
	pointer-events: auto;
}
.header-mobile .right .menu {
	background-color: #ffffff;
	height: 100%; width: var(--menu-width);
	padding: 40px 40px 40px 40px;
	position: fixed; top: 0; right: -100%; z-index: 300;
	text-align: left;
	transition: right 0.3s ease;
}
.header-mobile .right .menu .link {
	margin: 0 0 10px 0;
}
.header-mobile .right .menu .link a {
}
.header-mobile .right .menu .link a:hover {
}
.header-mobile .right .menu.open {
	right: 0;
}
:root {
	--overlay-opacity: 0.6;
	--menu-width: 87.5%;
}
body.noscroll {
	overflow: hidden;
}

/* ---------- HEADER DESKTOP ---------- */

@media (min-width: 992px) { /* desktops (lg) */
	.header-desktop {
		background-color: #EEEEEE;
		padding: 15px 10% 15px 10%;
		position: fixed;
		z-index: 1;
	}
	.header-desktop .left {
		display: flex; align-items: center;
	}
	.header-desktop .left .logo {
		margin: 0 25px 0 0;
	}
	.header-desktop .left .logo img {
	}
	.header-desktop .left a.link {
		color: #000000;
		font-size: 17px;
		font-weight: 500;
		margin: 0 0 0 25px;
	}
	.header-desktop .left a.link:hover {
		color: #910AE9;
	}
	.header-desktop .right {
		display: flex; align-items: center; direction: rtl;
	}
	.header-desktop .right button {
		padding: 10px 25px 10px 25px;
	}
	.header-desktop .right button:hover {
	}
}

/* ---------- HERO ---------- */

.hero {
	background-color: #EEEEEE;
	padding: 80px 10px 60px 10px;
}
.hero .left {
}
.hero .left h1 {
}
.hero .left p {
}
.hero .left button {
	margin: 30px 0 30px 0;
	width: 100%;
}
.hero .left button:hover {
}
.hero .right {
}
.hero .right img {
	border-radius: 30px;
}
@media (min-width: 992px) { /* desktops (lg) */
	.hero {
		display: flex; align-items: center;
		height: 100vh !important;
		padding: 0 10% 0 10%;
	}
	.hero .left {
		display: flex; align-items: center;
		padding: 0 20px 0 0 !important;
	}
	.hero .left button {
		width: auto;
	}
	.hero .right {
		display: flex; align-items: center;
	}
}

/* ---------- MULTIPLE ---------- */

.multiple {
	padding: 50px 10px 50px 10px;
}
.multiple h2 {
}
.multiple .item {
	background-color: #FFFFFF;
	border-radius: 30px;
	margin: 0 0 10px 0;
	padding: 30px 30px 30px 30px;
}
.multiple .item.first {
}
.multiple .item.last {
}
.multiple .item h3 {
}
.multiple .item p {
}
@media (min-width: 992px) { /* desktops (lg) */
	.multiple {
		padding: 100px 10% 100px 10%;
	}
	.multiple .item {
		margin: 0 10px 20px 10px;
		padding: 40px 40px 40px 40px;
	}
	.multiple .item.first {
		margin: 0 10px 20px 0;
	}
	.multiple .item.last {
		margin: 0 0 20px 10px;
	}
}

/* ---------- NUMBERED ---------- */

.numbered {
	padding: 50px 10px 50px 10px;
}
.numbered h2 {
}
.numbered .number {
	font-size: 66px;
	font-weight: 300;
	line-height: 0.8;
	margin: 0 0 30px 0;
}
.numbered .item {
	margin: 0 0 30px 0;
}
.numbered .item h3 {
}
.numbered .item p {
}
.numbered .others {
	background-color: #FFFFFF;
	border-radius: 30px;
	margin: 20px 0 10px 0;
	padding: 30px 30px 30px 30px;
}
.numbered .others h3 {
}
.numbered .others p {
}
@media (min-width: 992px) { /* desktops (lg) */
	.numbered {
		padding: 100px 20% 100px 20%;
	}
	.numbered .number {
		margin: 0 0 40px 0;
	}
	.numbered .item {
		margin: 0 0 40px 0;
	}
	.numbered .others {
		margin: 20px 0 20px 0;
		padding: 40px 40px 40px 40px;
	}
}

/* ---------- OPPOSITE MOBILE ---------- */

.opposite-mobile {
	padding: 50px 10px 50px 10px;
}
.opposite-mobile h2 {
}
.opposite-mobile .item {
	margin: 0 0 30px 0;
}
.opposite-mobile .item img {
	border-radius: 30px;
	margin: 0 0 10px 0;
}
.opposite-mobile .item h3 {
}
.opposite-mobile .item p {
}
.opposite-mobile .others {
	background-color: #FFFFFF;
	border-radius: 30px;
	margin: 20px 0 10px 0;
	padding: 30px 30px 30px 30px;
}
.opposite-mobile .others h3 {
}
.opposite-mobile .others p {
}

/* ---------- OPPOSITE DESKTOP ---------- */

@media (min-width: 992px) { /* desktops (lg) */
	.opposite-desktop {
		padding: 100px 20% 100px 20%;
	}
	.opposite-desktop h2 {
	}
	.opposite-desktop .item {
		display: flex; align-items: center;
		margin: 0 0 40px 0;
	}
	.opposite-desktop .item .content {
	}
	.opposite-desktop .item .content.right {
		margin: 0 20px 0 0;
	}
	.opposite-desktop .item .content.left {
		margin: 0 0 0 20px;
	}
	.opposite-desktop .item .content h3 {
	}
	.opposite-desktop .item .content p {
	}
	.opposite-desktop .item .image {
	}
	.opposite-desktop .item .image.right {
		margin: 0 20px 0 0;
	}
	.opposite-desktop .item .image.left {
		margin: 0 0 0 20px;
	}
	.opposite-desktop .item .image img {
		border-radius: 30px;
	}
	.opposite-desktop .others {
		background-color: #FFFFFF;
		border-radius: 30px;
		margin: 20px 0 20px 0;
		padding: 40px 40px 40px 40px;
	}
	.opposite-desktop .others h3 {
	}
	.opposite-desktop .others p {
	}
}

/* ---------- CONTACT ---------- */

.contact {
	background-color: #FFFFFF;
	padding: 50px 10px 50px 10px;
}
.contact h2 {
}
@media (min-width: 992px) { /* desktops (lg) */
	.contact {
		padding: 100px 30% 100px 30%;
	}
}

/* ---------- FOOTER ---------- */

.footer {
	background-color: #000000;
	color: #FFFFFF;
	padding: 10px 10px 10px 10px;
	text-align: center;
}
@media (min-width: 992px) { /* desktops (lg) */
	.footer {
		padding: 30px 10% 30px 10%;
	}
}

/* ---------- CUSTOMIZED ---------- */

.nosotros {
	background-color: #F0E1FE;
}
.servicio {
	background-color: #EEEEEE;
}
.casos {
	background-color: #F0E1FE;
}
.temas {
	background-color: #EEEEEE;
}
.consultoria {
	background-color: #F0E1FE;