/***********/
/* RESET */
/***********/

html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input,hr {margin:0; padding:0;}
h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th {font-size:1em; font-weight:normal; font-style:normal;}
ul,ol,li {list-style:none;}
fieldset,img,hr {border:none;}
caption,th {text-align:left;}
table {border-collapse:collapse; border-spacing:0;}
td {vertical-align:top;}

.row {
	margin-left: 0px;
	margin-right: 0px;
}
.img-responsive { /* center imgs inside columns */
	margin:0 auto;	
}

.vertical-center {
	min-height: 100%;  /* Fallback for browsers do NOT support vh unit */
	min-height: 100vh; /* These two lines are counted as one :-)       */

	display: flex;
	align-items: center;
}

.row.equal {
  /* apply to row to get equal height col childrens */
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}
/**************/
/* DEFAULTS */
/**************/

.urbanist-<uniquifier> {
  font-family: "Urbanist", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.inter-<uniquifier> {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

html, body{
	width: 100%;
	background-color: #f7f7f7;
	/*font-size:10pt;*/
	margin:0;
	padding:0;
  height:100%;
  font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;margin:0;
  font-size:14px;line-height:1.42857143;color:#222222;background-color:#FFFFFF;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:#FFFFFF;
}
body{
  overflow-x: hidden;
}

a{
  color:#3BAFDA;
}
a:hover{
  color:#C45500;
}

h1,h2,h3,p{
	margin:0;
	padding:0;
}
h1{
	color:#3F3F3F;
	font-size: 2em;
	font-weight: bold;
}
h2{
	color:#3F3F3F;
	font-size: 1.5em;
}
h3{
	color:#757575;
	font-size: 1.2em;
}
p{
	font-size: 1.2em;
  padding-left:1em;
  padding-right:1em;
}
.table-responsive {
  white-space:nowrap; /* use only one line */
  overflow-x:auto;
  font-size:1em !important;
}
.table-condensed {
  font-size:1em !important;
}

.datepicker{
 z-index:200;
}
.table > tbody > tr > td {
   vertical-align: middle;
}
.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
  background-color: #e0eae8;
  color:black;
  -webkit-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
  -webkit-transition: color 200ms linear;
  -ms-transition: color 200ms linear;
  transition: color 200ms linear;
}
.table .red{
  color:white;
  background-color:#f34336;
}

.alert-danger{
  color:#FFFFFF;
  font-weight:bold;
  background-color:red;
}

@media all and (max-width:480px) {
}   

/* Custom Classes for devices size */
@media(max-width:767px){
   .xs-btn-block { width: 100%; display:block; }
}
@media(min-width:768px){
}
@media(min-width:992px){
  #navigation{
  }
}
@media(min-width:992){
}

.alert a{
  color:white;
}


/********************/
/* PRINT SETTINGS */
/********************/

@media print {
  body {
    margin: 0;
    padding: 0;
    line-height: 1em;
    word-spacing: 1px;
    letter-spacing: 0.2px;
    font: 9pt Arial, Helvetica,"Lucida Grande", serif !important;
    color: #000;
  }
  h1,h2,h3,p{
    margin:0;
    padding:0;
    font-size:9pt !important;
    color:#000 !important;
  }
  .panel-default, .panel{
    margin:0 !important;
    padding:0 !important;
  }
}
@page {
    /*size: 21cm 29.7cm;*/ /* A4 */
    /*size: 21.59cm 27.94cm;*/ /* Carta */
    size: 8.5in 11in; /* Carta */
    /*margin: 30mm 45mm 30mm 45mm;*/ /* change the margins as you want them to be. */
}

/*************/
/* HELPERS */
/*************/

