/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[4]!./theme/src/scss/page/home.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
/*
 * WARN: THIS FILE SHOULD ONLY BE FILLED WITH SCSS-SPECIFIC VARIABLE OVERRIDES.
 *
 * This file will be imported for each page to help managing the styles. To help
 * make the styling slimmer, and lesser doubled styling for the same components,
 * actual CSSes should be imported only on the `_theme.scss` file only.
 */
/*
 * This specific file introduces new variable to the theme that are not actually
 * exists in the theme, such as new component and such.
 */
/*
 * Little context for the line height calculation. In the design spec, the line
 * height of each font is actually defined, this is why I, chez14, add the line
 * height to the this part as well.
 *
 * Since the unit that being used in the original design are in px, we need to
 * convert this to rem, to make it responsive. REM are actually defined in the
 * device settings, hence for people with visually challenged limitations, if
 * they set the font really big, our website's font big too.
 *
 * That being said, people said 1 rem usually set to 16px. Hence all pixels here
 * are calculated by dividing them to 16, then times 1rem to convert them to
 * rem.
 *
 * ==================================================
 *
 * Notes for "Why do you use Mixins". My reasoning is:
 * 1. There's a lot of pitfals for @extend that may cause alot of trouble. I.e.
 *    older browser support problem, source ordering problem, @extend chaining
 *    that causes problematic things, and more. Please check following
 *    StackOverflow discussion to learn more:
 *    https://stackoverflow.com/q/18008700.
 *
 * 2. By using Mixins, we can use the same stylesheets, and apply them to
 *    certain components, for example, the cards, without extending it.
 */
.home.banner h1 {
  text-transform: uppercase;
}

.second-section .wrapper {
  align-items: center;
  display: flex;
  height: 100%;
}
.second-section .wrapper .text {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: space-between;
}
.second-section .wrapper .text * {
  margin-bottom: 0rem;
}
.second-section .wrapper .image {
  display: flex;
  justify-content: end;
}

.third-section {
  text-align: center;
}
.third-section h3 {
  margin-bottom: 2.75rem;
}
.third-section p {
  margin-bottom: 3.5rem;
}
.third-section .image-container {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.third-section .image-container .wrapper img {
  height: auto;
  width: 100%;
}

.wrapper {
  position: relative;
}
.wrapper:hover .overlay {
  opacity: 1;
}

.overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background-color: var(--bs-primary-b);
  opacity: 0;
  transition: opacity 0.5s ease;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 1.6875rem;
  padding-right: 1.6875rem;
}

.fourth-section .first-part .text {
  text-align: center;
}
.fourth-section .first-part .text h3 {
  margin-bottom: 1.5rem;
}
.fourth-section .second-part .text {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: space-between;
}

.elegant-slider-container {
  margin: 3.5rem 0;
}
.elegant-slider-container .slick-track {
  display: flex;
  gap: 1.875rem;
}
.elegant-slider-container .elegant-slide {
  height: 21.875rem;
  width: 21.875rem;
  position: relative;
}
.elegant-slider-container .elegant-slide img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
}
.elegant-slider-container .elegant-slide .slide-caption {
  margin-top: 0.8125rem;
  text-align: center;
}

.container-fluid.elegant {
  padding: 0rem;
  position: relative;
}

.elegant-slider-arrow-container {
  cursor: pointer;
  position: absolute;
  top: calc(50% - 63px);
}
.elegant-slider-arrow-container.prev {
  left: 0px;
}
.elegant-slider-arrow-container.next {
  right: 0px;
}

.elegant-slide:hover .overlay {
  opacity: 1;
}

@media (max-width: 576px) {
  .second-section .wrapper .text {
    margin-bottom: 2rem;
    text-align: center;
  }
  .third-section .image-container {
    flex-direction: column;
  }
  .fourth-section .second-part .text {
    margin-top: 2rem;
    text-align: center;
  }
}
