
:root {
	--font: 'Reddit Sans', sans-serif;
	--color-primary: #0057B2; --color-secondary: #E21C22;

	--back: #FFF;
	--bg-1:#f8f8fa;
	--title: #333;
	--text:  #3F4860;/*#0f0f0f;*/

	--shadow: 0 20px 34px -15px rgba(49,89,119,.5);
	--shadow-b: 0 20px 34px -15px rgba(0, 0, 0, 0.12);

	--facebook: #3b5999; --twitter: #55acee; --linkedin: #0077B5; --whatsapp: #25D366; --instagram: #e4405f; --messenger: #0084ff; --youtube: #cd201f;

	--white: #fff;
	--black:  #000;
	--green: #00bf9f;

	--gray-light: #f4f7fa; /*#b4bcc8 #f4f7fa;*/
	--light: #E4E7EB;
	--dark: #090909;
	--border:  #e9e9e9;

	--wdg:1300px;
	--dur:.3s;
	--cub: /*cubic-bezier(0.5, 1, 0.89, 1)*/ cubic-bezier(0.175,.885,.32,1);
	--trs: all var(--dur) var(--cub);
}


*{margin: 0; border:0; padding: 0;outline: none; -webkit-font-smoothing: antialiased; box-sizing:border-box; max-width: 100% !important; z-index: 1;}

*::before, *::after {
	margin: 0;
	padding: 0;
	outline: 0;
	box-sizing: border-box;
	user-select: none;
}

/*[draggable] {
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	/* Required to make elements draggable in old WebKit
	-khtml-user-drag: element;
	-webkit-user-drag: element;
}*/

html, body {
	margin:0;
	width:100%;
	max-width: 100%;
	font-family: var(--font);
	font-weight: 400;
	font-size:18px;
	line-height: 1.6em;

	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;

	font-style: normal;
	font-variant: normal;
	text-rendering: auto;

	color: var(--text);
	background: var(--back);
	scroll-behavior: smooth;
}

img {height:auto}
p {margin-bottom: 20px;}
a {color: var(--text); text-decoration: none; transition:color .5s ease;}

ul { padding: 0 50px; list-style: none;}
h2.heading {
	display: inline-block;
	font-size: 45px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: -2.2px;
	color: var(--color-primary);
	background: var(--color-primary);
	background: linear-gradient(90deg,#0057b2 0, #e21c22 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}


.fa-ul		{list-style-type: none;padding-left: 0;}
.fa-ul li	{display: flex; margin: 5px 0}
.fa-ul li span:first-child {width: 30px}
.fa-ul li span:last-child {width: calc(100% - 30px);}

.center 	{text-align:center;}
.left		{text-align: left}
.right		{text-align: right}
.top		{vertical-align: top;}

.container	{ z-index: 3; width: var(--wdg); margin:auto;}
section 	{position:relative;}

.spc		{padding: var(--space-1) 0;}
.spc2		{padding: var(--space-2) 0;}

h2 {
	font-size:44px;
	font-weight: 300;
	line-height: 1.4em;;
	letter-spacing:-0.03em;
	color: var(--title);
}

a.button, .button	{
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 10px 30px;
	border-radius: 30px;
	color: var(--white);
	/*background: linear-gradient(135deg, #007aff 0%, #0057b2 100%);*/

	background:#0087c8;
	transition: var(--trs);
}

.flex {display: flex;}
.flex.row {flex-direction: row;}
.flex.column {flex-direction: column;}
.flex.wr {flex-wrap: wrap;}
.flex.nw {flex-wrap: nowrap;}

.flex.center-x {justify-content: center;}
.flex.center-y {align-items: center;}

.flex.column.center-x {align-items: center;}
.flex.column.center-y {justify-content: center;}

.flex.center {justify-content: center; align-items: center;}

.flex.left {justify-content: flex-start;}
.flex.right {justify-content: flex-end;}

.flex.column.left {align-items: flex-start;}
.flex.column.right {align-items: flex-end;}

.flex.top {align-items: flex-start;}
.flex.middle {align-items: center;}
.flex.bottom {align-items: flex-end;}

.flex.column.top {justify-content: flex-start;}
.flex.column.middle {justify-content: center;}
.flex.column.bottom {justify-content: flex-end;}

.flex.sb {justify-content: space-between;}
.flex.st {align-items: stretch;}

.pdg {padding:150px 20px;}














/* header */
a.whatsapp-button-chat {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
	width: 60px;
	height: 60px;
	background-color: var(--whatsapp);
	border-radius: 50%;
	font-size: 25px;
	color:var(--white);
	box-shadow: var(--shadow);
}


#header-top {
	background: var(--color-primary);
	color: var(--white);
	padding:10px 0;
	font-size: 13px;
}

.social-links li a {
	margin-right:15px;
	color: var(--white)
}

.contact-info li {
	position:relative;
	margin-left:30px;
}

.contact-info li:not(:last-child):after {
	content: "";
	position: absolute;
	right: -15px;
	top: 50%;
	transform: translateY(-50%);
	width:1px;
	height:12px;
	background: rgba(255,255,255,.3);
}

.contact-info li .ico {
	margin-right: 10px;
	color: var(--white);
}

.contact-info li a {color: var(--white)}

nav {
	position: absolute;
	top:80px;
	width:100%;
	padding:20px 50px;
	z-index: 10;
	transition: background .3s, transform .3s;
}

nav.menu-fixed {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;

	padding: 10px 50px;
	border-bottom: 1px solid var(--light);
	box-shadow: 0 10px 20px -10px rgba(49, 89, 119, .3);
	background-color: var(--white);
}

nav.menu-hide {
	transform: translateY(-150%);
}

.logo {
	width:130px;
	fill:#FFF;
	color: #FFF;
}

.logo svg * {
	transition: var(--trs);
}

nav.menu-fixed #lg-iso {
	fill: var(--color-secondary);
}

