@charset "UTF-8";
/*===================*/
/* Golbal */
:root{
  --bs-light: var(--mdc-grey-100);
  --bs-light-rgb: var(--mdc-grey-100-rgb);
  --bs-dark:  var(--mdc-grey-900);
  --bs-dark-rgb:  var(--mdc-grey-900-rgb);
}
body{
  --bs-body-color: var(--mdc-grey-800,--bs-dark,#333);

}
a:not(:hover, :focus, :active) {
  text-decoration: none;
}
.stretched-link:not([class*="rounded-"]):after{
  border-radius: inherit; /* hereda el border-radius del padre con position relative */
}
[class*="card-img"]{
  overflow: hidden;
}
.object-fit-cover{
  object-fit: cover !important;
}

/*===================*/
/* Background */
.bg-gradient-primary-to-secondary {
  background-color: var(--bs-primary) !important;
  background-image: linear-gradient(135deg, var(--bs-brand-primary) 0%, rgba(var(--bs-brand-secondary-rgb), 0.8) 100%) !important;
}
.bg-gradient-primary-to-secondary-accent {
  background-color: var(--bs-primary) !important;
  background-image: linear-gradient(135deg, var(--bs-brand-primary-accent) 0%, rgba(var(--bs-brand-secondary-accent-rgb), 0.8) 100%) !important;
}

/*===================*/
/* Font Size */
.fs-sm{
  font-size: 0.875em !important;
}
.fs-xs{
  font-size: 0.75em !important;
}

/*===================*/
/* Font Weight */
.fw-100 {
  font-weight: 100 !important;
}
.fw-200 {
  font-weight: 200 !important;
}
.fw-300 {
  font-weight: 300 !important;
}
.fw-400 {
  font-weight: 400 !important;
}
.fw-500 {
  font-weight: 500 !important;
}
.fw-600 {
  font-weight: 600 !important;
}
.fw-700 {
  font-weight: 700 !important;
}
.fw-800 {
  font-weight: 800 !important;
}
.fw-900 {
  font-weight: 900 !important;
}

/*===================*/
/* Width & Height */
/* Width utilities (5% to 100% in steps of 5%) */
.w-5 {
  width: 5% !important;
}
.w-10 {
  width: 10% !important;
}
.w-15 {
  width: 15% !important;
}
.w-20 {
  width: 20% !important;
}
.w-25 {
  width: 25% !important;
}
.w-30 {
  width: 30% !important;
}
.w-35 {
  width: 35% !important;
}
.w-40 {
  width: 40% !important;
}
.w-45 {
  width: 45% !important;
}
.w-50 {
  width: 50% !important;
}
.w-55 {
  width: 55% !important;
}
.w-60 {
  width: 60% !important;
}
.w-65 {
  width: 65% !important;
}
.w-70 {
  width: 70% !important;
}
.w-75 {
  width: 75% !important;
}
.w-80 {
  width: 80% !important;
}
.w-85 {
  width: 85% !important;
}
.w-90 {
  width: 90% !important;
}
.w-95 {
  width: 95% !important;
}
.w-100 {
  width: 100% !important;
}
/* Height utilities (5% to 100% in steps of 5%) */
.h-5 {
  height: 5% !important;
}
.h-10 {
  height: 10% !important;
}
.h-15 {
  height: 15% !important;
}
.h-20 {
  height: 20% !important;
}
.h-25 {
  height: 25% !important;
}
.h-30 {
  height: 30% !important;
}
.h-35 {
  height: 35% !important;
}
.h-40 {
  height: 40% !important;
}
.h-45 {
  height: 45% !important;
}
.h-50 {
  height: 50% !important;
}
.h-55 {
  height: 55% !important;
}
.h-60 {
  height: 60% !important;
}
.h-65 {
  height: 65% !important;
}
.h-70 {
  height: 70% !important;
}
.h-75 {
  height: 75% !important;
}
.h-80 {
  height: 80% !important;
}
.h-85 {
  height: 85% !important;
}
.h-90 {
  height: 90% !important;
}
.h-95 {
  height: 95% !important;
}
.h-100 {
  height: 100% !important;
}


/* ==========================================================================
   SPACING POSITIVO EXTENDIDO – BASE (sin breakpoint)
   ========================================================================== */
.top-spacing-1 {
  top: 0.25rem !important;
}
.top-spacing-2 {
  top: 0.5rem !important;
}
.top-spacing-3 {
  top: 1rem !important;
}
.top-spacing-4 {
  top: 1.5rem !important;
}
.top-spacing-5 {
  top: 3rem !important;
}
.top-spacing-10{
  top: 6rem !important;;
}
.top-spacing-15{
  top: 9rem !important;;
}

.bottom-spacing-1 {
  bottom: 0.25rem !important;
}
.bottom-spacing-2 {
  bottom: 0.5rem !important;
}
.bottom-spacing-3 {
  bottom: 1rem !important;
}
.bottom-spacing-4 {
  bottom: 1.5rem !important;
}
.bottom-spacing-5 {
  bottom: 3rem !important;
}
.bottom-spacing-10{
  bottom: 6rem !important;;
}
.bottom-spacing-15{
  bottom: 9rem !important;;
}

.start-spacing-1,
.left-spacing-1 {
  left: 0.25rem !important;
}
.start-spacing-2,
.left-spacing-2 {
  left: 0.5rem !important;
}
.start-spacing-3,
.left-spacing-3 {
  left: 1rem !important;
}
.start-spacing-4,
.left-spacing-4 {
  left: 1.5rem !important;
}
.start-spacing-5,
.left-spacing-5 {
  left: 3rem !important;
}
.start-spacing-10,
.left-spacing-10{
  left: 6rem !important;;
}
.start-spacing-15,
.left-spacing-15{
  left: 9rem !important;;
}

.end-spacing-1,
.right-spacing-1 {
  right: 0.25rem !important;
}
.end-spacing-2,
.right-spacing-2 {
  right: 0.5rem !important;
}
.end-spacing-3,
.right-spacing-3 {
  right: 1rem !important;
}
.end-spacing-4,
.right-spacing-4 {
  right: 1.5rem !important;
}
.end-spacing-5,
.right-spacing-5 {
  right: 3rem !important;
}
.end-spacing-10,
.right-spacing-10{
  right: 6rem !important;;
}
.end-spacing-15,
.right-spacing-15{
  right: 9rem !important;;
}

/*===================*/
/* Gap */
.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: 1rem !important;
}
.gap-4 {
  gap: 1.5rem !important;
}
.gap-5 {
  gap: 2.5rem !important;
}
.gap-10 {
  gap: 6rem !important;
}
.gap-15 {
  gap: 9rem !important;
}