.full_width{
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
}
.nopadding{
	padding: 0 !important;
	margin: 0 !important;
}
.vertical_align{
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.margin-1{
  margin-top:1em;
  margin-bottom:1em;
}

.margin-2{
  margin-top:2em;
  margin-bottom:2em;
}

.margin-3{
  margin-top:3em;
  margin-bottom:3em;
}
.margin-4{
  margin-top:4em;
  margin-bottom:4em;
}
.margin-5{
  margin-top:5em;
  margin-bottom:5em;
}
.margin-6{
  margin-top:6em;
  margin-bottom:6em;
}
.padding-1{
  padding:1em;
}

.bgcover{
  background: no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.line-separate{
  height:1px;
  width:50%;
  margin:0 auto;
  background-color:#E5E5E5;
  position:relative;
  display:block;
  margin-top:1em;
  margin-bottom:1em;
}

.line-separate-full{
  height:1px;
  width:100%;
  margin:0 auto;
  background-color:#E5E5E5;
  position:relative;
  display:block;
  margin-top:1em;
  margin-bottom:1em;
}

/*************/
/* LOADERS */
/*************/

.loader,
.loader:after {
  border-radius: 50%;
  width: 8em;
  height: 8em;
}
.loader {
  margin: 20px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0,83,255, 0.2);
  border-right: 1.1em solid rgba(0,83,255, 0.2);
  border-bottom: 1.1em solid rgba(0,83,255, 0.2);
  border-left: 1.1em solid #0053ff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*************/
/* CONTENT */
/*************/

#footer{
  text-align:left;
  /*height:3em;*/
  line-height:3em;
  width:100%;
  color:white;
  background-color:black;
  padding:0;
  margin:0;
}
#footer a, #footer p, #footer h2{
  color:white !important;
}


.main_menu{
	font-size: 1.1em;
}
.shadow {
	-moz-box-shadow: 5px 5px 5px #ccc;
	-webkit-box-shadow: 5px 5px 5px #ccc;
	box-shadow: 5px 5px 5px #ccc;
}

#login .btn{ 
	margin-bottom:1em;
	text-align: center;
}
.social_icons{
	display: block;
	text-align: center;
}
.custom-table .items {
	padding:0;
	margin:0;
}
.table th{
  font-weight:bold;
}
.custom-table .th,.custom-table .td {
	margin:0;
	padding-top:0.5em;
	padding-bottom:0.5em;
	font-size:1.2em;
	line-height: 1.2em;
}
.custom-table .items{
	border:1px solid white;
}
.custom-table .items:hover{
	border:1px solid silver;
	}

.custom-table .th{
	font-weight: bold;
	border-bottom: 1px solid silver;
}

.custom-table .striped.even{
	background-color:#fff3f9;
}

#main-content{
	margin-top:1em;
	border-left:2px solid #CBC9CA;
	padding-left:1em;
	min-height: 600px;
	padding-bottom: 2em;
}
.animated{
	animation-duration: 0.5s ;
}

.btn-file {
  position: relative;
  overflow: hidden;
}
.btn-file input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  filter: alpha(opacity=0);
  opacity: 0;
  outline: none;
  background: white;
  cursor: inherit;
  display: block;
}

.clickable-row{
  cursor:pointer;
}

#home{
  /*background-color:#F2F2F2;*/
  height:100%;
  width:100%;
}
/*
#home .bg{
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height:400px;
  background-color:#3A3A3A;
  border:1px solid red;
}
*/
.bordered{
  border:1px solid red;
}
.bg-img{
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-repeat:   no-repeat !important;
  background-position: center center !important;              /* optional, center the image */
  height:600px;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  width: 100%;
  background-color:black;
  /*box-shadow: 2px 2px 20px #a8a8a8;*/
}
.bg-img-center-v{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  justify-content: center; /* align horizontal */
}

@media(max-width:992px){
  #home .bg-2{
    background:none;
    background-color:black;
  }
  #home .bg-2 h1,#home .bg-2 p{
    text-align:center;
  }
}

#home .bg-1{
  background: url('../img/bg-1.jpg') no-repeat center center;
  height:600px;
}

#home .bg-2{
  background: url('../img/bg-2.jpg') no-repeat center center;
  height:800px;
}

