/* Mejoras de css para extender limitaciones de diseño de bootstrap 3 */
/*
 * Row with equal height columns
 * se debe usar en combinacion de row-vertical-align
 */
.flex-stretch {
    -webkit-align-items:stretch;
    align-items:        stretch;
}

/* alineamiento vertical */
.row-vertical-align{
    display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items:center;
    align-items: center;
}

/* alineamiento vertical responsivo */
@media (min-width: 768px){
	.row-sm-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (min-width: 992px){
	.row-md-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (min-width: 1200px){
	.row-lg-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}

/* alineamiento vertical responsivo */
@media (max-width: 479px) {
	.row-visible-xxs-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (max-width: 767px) {
	.row-visible-xs-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.row-visible-sm-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.row-visible-md-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}
@media (min-width: 1200px) {
	.row-visible-lg-vertical-align{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
	}
}

/** solution for Bootstrap Equal Height columns **/
.row.equal-cols {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
  
  .row.equal-cols:before,
  .row.equal-cols:after {
	display: block;
}
  
.row.equal-cols > [class*='col-'] {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}
  
.row.equal-cols > [class*='col-'] > * {
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto; 
}


/** solution for owl carousel Equal Height columns **/

/* .equal-cols.owl-carousel{
	display:none;
} */

.row.equal-cols.owl-carousel{
	margin-right: 0;
    margin-left: 0;
}

.row.equal-cols.owl-carousel .owl-stage {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.row.equal-cols.owl-carousel .owl-stage > .owl-item {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}
  
.row.equal-cols.owl-carousel .owl-stage > .owl-item > * {
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto; 
}

/* bootstrap 4.2.1 */
.table.table-borderless th,
.table.table-borderless td,
.table.table-borderless thead th,
.table.table-borderless tbody + tbody {
  border: 0;
}


/* Make aligning text responsive */
/* https://github.com/twbs/bootstrap/issues/11292 */

.text-left-not-xs, .text-left-not-sm, .text-left-not-md, .text-left-not-lg {
    text-align: left;
}
.text-center-not-xs, .text-center-not-sm, .text-center-not-md, .text-center-not-lg {
    text-align: center;
}
.text-right-not-xs, .text-right-not-sm, .text-right-not-md, .text-right-not-lg {
    text-align: right;
}
.text-justify-not-xs, .text-justify-not-sm, .text-justify-not-md, .text-justify-not-lg {
    text-align: justify;
}

@media (max-width: 767px) {
    .text-left-not-xs, .text-center-not-xs, .text-right-not-xs, .text-justify-not-xs {
        text-align: inherit;
    }
    .text-left-xs {
        text-align: left;
    }
    .text-center-xs {
        text-align: center;
    }
    .text-right-xs {
        text-align: right;
    }
    .text-justify-xs {
        text-align: justify;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .text-left-not-sm, .text-center-not-sm, .text-right-not-sm, .text-justify-not-sm {
        text-align: inherit;
    }
    .text-left-sm {
        text-align: left;
    }
    .text-center-sm {
        text-align: center;
    }
    .text-right-sm {
        text-align: right;
    }
    .text-justify-sm {
        text-align: justify;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .text-left-not-md, .text-center-not-md, .text-right-not-md, .text-justify-not-md {
        text-align: inherit;
    }
    .text-left-md {
        text-align: left;
    }
    .text-center-md {
        text-align: center;
    }
    .text-right-md {
        text-align: right;
    }
    .text-justify-md {
        text-align: justify;
    }
}
@media (min-width: 1200px) {
    .text-left-not-lg, .text-center-not-lg, .text-right-not-lg, .text-justify-not-lg {
        text-align: inherit;
    }
    .text-left-lg {
        text-align: left;
    }
    .text-center-lg {
        text-align: center;
    }
    .text-right-lg {
        text-align: right;
    }
    .text-justify-lg {
        text-align: justify;
    }
}