/*------------------------------------
Components parts
------------------------------------*/
button, button:focus {
  outline: none !important
}
/*------------------------------------
Components classes
------------------------------------*/

.full-height {
    height: 100vh;
}
.g-block-centered {
  display: block;
  margin: 0 auto;
}

/*------------------------------------
Color classes
------------------------------------*/
.g-color-blue {
  color: #007bff;
}
.g-color-red {
  color: #dc3545;
}
.g-color-yellow {
  color: #ffc107;
}
.g-color-green {
  color: #28a745;
}
.g-color-white {
  color: #fff;
}
.g-color-black{
  color: #000;
}
/*------------------------------------
Color bg classes
------------------------------------*/
.g-bg-white {
  background: #fff;
}
.g-bg-black{
  background: #000;
}
/*------------------------------------
Padding classes
------------------------------------*/
.g-pt-15 {
  padding-top: 1.5rem;
}

/*------------------------------------
Margin classes
------------------------------------*/
/* Top */
.g-mt-10 {
  margin-top: 1rem;
}
.g-mt-15 {
  margin-top: 1.5rem;
}
.g-mt-20 {
  margin-top: 2rem;
}
.g-mt-25 {
  margin-top: 2.5rem;
}
.g-mt-30 {
  margin-top: 3rem;
}
.g-mt-35 {
  margin-top: 3.5rem;
}
.g-mt-40 {
  margin-top: 4rem;
}
.g-mt-45 {
  margin-top: 4.5rem;
}
.g-mt-50 {
  margin-top: 5rem;
}
.g-mt-100 {
  margin-top: 10rem;
}
.g-mt-150 {
  margin-top: 15rem;
}
.g-mt-200 {
  margin-top: 20rem;
}
/*Bottom*/
.g-mb-0 {
  margin-bottom: 0;
}
.g-mb-5 {
  margin-bottom: 0.5rem;
}
.g-mb-10 {
  margin-bottom: 1rem;
}
.g-mb-15 {
  margin-bottom: 1.5rem;
}
.g-mb-20 {
  margin-bottom: 2rem;
}
.g-mb-25 {
  margin-bottom: 2.5rem;
}
.g-mb-30 {
  margin-bottom: 3rem;
}
.g-mb-35 {
  margin-bottom: 3.5rem;
}
.g-mb-40 {
  margin-bottom: 4rem;
}
.g-mb-45 {
  margin-bottom: 4.5rem;
}
.g-mb-50 {
  margin-bottom: 5rem;
}
/*------------------------------------
Unify classes
------------------------------------*/
/*Typography Font Weight*/
.g-font-weight-100 {
  font-weight: 100 !important;
}

.g-font-weight-200 {
  font-weight: 200 !important;
}

.g-font-weight-300 {
  font-weight: 300 !important;
}

.g-font-weight-400 {
  font-weight: 400 !important;
}

.g-font-weight-500 {
  font-weight: 500 !important;
}

.g-font-weight-600 {
  font-weight: 600 !important;
}

.g-font-weight-700 {
  font-weight: 700 !important;
}

.g-font-weight-800 {
  font-weight: 800 !important;
}

.g-font-weight-900 {
  font-weight: 900 !important;
}
/* Hidden blocks */
.g-hidden-xs-up {
    display: none !important;
  }
  
  @media (max-width: 575px) {
    .g-hidden-xs-down {
      display: none !important;
    }
  }
  
  @media (min-width: 576px) {
    .g-hidden-sm-up {
      display: none !important;
    }
  }
  
  @media (max-width: 767px) {
    .g-hidden-sm-down {
      display: none !important;
    }
  }
  
  @media (min-width: 768px) {
    .g-hidden-md-up {
      display: none !important;
    }
  }
  
  @media (max-width: 991px) {
    .g-hidden-md-down {
      display: none !important;
    }
  }
  
  @media (min-width: 992px) {
    .g-hidden-lg-up {
      display: none !important;
    }
  }
  
  @media (max-width: 1199px) {
    .g-hidden-lg-down {
      display: none !important;
    }
  }
  
  @media (min-width: 1200px) {
    .g-hidden-xl-up {
      display: none !important;
    }
  }
  
  .g-hidden-xl-down {
    display: none !important;
  }


/* Absolute (Position, X, Y) */
.g-absolute-centered {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-backface-visibility: hidden;
}

.g-absolute-centered--x {
  position: absolute !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-backface-visibility: hidden;
}

@media (min-width: 576px) {
  .g-absolute-centered--x--sm {
    position: absolute !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
  }
}

@media (min-width: 768px) {
  .g-absolute-centered--x--md {
    position: absolute !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
  }
}

.g-absolute-centered--y {
  position: absolute !important;
  top: 50% !important;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-backface-visibility: hidden;
}

@media (min-width: 768px) {
  .g-absolute-centered--y--md {
    position: absolute !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-backface-visibility: hidden;
  }
}

@media (min-width: 992px) {
  .g-absolute-centered--y--lg {
    position: absolute !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-backface-visibility: hidden;
  }
}