#home .bg-3{
  background: url('../img/bg-3.jpg') no-repeat center center;
  height:800px;
}
#home .bg-4{
  background: url('../img/bg-4.jpg') no-repeat center center;
  height:1000;
}
#home .bg-5{
  background: url('../img/bg-5.jpg') no-repeat center center;
  height:800px;
}

#home h1{
  color:white;
  margin-bottom:1em;
  font-style: normal;
  font-weight: 600;
  font-family: "Urbanist", sans-serif;
}

#home h2{
  margin:0;
  font-weight:normal;
  margin-bottom:1em;
  font-family: "Urbanist", sans-serif;
}

#home h3{
  font-weight:bold;
  font-size:1.4em;
  color:#33485a;
  padding:0;
  margin:0;
  margin-bottom:1em;
  margin-top:1em;
  font-family: "Urbanist", sans-serif;
}

#home p{
  padding:0;
  margin:0;
  /*color:#33485a;*/
  color:grey;
  font-style: normal;
  line-height:1.9em;
  /*
  letter-spacing:1px;
  text-align: justify;
  text-justify: inter-word;
  */
  margin-top:0.5em;
  margin-bottom:0.5em;
}
#home .item{
  margin:0;
  padding:2em;
  padding-top:0;
}
#home .evenodd{
  padding-top:1.5em;
  padding-bottom:1.5em;
  border-bottom:1px solid silver;
}
nav.navbar{
}

.nav-item {
  font-size:14px;
  color: black;
  padding:10px;
  padding-right:20px;
  padding-left:20px;
}

.nav-item a{
  color: #55544e;
}

.nav-item a:hover{
  color:black;
}


.black, .black li{
  color:#515050 !important;
}
.orange{
  color:#ff6800 !important;
}
.orange-bg{
  color:#ffffff;
  background-color:#ff6800;
}
.bordered-text{
  text-shadow: -1px 0 grey, 0 1px grey, 1px 0 grey, 0 -1px grey;
}

#home img.android-screenshot{
  margin-left:2em;
  margin-bottom:-20em;
}

@media(max-width:992px){
  #home .bg-img{
    height:400px;
  }
  #home #contacto{
    padding-top:2em;
  }
  #home h1{
    font-size:14pt;
  }
  #home p, #home #beneficios ul li{
    font-size:10pt;
    line-height:1.5em;
    letter-spacing:1.0px;
  }
}

.topLink.link{
  /*color:#ff6800 !important;*/
  color:#ffa600 !important;
}
.active > a{
  color:orange;
}
strong{
  font-weight:bold !important;
  color:#878787;
}

/*
a.nav-link{
  white-space: nowrap
}
*/

.banner-text {
  position:absolute;
  z-index:2;
  color:white;
  width:auto;
  text-align:left;
  padding-left:7rem;
}
.banner-text h2{
  color:white;
  margin-top: 20%;
  font-size: clamp(2rem, 2vw + 0.6rem, 5rem);
  font-weight:bold;
  max-width:800px;
  /*mrgin:0 auto;*/
  text-align:left;
}
.banner-text h3{
  color:white;
  /*mrgin:0 auto;*/
  text-align:left;
  margin-top:1.2rem;
  font-size: clamp(1rem, 2vw + 0.5rem, 2rem);
  max-width:600px;
}
.banner-text h2 .highlight {
  /*color:#f8d044;*/
  font-weight:bold;
}
.banner-text h3 .highlight {
  color:white;
  font-weight:bold;
}
.carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    opacity:0.5;
    z-index: 1;
}
.carousel-caption {
  position: absolute;
  bottom: 1.5rem;
  left: 2rem;
  z-index: 2; /* must be above gradient */
  text-align: left;
}

#home h3{
  color:#2e2e2e;
  margin:0 auto;
  margin-top:1em;
  font-size: clamp(2rem, 2vw + 0.5rem, 4rem);
}
#home h3 .highlight {
  color:white;
  font-weight:bold;
}
#home h4{
  color:#6c6353;
  margin:0 auto;
  font-weight:normal;
  margin-top:1em;
  font-size: clamp(1rem, 2vw + 0.5rem, 2rem);
}
#home h4 .highlight {
  color:#f8d044;
  font-weight:bold;
}

