.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
   --bs-gutter-x: 2.5rem;
}


@media (min-width: 992px) {
   .overflow-lg-hidden {overflow: hidden;}
   .min-dvh-lg-100 {min-height: 100dvh;}
}

*::placeholder {
   color: currentColor !important;
}

.last-item-none>*:last-child, .last-item-none>*:last-of-type {display: none;}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inset-0 {inset: 0;}

.filter-none {filter: none !important;}



/* CUSTOM CLAMP */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.line-clamp-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}



/* CUTOM ABSOLUTE CSS */
@media (min-width: 992px) {
   .position-lg-absolute {
      position: absolute !important;
   }
}



/* CUSTOM POSITION CSS */
.start-unset {left: unset;}
.top-unset {top: unset;}
.end-unset {right: unset;}
.bottom-unset {bottom: unset;}

@media (min-width: 576px) {
   .start-sm-unset {left: unset;}
   .top-sm-unset {top: unset;}
   .end-sm-unset {right: unset;}
   .bottom-sm-unset {bottom: unset;}
}

@media (min-width: 768px) {
   .start-md-unset {left: unset;}
   .top-md-unset {top: unset;}
   .end-md-unset {right: unset;}
   .bottom-md-unset {bottom: unset;}
}

@media (min-width: 992px) {
   .start-lg-unset {left: unset;}
   .top-lg-unset {top: unset;}
   .end-lg-unset {right: unset;}
   .bottom-lg-unset {bottom: unset;}
}

@media (min-width: 1200px) {
   .start-xl-unset {left: unset;}
   .top-xl-unset {top: unset;}
   .end-xl-unset {right: unset;}
   .bottom-xl-unset {bottom: unset;}
}

@media (min-width: 1400px) {
   .start-xxl-unset {left: unset;}
   .top-xxl-unset {top: unset;}
   .end-xxl-unset {right: unset;}
   .bottom-xxl-unset {bottom: unset;}
}



/* CUSTOM GRID CARD */
.group-card {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 1rem;
}
@media (min-width: 576px) {
   .group-card-sm-fill {
      grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
   }
   .group-card-sm-fill>*{
      max-width: 360px;
      margin: 0 auto;
   }
}



/* CUSTOM TEXT CSS */
.text-justify {
   text-align: justify !important;
}
.text-reset {
   font-size: 1em;
}
@media (min-width: 992px) {
   .fs-lg-sm {font-size: small;}
}



/* CUSTOM DIMENSION CSS */
.w-auto {width: auto !important;}
.w-100 {width: 100% !important;}
.w-90 {width: 90% !important;}
.w-80 {width: 80% !important;}
.w-70 {width: 70% !important;}
.w-60 {width: 60% !important;}
.w-50 {width: 50% !important;}
.w-40 {width: 40% !important;}
.w-30 {width: 30% !important;}
.w-20 {width: 20% !important;}
.w-10 {width: 10% !important;}
.h-auto {height: auto !important;}
.h-100 {height: 100% !important;}
.h-90 {height: 90% !important;}
.h-80 {height: 80% !important;}
.h-70 {height: 70% !important;}
.h-60 {height: 60% !important;}
.h-50 {height: 50% !important;}
.h-40 {height: 40% !important;}
.h-30 {height: 30% !important;}
.h-20 {height: 20% !important;}
.h-10 {height: 10% !important;}

@media (min-width: 576px) {
   .w-sm-auto {width: auto !important;}
   .w-sm-100 {width: 100% !important;}
   .w-sm-90 {width: 90% !important;}
   .w-sm-80 {width: 80% !important;}
   .w-sm-70 {width: 70% !important;}
   .w-sm-60 {width: 60% !important;}
   .w-sm-50 {width: 50% !important;}
   .w-sm-40 {width: 40% !important;}
   .w-sm-30 {width: 30% !important;}
   .w-sm-20 {width: 20% !important;}
   .w-sm-10 {width: 10% !important;}
   .h-sm-auto {height: auto !important;}
   .h-sm-100 {height: 100% !important;}
   .h-sm-90 {height: 90% !important;}
   .h-sm-80 {height: 80% !important;}
   .h-sm-70 {height: 70% !important;}
   .h-sm-60 {height: 60% !important;}
   .h-sm-50 {height: 50% !important;}
   .h-sm-40 {height: 40% !important;}
   .h-sm-30 {height: 30% !important;}
   .h-sm-20 {height: 20% !important;}
   .h-sm-10 {height: 10% !important;}
}