nav.menu-fixed #lg-iso-b {
	fill: #bb000e;
}

nav.menu-fixed #lg-name1, nav.menu-fixed #lg-name2, nav.menu-fixed #lg-tag {
	fill: var(--color-primary);
}

.menu-container {
	width:calc(100% - 400px)
}
.main-menu {
	font-size: 15px;
	font-weight: 500;
	padding:0;
}
.menu-item > a {
	display: block;
	padding:10px 15px;
	color: rgba(255,255,255,.6);
	border-radius:5px;
	transition: var(--trs);
}

.menu-item.current > a {
	color: var(--white);
}

.menu-item:hover > a{
	color: var(--white);
}

nav.menu-fixed .menu-item > a {
	color: var(--color-primary);
}

.menu-item.has-child > a:after {
	font-family: "Font Awesome 7 Free";
	font-size: 10px;
	font-weight: 900;
	content: "\f0d7";
	display: inline-block;
	margin-left: 0.5em;
}

.menu-item.has-child:hover .sub-menu {
	opacity: 1;
	visibility: visible;
	display: flex;
	transform: translate(-40%, 0);
}

.sub-menu {
	position: absolute;
	top: 70px;
	display: flex;
	text-align: left;;
	background: var(--white);
	box-shadow: var(--shadow);
	border:1px solid #e3e5e6;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, top .3s, visibility 0s;
	border-radius: 20px;
	padding:15px;
	overflow: hidden;
}

#menu-services {
	right: 50px;
	transform: translate(0,0);
}

.sub-menu ul {
	padding:0; margin:0
}

.sub-menu h2 {
	display: block;
	width:100%;
	font-size: 12px;
	font-weight: 600;
	line-height: 1em;
	text-transform:uppercase;
	border-bottom:1px solid var(--bg-1);
	padding-bottom:5px;
	margin-bottom:30px;
	color:#626571;
}

.col {
	padding:30px
}

a.icon-box {
	position: relative;
	display: flex;
	padding:10px;
	width: 300px;
	border-radius: 10px;
	transition: var(--trs);
}