.section-content .slide{
  padding-top:2em;
  padding-bottom:2em;
  min-height:450px;
}

.section-content .slide .row{
}

.section-content .slide .img-fluid{
  padding-bottom:1em;
  border-radius: 0%;
}

.grey-bg{
  background-color:#f8f6f2;
}

.grey-bg-left{
  /*background-color:#f8f6f2;*/
  background: linear-gradient(
      to left,
      #f8f6f2 40%,   /* left half color */
      #ffffff 60%    /* right half color (or transparent) */
  );
}

.grey-bg-right{
  /*background-color:#f8f6f2;*/
  background: linear-gradient(
      to right,
      #f8f6f2 40%,   /* left half color */
      #ffffff 60%    /* right half color (or transparent) */
  );
}

.section-content .row{
  margin-top:0;
}
.section-content h2{
  font-weight:normal;
  color:#313c4a;
  margin-bottom:1em;
  margin-top:0;
  padding:0;
  font-size:2em;
}

.section-content p{
  margin-top:2em;
  line-height: 2;
  font-size:1.2em;
  color:#00214d;
}

.section-content-img{
  width:100%;
  height:400px;
  text-align:center;
  padding-top:3em;
  background-size: cover !important;
}

.features{
  margin-top:1em;
  padding:0;
}
.features ul{
  padding:0;
  margin:0;
}
.features li {
  font-size:1.1em;
  min-height:3em;
  margin-bottom:1em;
  padding-left:1em;
  padding-right:1em;
  list-style-type:disc;
}
.features li i.fa{
  color:#6ba900;
  margin-left:-2em;
  margin-right:0.5em;
}
.rowtitle{
  color:black;
  font-weight:bold;
  background-color:#d1dcfa;
  padding:0.5em;
  font-size:1.3em;
  display: inline-block;
  margin-bottom:1em;
  margin-top:1em;
}

.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
  background: white;
  margin: 40px 0;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}
.fadein.visible {
  opacity: 1;
  transform: translateY(0);
}
.spacer { 
  height: 50vh; 
}
footer {
  padding-top:2em;
  color:white;
  background-color:black;
}
footer a{
  color:white;
  font-size:1.1em;
  text-decoration:none;
}
footer p{
  font-size:1.1em !important;
}
.socialnw  {
  font-size:2em;
  color:black;
}

.socialmenu  {
  font-size:2em;
  color:black;
  position:absolute:
  right:10;
  z-index:30;
}

.banner-btn {
  font-weight:bold;
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index:2;
  color:white !important;
}
.banner-btn:hover{
  color:white !important;
}
#contact{
  font-size:1.4em;
}
#contact a{
  color:black;
  text-decoration:none;
}
#topbar {
  background-color:white;
  -webkit-box-shadow: 0 4px 4px -4px #8a8a8a;
  -moz-box-shadow: 0 4px 4px -4px #8a8a8a;
  box-shadow: 0 6px 4px -4px #8a8a8a;
  /*background-color:#f6f6f6;*/
}

@media (max-width: 991.98px) {
  .navbar-brand {
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
  }
}
/* On mobile: brand becomes absolute and moves to the right */
@media (max-width: 991.98px) { /* Bootstrap lg breakpoint */
  .brand-mobile-right {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
  }
  .hide-mobile{
    display:none;
  }
}

/* On desktop: brand returns to normal position */
@media (min-width: 992px) {
  .brand-mobile-right {
    position: absolute;
    left:5rem;
    transform: none;
  }
  .hide-mobile{
    display:block;
  }
}

.underline-anim {
  position: relative;
  text-decoration: none;
  color: inherit;
}

.underline-anim::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width 0.3s ease;
}

.underline-anim:hover::after {
  width: 100%;
}