@media (min-width: 768px) {
   .w-md-auto {width: auto !important;}
   .w-md-100 {width: 100% !important;}
   .w-md-90 {width: 90% !important;}
   .w-md-80 {width: 80% !important;}
   .w-md-70 {width: 70% !important;}
   .w-md-60 {width: 60% !important;}
   .w-md-50 {width: 50% !important;}
   .w-md-40 {width: 40% !important;}
   .w-md-30 {width: 30% !important;}
   .w-md-20 {width: 20% !important;}
   .w-md-10 {width: 10% !important;}
   .h-md-auto {height: auto !important;}
   .h-md-100 {height: 100% !important;}
   .h-md-90 {height: 90% !important;}
   .h-md-80 {height: 80% !important;}
   .h-md-70 {height: 70% !important;}
   .h-md-60 {height: 60% !important;}
   .h-md-50 {height: 50% !important;}
   .h-md-40 {height: 40% !important;}
   .h-md-30 {height: 30% !important;}
   .h-md-20 {height: 20% !important;}
   .h-md-10 {height: 10% !important;}
}

@media (min-width: 992px) {
   .w-lg-auto {width: auto !important;}
   .w-lg-100 {width: 100% !important;}
   .w-lg-90 {width: 90% !important;}
   .w-lg-80 {width: 80% !important;}
   .w-lg-70 {width: 70% !important;}
   .w-lg-60 {width: 60% !important;}
   .w-lg-50 {width: 50% !important;}
   .w-lg-40 {width: 40% !important;}
   .w-lg-30 {width: 30% !important;}
   .w-lg-20 {width: 20% !important;}
   .w-lg-10 {width: 10% !important;}
   .h-lg-auto {height: auto !important;}
   .h-lg-100 {height: 100% !important;}
   .h-lg-90 {height: 90% !important;}
   .h-lg-80 {height: 80% !important;}
   .h-lg-70 {height: 70% !important;}
   .h-lg-60 {height: 60% !important;}
   .h-lg-50 {height: 50% !important;}
   .h-lg-40 {height: 40% !important;}
   .h-lg-30 {height: 30% !important;}
   .h-lg-20 {height: 20% !important;}
   .h-lg-10 {height: 10% !important;}
}

@media (min-width: 1200px) {
   .w-xl-auto {width: auto !important;}
   .w-xl-100 {width: 100% !important;}
   .w-xl-90 {width: 90% !important;}
   .w-xl-80 {width: 80% !important;}
   .w-xl-70 {width: 70% !important;}
   .w-xl-60 {width: 60% !important;}
   .w-xl-50 {width: 50% !important;}
   .w-xl-40 {width: 40% !important;}
   .w-xl-30 {width: 30% !important;}
   .w-xl-20 {width: 20% !important;}
   .w-xl-10 {width: 10% !important;}
   .h-xl-auto {height: auto !important;}
   .h-xl-100 {height: 100% !important;}
   .h-xl-90 {height: 90% !important;}
   .h-xl-80 {height: 80% !important;}
   .h-xl-70 {height: 70% !important;}
   .h-xl-60 {height: 60% !important;}
   .h-xl-50 {height: 50% !important;}
   .h-xl-40 {height: 40% !important;}
   .h-xl-30 {height: 30% !important;}
   .h-xl-20 {height: 20% !important;}
   .h-xl-10 {height: 10% !important;}
}

