.row.nm{
	margin:0;
}

.np{
	padding-left:0px !important;
	padding-right:0px !important;
}

.no-wrap{
	white-space: nowrap;
}

.rel{
	position: relative;
}

.ib{
	display:inline-block;
}

.fl{
	float:left;
}

.fl-auto {
    float: none; /* not needed, just for clarification */
    /* the next props are meant to keep this block independent from the other floated one */
    width: auto;
    overflow: hidden;
}​​

.fr{
	float:right;
}

.fr-auto {
    float: none; /* not needed, just for clarification */
    background: #e8f6fe;
    /* the next props are meant to keep this block independent from the other floated one */
    width: auto;
    overflow: hidden;
}​​

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

/* TEXT ALIGN */

.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;
    }
}


/* PADDINGS */

.p-2{
	padding:2px;
}

.p-5{
	padding:5px;
}

.p-10{
	padding:10px;
}

.p-15{
	padding:15px;
}

.p-20{
	padding:20px;
}

.p-30{
	padding:30px;
}

.p-40{
	padding:40px;
}


.pt-2{
	padding-top:2px;
}

.pt-5{
	padding-top:5px;
}

.pt-10{
	padding-top:10px;
}

.pt-15{
	padding-top:15px;
}

.pt-20{
	padding-top:20px;
}

.pt-30{
	padding-top:30px;
}


.pt-40{
	padding-top:40px;
}


.pb-2{
	padding-bottom:2px;
}

.pb-5{
	padding-bottom:5px;
}

.pb-10{
	padding-bottom:10px;
}

.pb-15{
	padding-bottom:15px;
}

.pb-20{
	padding-bottom:20px;
}

.pb-30{
	padding-bottom:30px;
}

.pb-40{
	padding-bottom:40px;
}

.pr-2{
	padding-right:2px;
}

.pr-5{
	padding-right:5px;
}

.pr-10{
	padding-right:10px;
}

.pr-15{
	padding-right:15px;
}

.pr-20{
	padding-right:20px;
}

.pr-30{
	padding-right:30px;
}

.pr-40{
	padding-right:40px;
}

.pl-2{
	padding-left:2px;
}

.pl-5{
	padding-left:5px;
}

.pl-10{
	padding-left:10px;
}

.pl-15{
	padding-left:15px;
}

.pl-20{
	padding-left:20px;
}

.pl-30{
	padding-left:30px;
}

.pl-40{
	padding-left:40px;
}