/* ---------------------------------------------------------------------- */
/*	Theme Default
/* ---------------------------------------------------------------------- */

.dvh-100 { height: 100dvh !important; }
.min-dvh-100 { min-height: 100dvh !important; }

.ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }
.ls-3 { letter-spacing: 3px; }
.ls-4 { letter-spacing: 4px; }
.ls-5 { letter-spacing: 5px; }
.ls-6 { letter-spacing: 6px; }
.ls-0 { letter-spacing: 0px; }

.bg-contain { background-size: contain; background-repeat: no-repeat; background-position: center center; }
.bg-cover { background-size: cover; background-repeat: no-repeat; background-position: center center; }
.bg-white-transparent { background-color: rgba(var(--bs-white-rgb), 0.25) !important; }
.bg-black-transparent { background-color: rgba(var(--bs-black-rgb), 0.25) !important; }

.nav, .navbar-nav { --bs-nav-link-font-weight: inherit; }

.ratio-2x1 { --bs-aspect-ratio: 50%; }
.ratio-3x1 { --bs-aspect-ratio: 33.3333%; }
.ratio-3x2 { --bs-aspect-ratio: 66.6666%; }
.ratio-5x2 { --bs-aspect-ratio: 40%; }
.ratio-1x1 { --bs-aspect-ratio:100%; }
.ratio-4x3 { --bs-aspect-ratio:75%; }
.ratio-16x9 { --bs-aspect-ratio:56.25%; }
.ratio-21x9 { --bs-aspect-ratio:42.8571428571%; }

.wpl{ opacity: 0;}
.wpl.animated{ opacity: 1;}

section { position: relative; }

.btn {
    --bs-base-color: var(--bs-primary);
    ---bs-base-color-rgb: var(--bs-primary-rgb);
    
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-base-color);
    --bs-btn-border-color: var(--bs-base-color);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-base-color) 85%, black 15%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-base-color) 85%, black 15%);
    --bs-btn-focus-shadow-rgb: var(--bs-base-color-rgb);
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-base-color) 75%, black 25%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-base-color) 75%, black 25%);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: var(--bs-base-color);
    --bs-btn-disabled-border-color: var(--bs-base-color);
}

.btn-link {
    --bs-btn-color: var(--bs-link-color);
    
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-link-hover-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: transparent;
}

.btn-primary { --bs-base-color: var(--bs-primary); }
.btn-secondary { --bs-base-color: var(--bs-secondary); }
.btn-success { --bs-base-color: var(--bs-success); }
.btn-danger { --bs-base-color: var(--bs-danger); }
.btn-warning { --bs-base-color: var(--bs-warning); }
.btn-info { --bs-base-color: var(--bs-info); }
.btn-light { --bs-base-color: var(--bs-light); }
.btn-dark { --bs-base-color: var(--bs-dark); }


.bg-opacity-60 { --bs-bg-opacity: 0.6; }

.opacity-60 { opacity:.60 !important }

.hover-overlay {	
	position:relative;
}

.hover-overlay .overlay {
	transition: all 500ms;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:0;
}

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


/* ---------------------------------------------------------------------- */
/*	Swiper Slide
/* ---------------------------------------------------------------------- */

.swiper-slide { height: auto; }


/* ---------------------------------------------------------------------- */
/*	Border
/* ---------------------------------------------------------------------- */