/*===================*/
/* Z Index */
.z-n1 {
  z-index: -1;
}
.z-0 {
  z-index: 0;
}
.z-1 {
  z-index: 1;
}
.z-2 {
  z-index: 2;
}
.z-3 {
  z-index: 3;
}

/*===================*/
/* Ratio */
.ratio > img:not(.img-fluid) {
  -o-object-fit: cover;
     object-fit: cover;
}
/* Vertical and Horizontal Ratios */
.ratio-1x1 {
  aspect-ratio: 1 / 1;
}
.ratio-4x3 {
  aspect-ratio: 4 / 3;
}
.ratio-16x9 {
  aspect-ratio: 16 / 9;
}
.ratio-21x9 {
  aspect-ratio: 21 / 9;
}
.ratio-3x4 {
  aspect-ratio: 3 / 4;
}
.ratio-9x16 {
  aspect-ratio: 9 / 16;
}
.ratio-9x21 {
  aspect-ratio: 9 / 21;
}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .ratio-sm-1x1 {
    aspect-ratio: 1 / 1;
  }
  .ratio-sm-4x3 {
    aspect-ratio: 4 / 3;
  }
  .ratio-sm-16x9 {
    aspect-ratio: 16 / 9;
  }
  .ratio-sm-21x9 {
    aspect-ratio: 21 / 9;
  }
  .ratio-sm-3x4 {
    aspect-ratio: 3 / 4;
  }
  .ratio-sm-9x16 {
    aspect-ratio: 9 / 16;
  }
  .ratio-sm-9x21 {
    aspect-ratio: 9 / 21;
  }
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .ratio-md-1x1 {
    aspect-ratio: 1 / 1;
  }
  .ratio-md-4x3 {
    aspect-ratio: 4 / 3;
  }
  .ratio-md-16x9 {
    aspect-ratio: 16 / 9;
  }
  .ratio-md-21x9 {
    aspect-ratio: 21 / 9;
  }
  .ratio-md-3x4 {
    aspect-ratio: 3 / 4;
  }
  .ratio-md-9x16 {
    aspect-ratio: 9 / 16;
  }
  .ratio-md-9x21 {
    aspect-ratio: 9 / 21;
  }
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .ratio-lg-1x1 {
    aspect-ratio: 1 / 1;
  }
  .ratio-lg-4x3 {
    aspect-ratio: 4 / 3;
  }
  .ratio-lg-16x9 {
    aspect-ratio: 16 / 9;
  }
  .ratio-lg-21x9 {
    aspect-ratio: 21 / 9;
  }
  .ratio-lg-3x4 {
    aspect-ratio: 3 / 4;
  }
  .ratio-lg-9x16 {
    aspect-ratio: 9 / 16;
  }
  .ratio-lg-9x21 {
    aspect-ratio: 9 / 21;
  }
}
/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .ratio-xl-1x1 {
    aspect-ratio: 1 / 1;
  }
  .ratio-xl-4x3 {
    aspect-ratio: 4 / 3;
  }
  .ratio-xl-16x9 {
    aspect-ratio: 16 / 9;
  }
  .ratio-xl-21x9 {
    aspect-ratio: 21 / 9;
  }
  .ratio-xl-3x4 {
    aspect-ratio: 3 / 4;
  }
  .ratio-xl-9x16 {
    aspect-ratio: 9 / 16;
  }
  .ratio-xl-9x21 {
    aspect-ratio: 9 / 21;
  }
}
/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
  .ratio-xxl-1x1 {
    aspect-ratio: 1 / 1;
  }
  .ratio-xxl-4x3 {
    aspect-ratio: 4 / 3;
  }
  .ratio-xxl-16x9 {
    aspect-ratio: 16 / 9;
  }
  .ratio-xxl-21x9 {
    aspect-ratio: 21 / 9;
  }
  .ratio-xxl-3x4 {
    aspect-ratio: 3 / 4;
  }
  .ratio-xxl-9x16 {
    aspect-ratio: 9 / 16;
  }
  .ratio-xxl-9x21 {
    aspect-ratio: 9 / 21;
  }
}