@media (min-width: 1400px) {
   .w-xxl-auto {width: auto !important;}
   .w-xxl-100 {width: 100% !important;}
   .w-xxl-90 {width: 90% !important;}
   .w-xxl-80 {width: 80% !important;}
   .w-xxl-70 {width: 70% !important;}
   .w-xxl-60 {width: 60% !important;}
   .w-xxl-50 {width: 50% !important;}
   .w-xxl-40 {width: 40% !important;}
   .w-xxl-30 {width: 30% !important;}
   .w-xxl-20 {width: 20% !important;}
   .w-xxl-10 {width: 10% !important;}
   .h-xxl-auto {height: auto !important;}
   .h-xxl-100 {height: 100% !important;}
   .h-xxl-90 {height: 90% !important;}
   .h-xxl-80 {height: 80% !important;}
   .h-xxl-70 {height: 70% !important;}
   .h-xxl-60 {height: 60% !important;}
   .h-xxl-50 {height: 50% !important;}
   .h-xxl-40 {height: 40% !important;}
   .h-xxl-30 {height: 30% !important;}
   .h-xxl-20 {height: 20% !important;}
   .h-xxl-10 {height: 10% !important;}
}



/* --------------- CUSTOM GRID CSS */
.grid-cols-1 {grid-template-columns: repeat(1, 1fr);}
.grid-cols-2 {grid-template-columns: repeat(2, 1fr);}
.grid-cols-3 {grid-template-columns: repeat(3, 1fr);}
.grid-cols-4 {grid-template-columns: repeat(4, 1fr);}
.grid-cols-5 {grid-template-columns: repeat(5, 1fr);}
.grid-cols-6 {grid-template-columns: repeat(6, 1fr);}
.grid-cols-7 {grid-template-columns: repeat(7, 1fr);}
.grid-cols-8 {grid-template-columns: repeat(8, 1fr);}
.grid-cols-9 {grid-template-columns: repeat(9, 1fr);}
.grid-cols-10 {grid-template-columns: repeat(10, 1fr);}
.grid-cols-11 {grid-template-columns: repeat(11, 1fr);}
.grid-cols-12 {grid-template-columns: repeat(12, 1fr);}

@media (min-width: 576px) {
   .grid-cols-sm-1 {grid-template-columns: repeat(1, 1fr);}
   .grid-cols-sm-2 {grid-template-columns: repeat(2, 1fr);}
   .grid-cols-sm-3 {grid-template-columns: repeat(3, 1fr);}
   .grid-cols-sm-4 {grid-template-columns: repeat(4, 1fr);}
   .grid-cols-sm-5 {grid-template-columns: repeat(5, 1fr);}
   .grid-cols-sm-6 {grid-template-columns: repeat(6, 1fr);}
   .grid-cols-sm-7 {grid-template-columns: repeat(7, 1fr);}
   .grid-cols-sm-8 {grid-template-columns: repeat(8, 1fr);}
   .grid-cols-sm-9 {grid-template-columns: repeat(9, 1fr);}
   .grid-cols-sm-10 {grid-template-columns: repeat(10, 1fr);}
   .grid-cols-sm-11 {grid-template-columns: repeat(11, 1fr);}
   .grid-cols-sm-12 {grid-template-columns: repeat(12, 1fr);}
}

@media (min-width: 768px) {
   .grid-cols-md-1 {grid-template-columns: repeat(1, 1fr);}
   .grid-cols-md-2 {grid-template-columns: repeat(2, 1fr);}
   .grid-cols-md-3 {grid-template-columns: repeat(3, 1fr);}
   .grid-cols-md-4 {grid-template-columns: repeat(4, 1fr);}
   .grid-cols-md-5 {grid-template-columns: repeat(5, 1fr);}
   .grid-cols-md-6 {grid-template-columns: repeat(6, 1fr);}
   .grid-cols-md-7 {grid-template-columns: repeat(7, 1fr);}
   .grid-cols-md-8 {grid-template-columns: repeat(8, 1fr);}
   .grid-cols-md-9 {grid-template-columns: repeat(9, 1fr);}
   .grid-cols-md-10 {grid-template-columns: repeat(10, 1fr);}
   .grid-cols-md-11 {grid-template-columns: repeat(11, 1fr);}
   .grid-cols-md-12 {grid-template-columns: repeat(12, 1fr);}
}