/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .border-end-sm {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-start-sm {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-top-sm {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-bottom-sm {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .border-end-md {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-start-md {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-top-md {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-bottom-md {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .border-end-lg {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-start-lg {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-top-lg {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-bottom-lg {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .border-end-xl {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-start-xl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-top-xl {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-bottom-xl {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
  .border-end-xxl {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-start-xxl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-top-xxl {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  .border-bottom-xxl {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}


/* ---------------------------------------------------------------------- */
/*	Margin Padding
/* ---------------------------------------------------------------------- */

.ml-n1 { margin-left: -0.25rem !important; }
.ml-n2 { margin-left: -0.5rem !important; }
.ml-n3 { margin-left: -1rem !important; }
.ml-n4 { margin-left: -1.5rem !important; }
.ml-n5 { margin-left: -3rem !important; }
.ml-n6 { margin-left: -5rem !important; }

.mt-n1 { margin-top: -0.25rem !important; }
.mt-n2 { margin-top: -0.5rem !important; }
.mt-n3 { margin-top: -1rem !important; }
.mt-n4 { margin-top: -1.5rem !important; }
.mt-n5 { margin-top: -3rem !important; }
.mt-n6 { margin-top: -5rem !important; }

.mb-n1 { margin-bottom: -0.25rem !important; }
.mb-n2 { margin-bottom: -0.5rem !important; }
.mb-n3 { margin-bottom: -1rem !important; }
.mb-n4 { margin-bottom: -1.5rem !important; }
.mb-n5 { margin-bottom: -3rem !important; }
.mb-n6 { margin-bottom: -5rem !important; }


.pe-6 { padding-right:5rem !important }
.pe-7 { padding-right:7rem !important }

.pt-6 { padding-top: 5rem !important; }
.pt-7 { padding-top: 7rem !important; }

.px-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
.px-7 { padding-left: 7rem !important; padding-right: 5rem !important; }

.py-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
.py-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    
    .ratio-sm-1x1 { --bs-aspect-ratio:100%; }
    .ratio-sm-4x3 { --bs-aspect-ratio:75%; }
    .ratio-sm-16x9 { --bs-aspect-ratio:56.25%; }
    .ratio-sm-21x9 { --bs-aspect-ratio:42.8571428571%; }
    
    .ml-sm-n1 { margin-left: -0.25rem !important; }
    .ml-sm-n2 { margin-left: -0.5rem !important; }
    .ml-sm-n3 { margin-left: -1rem !important; }
    .ml-sm-n4 { margin-left: -1.5rem !important; }
    .ml-sm-n5 { margin-left: -3rem !important; }
    .ml-sm-n6 { margin-left: -5rem !important; }
    
    .mt-sm-n1 { margin-top: -0.25rem !important; }
    .mt-sm-n2 { margin-top: -0.5rem !important; }
    .mt-sm-n3 { margin-top: -1rem !important; }
    .mt-sm-n4 { margin-top: -1.5rem !important; }
    .mt-sm-n5 { margin-top: -3rem !important; }
    .mt-sm-n6 { margin-top: -5rem !important; }
    
    .mb-sm-n1 { margin-bottom: -0.25rem !important; }
    .mb-sm-n2 { margin-bottom: -0.5rem !important; }
    .mb-sm-n3 { margin-bottom: -1rem !important; }
    .mb-sm-n4 { margin-bottom: -1.5rem !important; }
    .mb-sm-n5 { margin-bottom: -3rem !important; }
    .mb-sm-n6 { margin-bottom: -5rem !important; }
    
    .pe-sm-6 { padding-right:5rem !important }
    .pe-sm-7 { padding-right:7rem !important }
    
    .pt-sm-6 { padding-top: 5rem !important; }
    .pt-sm-7 { padding-top: 7rem !important; }
    
    .px-sm-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
    .px-sm-7 { padding-left: 7rem !important; padding-right: 5rem !important; }
    
    .py-sm-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
    .py-sm-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    
    .ratio-md-1x1 { --bs-aspect-ratio:100%; }
    .ratio-md-4x3 { --bs-aspect-ratio:75%; }
    .ratio-md-16x9 { --bs-aspect-ratio:56.25%; }
    .ratio-md-21x9 { --bs-aspect-ratio:42.8571428571%; }
    
    .ml-md-n1 { margin-left: -0.25rem !important; }
    .ml-md-n2 { margin-left: -0.5rem !important; }
    .ml-md-n3 { margin-left: -1rem !important; }
    .ml-md-n4 { margin-left: -1.5rem !important; }
    .ml-md-n5 { margin-left: -3rem !important; }
    .ml-md-n6 { margin-left: -5rem !important; }
    
    .mt-md-n1 { margin-top: -0.25rem !important; }
    .mt-md-n2 { margin-top: -0.5rem !important; }
    .mt-md-n3 { margin-top: -1rem !important; }
    .mt-md-n4 { margin-top: -1.5rem !important; }
    .mt-md-n5 { margin-top: -3rem !important; }
    .mt-md-n6 { margin-top: -5rem !important; }
    
    .mb-md-n1 { margin-bottom: -0.25rem !important; }
    .mb-md-n2 { margin-bottom: -0.5rem !important; }
    .mb-md-n3 { margin-bottom: -1rem !important; }
    .mb-md-n4 { margin-bottom: -1.5rem !important; }
    .mb-md-n5 { margin-bottom: -3rem !important; }
    .mb-md-n6 { margin-bottom: -5rem !important; }
    
    .pe-md-6 { padding-right:5rem !important }
    .pe-md-7 { padding-right:7rem !important }
    
    .pt-md-6 { padding-top: 5rem !important; }
    .pt-md-7 { padding-top: 7rem !important; }
    
    .px-md-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
    .px-md-7 { padding-left: 7rem !important; padding-right: 5rem !important; }
    
    .py-md-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
    .py-md-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
    
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    
    .ratio-lg-1x1 { --bs-aspect-ratio:100%; }
    .ratio-lg-4x3 { --bs-aspect-ratio:75%; }
    .ratio-lg-16x9 { --bs-aspect-ratio:56.25%; }
    .ratio-lg-21x9 { --bs-aspect-ratio:42.8571428571%; }
    
    .ml-lg-n1 { margin-left: -0.25rem !important; }
    .ml-lg-n2 { margin-left: -0.5rem !important; }
    .ml-lg-n3 { margin-left: -1rem !important; }
    .ml-lg-n4 { margin-left: -1.5rem !important; }
    .ml-lg-n5 { margin-left: -3rem !important; }
    .ml-lg-n6 { margin-left: -5rem !important; }
    
    .mt-lg-n1 { margin-top: -0.25rem !important; }
    .mt-lg-n2 { margin-top: -0.5rem !important; }
    .mt-lg-n3 { margin-top: -1rem !important; }
    .mt-lg-n4 { margin-top: -1.5rem !important; }
    .mt-lg-n5 { margin-top: -3rem !important; }
    .mt-lg-n6 { margin-top: -5rem !important; }
    
    .mb-lg-n1 { margin-bottom: -0.25rem !important; }
    .mb-lg-n2 { margin-bottom: -0.5rem !important; }
    .mb-lg-n3 { margin-bottom: -1rem !important; }
    .mb-lg-n4 { margin-bottom: -1.5rem !important; }
    .mb-lg-n5 { margin-bottom: -3rem !important; }
    .mb-lg-n6 { margin-bottom: -5rem !important; }
    
    .pe-lg-6 { padding-right:5rem !important }
    .pe-lg-7 { padding-right:7rem !important }
    
    .pt-lg-6 { padding-top: 5rem !important; }
    .pt-lg-7 { padding-top: 7rem !important; }
    
    .px-lg-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
    .px-lg-7 { padding-left: 7rem !important; padding-right: 5rem !important; }
    
    .py-lg-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
    .py-lg-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
    
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    
    .ratio-xl-1x1 { --bs-aspect-ratio:100%; }
    .ratio-xl-4x3 { --bs-aspect-ratio:75%; }
    .ratio-xl-16x9 { --bs-aspect-ratio:56.25%; }
    .ratio-xl-21x9 { --bs-aspect-ratio:42.8571428571%; }
    
    .ml-xl-n1 { margin-left: -0.25rem !important; }
    .ml-xl-n2 { margin-left: -0.5rem !important; }
    .ml-xl-n3 { margin-left: -1rem !important; }
    .ml-xl-n4 { margin-left: -1.5rem !important; }
    .ml-xl-n5 { margin-left: -3rem !important; }
    .ml-xl-n6 { margin-left: -5rem !important; }
    
    .mt-xl-n1 { margin-top: -0.25rem !important; }
    .mt-xl-n2 { margin-top: -0.5rem !important; }
    .mt-xl-n3 { margin-top: -1rem !important; }
    .mt-xl-n4 { margin-top: -1.5rem !important; }
    .mt-xl-n5 { margin-top: -3rem !important; }
    .mt-xl-n6 { margin-top: -5rem !important; }
    
    .mb-xl-n1 { margin-bottom: -0.25rem !important; }
    .mb-xl-n2 { margin-bottom: -0.5rem !important; }
    .mb-xl-n3 { margin-bottom: -1rem !important; }
    .mb-xl-n4 { margin-bottom: -1.5rem !important; }
    .mb-xl-n5 { margin-bottom: -3rem !important; }
    .mb-xl-n6 { margin-bottom: -5rem !important; }
    
    .pe-xl-6 { padding-right:5rem !important }
    .pe-xl-7 { padding-right:7rem !important }
    
    .pt-xl-6 { padding-top: 5rem !important; }
    .pt-xl-7 { padding-top: 7rem !important; }
    
    .px-xl-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
    .px-xl-7 { padding-left: 7rem !important; padding-right: 5rem !important; }
    
    .py-xl-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
    .py-xl-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
    
}

/* X-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    
    .ratio-xxl-1x1 { --bs-aspect-ratio:100%; }
    .ratio-xxl-4x3 { --bs-aspect-ratio:75%; }
    .ratio-xxl-16x9 { --bs-aspect-ratio:56.25%; }
    .ratio-xxl-21x9 { --bs-aspect-ratio:42.8571428571%; }
    
    .ml-xxl-n1 { margin-left: -0.25rem !important; }
    .ml-xxl-n2 { margin-left: -0.5rem !important; }
    .ml-xxl-n3 { margin-left: -1rem !important; }
    .ml-xxl-n4 { margin-left: -1.5rem !important; }
    .ml-xxl-n5 { margin-left: -3rem !important; }
    .ml-xxl-n6 { margin-left: -5rem !important; }
    
    .mt-xxl-n1 { margin-top: -0.25rem !important; }
    .mt-xxl-n2 { margin-top: -0.5rem !important; }
    .mt-xxl-n3 { margin-top: -1rem !important; }
    .mt-xxl-n4 { margin-top: -1.5rem !important; }
    .mt-xxl-n5 { margin-top: -3rem !important; }
    .mt-xxl-n6 { margin-top: -5rem !important; }
    
    .mb-xxl-n1 { margin-bottom: -0.25rem !important; }
    .mb-xxl-n2 { margin-bottom: -0.5rem !important; }
    .mb-xxl-n3 { margin-bottom: -1rem !important; }
    .mb-xxl-n4 { margin-bottom: -1.5rem !important; }
    .mb-xxl-n5 { margin-bottom: -3rem !important; }
    .mb-xxl-n6 { margin-bottom: -5rem !important; }
    
    .pe-xxl-6 { padding-right:5rem !important }
    .pe-xxl-7 { padding-right:7rem !important }
    
    .pt-xxl-6 { padding-top: 5rem !important; }
    .pt-xxl-7 { padding-top: 7rem !important; }
    
    .px-xxl-6 { padding-left: 5rem !important; padding-right: 5rem !important; }
    .px-xxl-7 { padding-left: 7rem !important; padding-right: 5rem !important; }
    
    .py-xxl-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
    .py-xxl-7 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
    
}