/*===================*/
/* Icon stack (circulo) */
.icon-stack {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  height: 2.5rem;
  width: 2.5rem;
  font-size: 1rem;
  /*background-color: #f2f6fc;*/
  flex-shrink: 0;
}
.icon-stack svg {
  height: 1rem;
  width: 1rem;
}
.icon-stack-sm {
  height: 2rem;
  width: 2rem;
}
.icon-stack-lg {
  height: 4rem;
  width: 4rem;
  font-size: 1.5rem;
}
.icon-stack-lg svg {
  height: 1.5rem;
  width: 1.5rem;
}
.icon-stack-xl {
  height: 5rem;
  width: 5rem;
  font-size: 1.75rem;
}
.icon-stack-xl svg {
  height: 1.75rem;
  width: 1.75rem;
}
.icon-stack-50 {
  height: 50px;
  width: 50px;
}

/*===================*/
/* Animated */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.dropdown-menu,
.animated--fade-in {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 300ms;
          animation-duration: 300ms;
  -webkit-animation-timing-function: opacity cubic-bezier(0, 1, 0.4, 1);
          animation-timing-function: opacity cubic-bezier(0, 1, 0.4, 1);
}

/*===================*/
/* Animated Dropdown arrow */
.dropdown .dropdown-toggle-arrow {
  display: inline-flex;
  align-items: center;
}
.dropdown .dropdown-toggle-arrow .dropdown-arrow {
  margin-left: 0.4rem;
  margin-right: 0;
  transition: transform 0.1s ease-in-out;
}
.dropdown .dropdown-toggle-arrow.show .dropdown-arrow {
  transform: rotate(90deg);
}

/*===================*/
/* Animated Lift */
.lift {
  box-shadow: 0 0.15rem 1.75rem 0 rgba(33, 40, 50, 0.15);
  transition: transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.lift:hover {
  transform: translateY(-0.3333333333rem);
  box-shadow: 0 0.5rem 2rem 0 rgba(33, 40, 50, 0.25);
}
.lift:active {
  transform: none;
  box-shadow: 0 0.15rem 1.75rem 0 rgba(33, 40, 50, 0.15);
}

.lift-sm {
  box-shadow: 0 0.125rem 0.25rem 0 rgba(33, 40, 50, 0.2);
}
.lift-sm:hover {
  transform: translateY(-0.1666666667rem);
  box-shadow: 0 0.25rem 1rem 0 rgba(33, 40, 50, 0.25);
}
.lift-sm:active {
  transform: none;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(33, 40, 50, 0.2);
}

/*===================*/
/* Animated Lift Filter */
.lift-filter {
  box-shadow: none !important;
  filter: drop-shadow(0 0.5rem .5rem rgba(0, 0, 0, 0.15));
  transition: transform 0.15s ease-in-out, filter 0.15s ease-in-out;
}
.lift-filter:active,
.lift-filter:hover{
  filter: drop-shadow(0 1rem 1.75rem rgba(0, 0, 0, 0.175));
}
/* Sombra pequeña, equivalente a .shadow-sm */
.lift-filter-sm {
  filter: drop-shadow(0 0.15rem 0.125rem rgba(0, 0, 0, 0.075));
}
.lift-filter-sm:hover{
  filter: drop-shadow(0 0.5rem .5rem rgba(0, 0, 0, 0.15));
}

/*===================*/
/* Media Object Link */
.media-object-link{
  .icon-stack{
    border-style: solid;
    border-width: 1px;
    border-color: transparent;
    transition: border .3s ease-in-out;
  }
  &:hover{
    .icon-stack{
      border-color: currentColor;
    }
  }
}

/*===================*/
/* Ornament Paws */
.ornament-box{
  /*position: relative;*/
}
.ornament-box:before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 77px;
  height: 155px;
  background-image: url(../assets/img/paw-steps.svg);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}

