.form-control {
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:focus {
  border-bottom: 3px solid var(--first-color-alt);
}
.form-control:focus {
  color: var(--font-color);
  opacity: 0.8;
  outline: 0;
}
.form-control::placeholder {
  color: var(--font-color);
  opacity: 0.7;
}
.form-control:disabled {
  background-color: #e9ecef;
  opacity: 0.7;
}
.form-group.from-group--with-label .form-label {
  pointer-events: none;
}
.check-group label {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.check-group label a {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.form-btn button {
  cursor: pointer;
}
.card.demo-card {
  box-shadow: 1px 1px 14px -4px rgba(0, 0, 0, 0.45);
  position: relative;
}
.card.demo-card div.demo-text {
  color: #f7f7f7;
  left: 0;
  margin: auto;
  opacity: 1;
  padding: 30px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: all 0.2s linear;
  width: 100%;
}
.card.demo-card div.demo-text h4 {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 10px;
}
.card.demo-card div.demo-text p {
  font-size: calc(14px + 0.1vw);
  font-weight: 500;
}
.card.demo-card span.demo-card-image {
  background-size: 100% auto;
  border-radius: 4px;
  display: block;
  height: 300px;
  overflow: hidden;
  transition: background-position 5s linear;
  width: 100%;
}
.card.demo-card span.demo-card-image:after {
  background: #173681;
  border-radius: 4px;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0.95;
  position: absolute;
  top: 0;
  transition: all 0.5s ease;
  width: 100%;
}
.card.demo-card:hover {
  box-shadow: 1px 1px 18px -2px rgba(0, 0, 0, 0.45);
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
.card.demo-card:hover div.demo-text {
  opacity: 0;
}
.card.demo-card:hover .demo-card-image {
  background-position: bottom;
}
.card.demo-card:hover .demo-card-image:after {
  opacity: 0;
}
.bg1 {
  background-image: url(images/cuppriccio.88b7646b.webp);
}
.bg2 {
  background-image: url(images/casaflor.0ae536f6.webp);
}
.bg3 {
  background-image: url(images/housevision.6e44fbfc.webp);
}
.bg4 {
  background-image: url(images/iyd.45aba4d2.webp);
}
.bg5 {
  background-image: url(images/gineljeans.1f117dee.webp);
}
.card-image .btn-view {
  transition: 0.3s;
}
.card-image {
  position: relative;
}
.card-image .btn-view {
  bottom: 20px;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: all 0.5s ease;
}
.card.demo-card:hover .btn-view {
  opacity: 1;
  pointer-events: all;
}
.lazy-background {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}
.beneficiarios__container .row {
  --bs-gutter-y: 2rem;
}
.hidden {
  overflow: hidden;
}
.section-title {
  font-size: calc(29px + 0.1vw);
  font-weight: 900;
}
::selection {
  background-color: rgba(23, 55, 129, 0.75);
  color: #fff;
}
.bg-overlay {
  transition: all 0.5s ease-out 0s;
  -webkit-transition: all 0.5s ease-out 0s;
}
.bg-overlay.active {
  opacity: 1;
  visibility: visible;
}
img {
  border-style: none;
  max-width: 100%;
}
[type="button"],
[type="submit"] {
  -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
summary {
  display: list-item;
}
[hidden] {
  display: none;
} /*!
 * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container-sm {
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--bs-gutter-x, 0.75rem);
  padding-right: var(--bs-gutter-x, 0.75rem);
  width: 100%;
}
@media (min-width: 576px) {
  .container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-sm {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-sm {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-sm {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-sm,
  .container-xxl {
    max-width: 1320px;
  }
}
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}
.mb-5 {
  margin-bottom: 3rem !important;
}
.btn-primary {
  cursor: pointer;
}
.btn-primary:hover {
  box-shadow: 0 3px 10px rgba(74, 80, 107, 0.6);
}
.btn-primary:nth-of-type(2) {
  background-color: var(--color-white);
  color: var(--font-color);
  position: relative;
}
.btn-primary:before {
  transition: 0.3s;
}
.btn-primary:nth-of-type(2):before {
  background-color: var(--first-color-alt);
}
.btn-primary:nth-of-type(2):hover {
  color: var(--color-white);
}
.btn-primary:nth-of-type(2):active {
  color: var(--color-text);
}
.btn-primary:hover:before {
  -webkit-clip-path: polygon(0 0, calc(100% + 1rem) 0, 100% 100%, -1rem 100%);
  clip-path: polygon(0 0, calc(100% + 1rem) 0, 100% 100%, -1rem 100%);
}
.btn-primary:active:before {
  -webkit-clip-path: polygon(
    calc(100% + 1rem) 0,
    calc(100% + 1rem) 0,
    100% 100%,
    100% 100%
  );
  clip-path: polygon(
    calc(100% + 1rem) 0,
    calc(100% + 1rem) 0,
    100% 100%,
    100% 100%
  );
}
.btn-top {
  transition: 0.7s;
}
.btn-top:hover {
  background-color: var(--first-color-alt);
}
.go-top {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.header__container {
  transition: 0.4s;
}
.header__container .nav__logo {
  transition: 0.5s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.nav__toggle {
  cursor: pointer;
}
header.header-sticky {
  background-color: #fff;
  padding-bottom: 15px;
  padding-top: 15px;
}
header.header-sticky .nav {
  height: 40px;
}
.header-sticky .header__container .nav__logo {
  color: var(--first-color);
}
.nav__menu {
  transition: 0.4s;
}
.nav__link:hover {
  color: var(--first-color-alt);
}
.nav__close {
  cursor: pointer;
}
.nav__close:hover {
  opacity: 1;
}
.show-menu {
  right: 0;
}
.active-link {
  color: var(--first-color);
  position: relative;
}
.active-link:before {
  background-color: var(--first-color);
  bottom: -0.3rem;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.active-link:hover:before {
  background-color: var(--first-color-alt);
}
.drop-menu {
  cursor: pointer;
}
.submenu {
  transition: 0.3s;
}
.submenu--active {
  display: block;
  opacity: 1;
}
.carousel__button {
  align-items: center;
  background: var(--carousel-button-bg, transparent);
  border: 0;
  border-radius: var(--carousel-button-border-radius, 50%);
  box-shadow: var(--carousel-button-shadow, none);
  color: var(--carousel-button-color, currentColor);
  cursor: pointer;
  display: flex;
  height: var(--carousel-button-height, 48px);
  justify-content: center;
  padding: 0;
  pointer-events: all;
  transition: opacity 0.15s ease;
  width: var(--carousel-button-width, 48px);
}
.carousel__button svg {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--carousel-button-svg-stroke-width, 1.5);
  stroke-linejoin: bevel;
  stroke-linecap: round;
  -webkit-filter: var(--carousel-button-svg-filter, none);
  filter: var(--carousel-button-svg-filter, none);
  height: var(--carousel-button-svg-height, 50%);
  pointer-events: none;
  width: var(--carousel-button-svg-width, 50%);
}
body.compensate-for-scrollbar {
  overflow: hidden !important;
  touch-action: none;
}
.fancybox__container {
  --fancybox-accent-color: rgba(1, 210, 232, 0.94);
  -webkit-tap-highlight-color: transparent;
  --carousel-button-width: 48px;
  --carousel-button-height: 48px;
  --carousel-button-svg-width: 24px;
  --carousel-button-svg-height: 24px;
  --carousel-button-svg-stroke-width: 2.5;
  --carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4));
  bottom: 0;
  box-sizing: border-box;
  color: var(--fancybox-color, #fff);
  direction: ltr;
  display: flex;
  flex-direction: column;
  left: 0;
  margin: 0;
  outline: 0;
  overflow: hidden;
  padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0)
    env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  z-index: 1050;
}
.fancybox__container *,
.fancybox__container :after,
.fancybox__container :before {
  box-sizing: inherit;
}
.fancybox__container :focus {
  outline: 0;
}
body:not(.is-using-mouse) .fancybox__container :focus {
  box-shadow: 0 0 0 1px #fff,
    0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94));
}
@media (min-width: 1024px) {
  .fancybox__container {
    --carousel-button-width: 48px;
    --carousel-button-height: 48px;
    --carousel-button-svg-width: 27px;
    --carousel-button-svg-height: 27px;
  }
}
.fancybox__backdrop {
  background: var(--fancybox-bg, rgba(24, 24, 27, 0.92));
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.fancybox__carousel {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  position: relative;
  z-index: 10;
}
.fancybox__viewport {
  cursor: default;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}
.fancybox__track {
  display: flex;
  height: 100%;
}
.fancybox__slide {
  -webkit-overflow-scrolling: touch;
  --carousel-button-width: 36px;
  --carousel-button-height: 36px;
  --carousel-button-svg-width: 22px;
  --carousel-button-svg-height: 22px;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  margin: 0;
  max-width: 100%;
  outline: 0;
  overflow: auto;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  padding: 48px 8px 8px;
  position: relative;
  width: 100%;
}
.fancybox__slide:after,
.fancybox__slide:before {
  content: "";
  flex: 0 0 0;
  margin: auto;
}
@media (min-width: 1024px) {
  .fancybox__slide {
    padding: 64px 100px;
  }
}
.fancybox__content {
  align-self: center;
  background: var(--fancybox-content-bg, #fff);
  color: var(--fancybox-content-color, #374151);
  display: flex;
  flex-direction: column;
  margin: 0 env(safe-area-inset-right, 0) 0 env(safe-area-inset-left, 0);
  padding: 36px;
  position: relative;
  z-index: 20;
}
.fancybox__content :focus:not(.carousel__button.is-close) {
  box-shadow: none;
  outline: thin dotted;
}
.carousel__button.is-close {
  position: absolute;
  right: 8px;
  right: calc(env(safe-area-inset-right, 0px) + 8px);
  top: 8px;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  z-index: 40;
}
@media (min-width: 1024px) {
  .carousel__button.is-close {
    right: 40px;
  }
}
.fancybox__content > .carousel__button.is-close {
  color: var(--fancybox-color, #fff);
  position: absolute;
  right: 0;
  top: -40px;
}
@keyframes fancybox-rotate {
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
@keyframes fancybox-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  to {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
.carousel__button.is-close,
.fancybox__backdrop {
  opacity: var(--fancybox-opacity, 1);
}
.fancybox__container.is-animated[aria-hidden="false"]
  .carousel__button.is-close,
.fancybox__container.is-animated[aria-hidden="false"] .fancybox__backdrop {
  -webkit-animation: fancybox-fadeIn 0.15s ease backwards;
  animation: fancybox-fadeIn 0.15s ease backwards;
}
.fancybox__container.is-animated.is-closing .carousel__button.is-close,
.fancybox__container.is-animated.is-closing .fancybox__backdrop {
  -webkit-animation: fancybox-fadeOut 0.15s ease both;
  animation: fancybox-fadeOut 0.15s ease both;
}
@keyframes fancybox-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fancybox-fadeOut {
  to {
    opacity: 0;
  }
}
@keyframes fancybox-zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.97) translate3d(0, 16px, 0);
    transform: scale(0.97) translate3d(0, 16px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) translateZ(0);
    transform: scale(1) translateZ(0);
  }
}
@keyframes fancybox-zoomOutDown {
  to {
    opacity: 0;
    -webkit-transform: scale(0.97) translate3d(0, 16px, 0);
    transform: scale(0.97) translate3d(0, 16px, 0);
  }
}
@keyframes fancybox-throwOutUp {
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -30%, 0);
    transform: translate3d(0, -30%, 0);
  }
}
@keyframes fancybox-throwOutDown {
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 30%, 0);
    transform: translate3d(0, 30%, 0);
  }
}
.fancybox__carousel.is-draggable .fancybox__slide,
.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}
.fancybox__carousel .fancybox__slide .fancybox__content {
  cursor: auto;
}
.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}
.fancybox__container:-webkit-full-screen::backdrop {
  opacity: 0;
}
.fancybox__container:-ms-fullscreen::backdrop {
  opacity: 0;
}
.fancybox__container:fullscreen::-webkit-backdrop {
  opacity: 0;
}
.fancybox__container:fullscreen::backdrop {
  opacity: 0;
}
@media (max-width: 500px) {
  header .btn-primary:first-of-type:hover span {
    color: #fff;
  }
  header.header-sticky {
    background-color: var(--first-color);
  }
  .header-sticky .header__container .nav__logo {
    color: #fff;
  }
}