a.icon-box * {transition: var(--trs);}
a.icon-box:hover {background: #f8f8fa;}
a.icon-box:hover .title {color: var(--color-text)}
a.icon-box:hover .title:after {width: 100%;}
a.icon-box:hover .ico {color: var(--color-secondary);}

.icon-box .ico {
	display: inline-block;
	font-size: 18px;
	color:#a4a7aa;
}

.icon-box .content {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	margin:0 0 0 20px;
	width:calc(100% - 30px);
}

.icon-box .title {
	position:relative;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2em;
	color: #252439;
	/*color:#545658*/
}

.icon-box .excerp {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.1em;
	margin-top:5px;
	color: #666;
}

.whatsapp-button {
	background: var(--whatsapp);
	padding: 8px 30px;
	border-radius: 30px;
	font-size: 14px;
	color: var(--white);
	box-shadow: var(--shadow);
}









.link {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: -0.5px;
	color:#007ed8;
	gap:15px;
}

.link .label {
	position:relative;
	transition: var(--trs);
}

.link .label:after {
	content: '';
	position:absolute;
	width: 0; height:1px;
	bottom:0; left:0;
	border-bottom:1px dashed var(--text);
	transition: var(--trs);
}

.link:hover {
	color: var(--color-secondary);
}
.link:hover .label:after {
	width:100%;
}

.title {
	font-size:30px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: -0..4px;
}

.col-3 {position:relative; width:33.33%;}




/* HEADER */
.top-head {
	position: relative;
	min-height: 78vh;
	padding: 0 0 100px 0;
	background: var(--color-primary);
	color: var(--white);
	gap: 20px;
	overflow: hidden;
}

.top-head.int {
	min-height: 90vh;;
}

.top-head .video-back, .top-head .back-img img {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
	object-position: center;
}

.top-head .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	/*background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75) 0%, rgba(0, 87, 178, 0.5) 100%);*/
	background:rgba(0,0,0,.6);
}

.top-head.int .overlay {
	background:rgba(0,0,0,.5);
}

.top-head .icon {
	position: absolute;
	left: -145px;
	bottom: -70px;
	opacity: 0.2;
	font-size: 500px;
	color: var(--white);
	mix-blend-mode: overlay;
	transform: rotate(22deg);
}

.top-head .hero {
	width: var(--wdg);
	line-height: 1.4em;
}

.top-head .hero span {
	display: block;
}

.top-head .hero .line-1 {
	font-size: 33px;
	font-weight: 200;
	letter-spacing: -0.8px;
}

.top-head .hero .line-2 {
	font-size: 78px;
	font-weight: 700;
	letter-spacing: -2.4px;
	margin: 10px 0
}

.top-head .hero .line-3 {
	font-size: 50px;
	font-weight: 400;
	letter-spacing: -1.1px;
}
















/* INFORMACIÓN DE CONTACTO */

.contact-cards .card {
	width: 33.33%;
	padding: 50px;
}

.contact-cards .card .title {
	font-size: 23px;
	font-weight: 300;
	padding-bottom: 15px;
	color: var(--white);
}

.contact-cards .card a,
.contact-cards .card .ico,
.contact-cards .card .content-title {
	color: var(--white);
}

.contact-cards .card .ico {
	font-size: 15px;
	margin-right: 10px;
}

.contact-cards .card .content-title {
	font-size: 15px;
	font-weight: 400;
}

.card-1 {
	background: #00438A;
}

.card-2 {
	background: var(--color-primary);
}

.card-3 {
	background: #0070E6;
}

.bt-menu-responsive, .resp {
	display: none;
}














/* Menu responsivo */

.bt-menu-responsive {
	color: white;
	padding:10px;
	cursor:pointer;
}

.bt-menu-responsive .ico {
	position:relative;
	width:25px; height:20px;
	margin-left:15px;
}

.bt-menu-responsive .ico span {
	display: block;
	width:100%; height:2px;
	background: white;
	border-radius:30px
}

.bt-menu-responsive .ico span:nth-child(2) {
	width:70%;
}

.bt-menu-responsive .ico span:nth-child(3) {
	width:90%;
}

.mobile-menu {
	position:fixed; z-index: 999;
	top:0; left: -100%;
	width: 450px; height:100%;

	background: white;
	box-shadow: 20px 0 34px -15px rgba(0,0,0,.5);
	padding:0;
	opacity:0;

	transition: var(--trs);
}

.content-menu {
	height:100%;
}

.mobile-menu .close {
	position: absolute;z-index:2;
	top:30px; right:30px;
	width:50px; height:50px;
	background-color: rgba(0,0,0,.25);
	border-radius:50%;
}

.mobile-menu .close:after, .mobile-menu .close:before {
	content:'';
	top:calc(50% - 1px); left:calc(50% - 12px);
	position: absolute;
	width:50%;	height:2px;
	background: white;
}

.mobile-menu .close:after {transform: rotate(45deg);}
.mobile-menu .close:before {transform: rotate(-45deg);}

.logo-mobile-menu {
	background: url('../images/bg-menu-r.jpg');
	height: 300px;
	padding:50px;
}

.logo-mobile-menu img {
	width:120px; height:auto;
}

.logo-mobile-menu ul {
	margin-top:30px;
	color:white;
	font-size: 14px;;
}

.logo-mobile-menu  .ico {margin-right:15px;}