/*===================*/
/* SVG Shape */
header,
section,
footer {
  position: relative;
}
.svg-shape-bottom {
  padding-top: 3rem;
}
.svg-shape-bottom svg {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3rem;
  width: 100%;
  fill: currentColor;
  /*transform: scale(-1);*/
}
@media (min-width: 576px) {
  .svg-shape-bottom {
    padding-top: 3.5rem;
  }
  .svg-shape-bottom svg {
    height: 3.5rem;
  }
}
@media (min-width: 768px) {
  .svg-shape-bottom {
    padding-top: 4rem;
  }
  .svg-shape-bottom svg {
    height: 4rem;
  }
}
@media (min-width: 992px) {
  .svg-shape-bottom {
    padding-top: 4.5rem;
  }
  .svg-shape-bottom svg {
    height: 4.5rem;
  }
}
@media (min-width: 1200px) {
  .svg-shape-bottom {
    padding-top: 5rem;
  }
  .svg-shape-bottom svg {
    height: 5rem;
  }
}

.svg-shape-top {
  padding-bottom: 3rem;
}
.svg-shape-top svg {
  position: absolute;
  top: 0;
  left: 0;
  height: 3rem;
  width: 100%;
  fill: currentColor;
  /*transform: scale(-1);*/
}
@media (min-width: 576px) {
  .svg-shape-top {
    padding-bottom: 3.5rem;
  }
  .svg-shape-top svg {
    height: 3.5rem;
  }
}
@media (min-width: 768px) {
  .svg-shape-top {
    padding-bottom: 4rem;
  }
  .svg-shape-top svg {
    height: 4rem;
  }
}
@media (min-width: 992px) {
  .svg-shape-top {
    padding-bottom: 4.5rem;
  }
  .svg-shape-top svg {
    height: 4.5rem;
  }
}
@media (min-width: 1200px) {
  .svg-shape-top {
    padding-bottom: 5rem;
  }
  .svg-shape-top svg {
    height: 5rem;
  }
}


/*===================*/
/* Text Column Count */
.text-column-2 {
  -moz-column-count: 2;
       column-count: 2;
}
@media (min-width: 576px) {
  .text-column-sm-2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media (min-width: 768px) {
  .text-column-md-2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media (min-width: 992px) {
  .text-column-lg-2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media (min-width: 1200px) {
  .text-column-xl-2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media (min-width: 1400px) {
  .text-column-xxl-2 {
    -moz-column-count: 2;
         column-count: 2;
  }
}
.text-column-3 {
  -moz-column-count: 3;
       column-count: 3;
}
@media (min-width: 576px) {
  .text-column-sm-3 {
    -moz-column-count: 3;
         column-count: 3;
  }
}
@media (min-width: 768px) {
  .text-column-md-3 {
    -moz-column-count: 3;
         column-count: 3;
  }
}
@media (min-width: 993px) {
  .text-column-lg-3 {
    -moz-column-count: 3;
         column-count: 3;
  }
}
@media (min-width: 1300px) {
  .text-column-xl-3 {
    -moz-column-count: 3;
         column-count: 3;
  }
}
@media (min-width: 1400px) {
  .text-column-xxl-3 {
    -moz-column-count: 3;
         column-count: 3;
  }
}
[class*=text-column-] {
  -moz-column-rule: dashed 1px rgba(128, 128, 128, 0.16);
       column-rule: dashed 1px rgba(128, 128, 128, 0.16);
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
[class*=text-column-] li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

/*===================*/
/* Text Expanded */
.text-expanded{
  letter-spacing: 0.125em;
}