@media (min-width: 992px) {
   .grid-cols-lg-1 {grid-template-columns: repeat(1, 1fr);}
   .grid-cols-lg-2 {grid-template-columns: repeat(2, 1fr);}
   .grid-cols-lg-3 {grid-template-columns: repeat(3, 1fr);}
   .grid-cols-lg-4 {grid-template-columns: repeat(4, 1fr);}
   .grid-cols-lg-5 {grid-template-columns: repeat(5, 1fr);}
   .grid-cols-lg-6 {grid-template-columns: repeat(6, 1fr);}
   .grid-cols-lg-7 {grid-template-columns: repeat(7, 1fr);}
   .grid-cols-lg-8 {grid-template-columns: repeat(8, 1fr);}
   .grid-cols-lg-9 {grid-template-columns: repeat(9, 1fr);}
   .grid-cols-lg-10 {grid-template-columns: repeat(10, 1fr);}
   .grid-cols-lg-11 {grid-template-columns: repeat(11, 1fr);}
   .grid-cols-lg-12 {grid-template-columns: repeat(12, 1fr);}
}

@media (min-width: 1200px) {
   .grid-cols-xl-1 {grid-template-columns: repeat(1, 1fr);}
   .grid-cols-xl-2 {grid-template-columns: repeat(2, 1fr);}
   .grid-cols-xl-3 {grid-template-columns: repeat(3, 1fr);}
   .grid-cols-xl-4 {grid-template-columns: repeat(4, 1fr);}
   .grid-cols-xl-5 {grid-template-columns: repeat(5, 1fr);}
   .grid-cols-xl-6 {grid-template-columns: repeat(6, 1fr);}
   .grid-cols-xl-7 {grid-template-columns: repeat(7, 1fr);}
   .grid-cols-xl-8 {grid-template-columns: repeat(8, 1fr);}
   .grid-cols-xl-9 {grid-template-columns: repeat(9, 1fr);}
   .grid-cols-xl-10 {grid-template-columns: repeat(10, 1fr);}
   .grid-cols-xl-11 {grid-template-columns: repeat(11, 1fr);}
   .grid-cols-xl-12 {grid-template-columns: repeat(12, 1fr);}
}

@media (min-width: 1400px) {
   .grid-cols-xxl-1 {grid-template-columns: repeat(1, 1fr);}
   .grid-cols-xxl-2 {grid-template-columns: repeat(2, 1fr);}
   .grid-cols-xxl-3 {grid-template-columns: repeat(3, 1fr);}
   .grid-cols-xxl-4 {grid-template-columns: repeat(4, 1fr);}
   .grid-cols-xxl-5 {grid-template-columns: repeat(5, 1fr);}
   .grid-cols-xxl-6 {grid-template-columns: repeat(6, 1fr);}
   .grid-cols-xxl-7 {grid-template-columns: repeat(7, 1fr);}
   .grid-cols-xxl-8 {grid-template-columns: repeat(8, 1fr);}
   .grid-cols-xxl-9 {grid-template-columns: repeat(9, 1fr);}
   .grid-cols-xxl-10 {grid-template-columns: repeat(10, 1fr);}
   .grid-cols-xxl-11 {grid-template-columns: repeat(11, 1fr);}
   .grid-cols-xxl-12 {grid-template-columns: repeat(12, 1fr);}
}



/* CUSTOM LINK CSS */
.link-hover, .link-hover-underline {
   color: currentColor;
   text-decoration: none;
   font-size: 1em;
   opacity: .75;
   transition: .3s ease;
}
.link-hover:hover, 
.link-hover:focus, 
.link-hover.active {
   opacity: 1;
}
.link-hover-underline:hover, 
.link-hover-underline:focus, 
.link-hover-underline.active {
   opacity: 1;
   text-decoration: underline;
}


/* CUSTOM BUTTON OUTLINE INVERT */
.btn-outline-invert {
   background-color: transparent;
   color: var(--bs-body-color);
   border: solid 1px rgba(var(--bs-body-color-rgb), .5);
}
.btn-outline-invert:hover,
.btn-outline-invert:focus,
.btn-outline-invert.active {
   background-color: var(--bs-body-color);
   color: var(--bs-body-bg);
   border: solid 1px rgba(var(--bs-body-color-rgb), 1);
}