.mobile-menu .menu {
	
	padding:50px;
}

.mobile-menu ul {padding:0;}

.mobile-menu li a {
	display: block;
	padding:20px 0;
	color:#111315;
	font-size: 16px;
	font-weight: 300;;
}

.mobile-menu li a i, .mobile-menu li a .it {
	display: inline-block;
	width:30px;
	text-align: center;
	margin-right:15px;
}

.mobile-menu .social {
	gap: 10px;
	padding:50px;
}

.mobile-menu .social a {
	display: block;
	width:40px; height:40px;
	border-radius:50%;

	font-size: 16px;
	line-height: 40px;
	color:#111315;
	text-align: center;
}




/* Animaciones */

.animate, .animate-static{opacity:0}
.animate.to-white {opacity: 1;}
/*.menu-hide{right:-300px}*/
.sec-height{height:100%;left:100%;}
.sec-ini{left:0;}

.dly-02 {transition-delay:.2s !important; animation-delay:.2s !important;}
.dly-04{transition-delay:.4s !important; animation-delay:.4s !important;}
.dly-06{transition-delay:.6s !important; animation-delay:.6s !important;}
.dly-08{transition-delay:.8s !important; animation-delay:.8s !important;}
.dly-1{transition-delay:1s !important; animation-delay:1s !important;}
.dly-12{transition-delay:1.2s !important; animation-delay:1.2s !important;}

.start.top-to-bottom{animation:ttb var(--dur) var(--cub);opacity:1}
.start.bottom-to-top{animation:btt var(--dur) var(--cub);opacity:1}
.start.left-to-right{animation:ltr var(--dur) var(--cub);opacity:1}
.start.right-to-left{animation:rtl var(--dur) var(--cub);opacity:1}
.start.appear{animation:appear 3s var(--cub); opacity:1}
.start.to-white {animation: to-white 3s var(--cub);opacity:1; color:white;}

@keyframes ttb{
	0%		{transform: translate(0%,-60%) rotateZ(-2deg); filter: blur(5px); opacity:0}
	100%	{transform: translate(0%,0) rotateZ(0); filter: blur(0px); opacity:1}}
@keyframes btt{
	0%		{transform:translate(0%,60%);  filter: blur(5px); opacity:0}
	100%	{transform:translate(0%,0);  filter: blur(0); opacity:1}}
@keyframes ltr{0%{transform:translate(-60%,0);opacity:0}100%{transform:translate(0%,0);opacity:1}}
@keyframes rtl{0%{transform:translate(60%,0);opacity:0}100%{transform:translate(0%,0);opacity:1}}
@keyframes appear{0%{opacity:0}100%{opacity:1}}

@keyframes to-white {0%{color:#333;opacity:1}100%{color:white;}}












/**********     RESPONSIVE     **********/

@media only screen and (max-width:1230px) {
	:root {	--wdg:  95%;}
}

@media only screen and (max-width: 1049px) {
	.menu-item > a {padding:10px 5px;}
	.pdg {padding:80px 20px;}
}

@media only screen and (max-width: 951px) {
	.main-menu > li:first-child {display: none;}
}

@media only screen and (max-width:906px) {
	.menu-container {display: none;}
	.bt-menu-responsive {display: flex;}
}

@media only screen and (max-width:792px) {
	.contact-cards .card {padding: 30px;}
	.contact-cards .card .title {font-size: 18px;}
	.contact-cards .card .content-title {font-size: 13px;}
}

@media only screen and (max-width: 640px) {
	#header-top {justify-content: center;}
	#header-top .social-links {display: none;}

	.top-head .hero .line-1 {font-size: 28px;}
	.top-head .hero .line-2 {font-size: 60px;letter-spacing: -2px;	margin: 0;}
	.top-head .hero .line-3 {font-size: 40px;letter-spacing: -1px;}

	.contact-cards {flex-direction: column;}
	.contact-cards .card {width:100%;}
}

@media only screen and (max-width: 520px) {
	.whatsapp-button {display: none;}

	.top-head .hero {text-align: center;}

	.top-head .hero .line-1 {font-size: 24px;line-height: 1em;}
	.top-head .hero .line-2 {font-size: 45px;}
	.top-head .hero .line-3 {font-size: 30px;letter-spacing: -1px;}
}

@media only screen and (max-width: 447px) {
	.contact-info li:first-child {display: none;}
}

@media only screen and (max-width: 430px) {
	.top-head .icon {
		font-size: 400px;
	}
}