.br-1 {
  border-radius: 0.25rem;
}
.br-2 {
  border-radius: 0.5rem;
}
.br-3 {
  border-radius: 0.75rem;
}
.br-4 {
  border-radius: 1rem;
}
.text-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.card.card-sm > div {
  padding: 0.25rem;
}
.banner-group {
  display: flex;
  flex: 1 1 1;
}
.banner-group > div {
  width: 33%;
  height: 500px;
}
.banner-group .banner-group {
  width: 33%;
}
.banner-group-vertical {
  flex-direction: column;
  div {
    width: 100%;
  }
}
.banner {
  position: relative;
  padding: 0;
  margin: 0;
}
.banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0;
  margin: 0;
}
.banner-content {
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 90%;
  padding: 0;
  margin: 0;
}

.banner-subtitle {
  padding: 0.25rem;
  border-radius: 0.5rem;
  color: #333;
  font-weight: bold;
}
.featured {
  display: flex;
  align-items: stretch;
  gap: 0.25rem;
  .card {
    width: 25%;
  }
}
/* OWL Carousel */
.home-slider {
  .item {
    position: relative;
    width: 100vw;
    height: 630px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    .caption {
      word-wrap: break-word;
      /* border: 1px solid #000c; */
      position: absolute;
      bottom: 0px;
      margin-left: 48px;
      width: Calc(100% - 96px);
      height: auto;
      color: #fff;
      text-shadow: 0px 1px 3px #0009;
      padding: 0.5rem;
    }
  }
}
#hs-slider {
  height: 630px !important;
  .swiper-button-prev2,
  .swiper-button-next2 {
    height: 100%;
    color: #fff;
  }
}

@media screen and (max-width: 768px) {
  .home-slider {
    .item {
      .item-img {
        bottom: 0px;
        right: 0px;
        top: auto;
        z-index: 2;
      }
      .caption {
        /* position: relative; */
        display: block;
        /* width: 100%; */
        z-index: 1;
      }
    }
  }
}
/* ICON-GRID */
.icon-grid {
  .bi {
    transition: all 0.2s ease-in-out;
  }
}
.icon-grid:hover {
  .bi {
    color: #da4453;
  }
}
/* Slides */
.carousel {
  position: relative;
  .carousel-control-prev,
  .carousel-control-next {
    width: 64px;
    background: #000;
    color: #333;
    height: 64px;
    top: calc(50% - 32px);
  }
}
#mainSlides.carousel {
  .carousel-indicators {
    button {
      height: 4px;
      width: 2rem;
      background-color: #fff5;
      border: 1px solid transparent;
    }

    button.active {
      background-color: var(--bs-dark-text);
    }
  }

  .carousel-inner {
    padding: 0;

    .carousel-item {
      position: relative;
      height: 480px;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;

      .carousel-caption {
        position: absolute;
        top: 5%;
        left: 64px;
        width: Calc(50% - 64px);
        height: Calc(100% - 10%);
      }
    }
  }

  .carousel-control-prev,
  .carousel-control-next {
    width: 64px;
    background: #000;
    color: #333;
    height: 64px;
    top: calc(50% - 32px);
  }
}

#calLineas {
  .carousel {
    .carousel-inner {
      .carousel-item {
        height: 100vh;
      }
    }
  }
}

@media (max-width: 768px) {
  .banner-group {
    display: block;
  }
  .banner-group > div {
    width: 100%;
  }
  .banner-group .banner-group {
    width: 100%;
  }
  .featured {
    display: block;
    .card {
      width: 100%;
    }
  }
}
/* PAGINAS */
.page {
  font-size: 11pt;
  text-align: justify;
  margin-bottom: 3rem;

  .page-header {
    height: 630px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    .breadcrumb {
      background: #0009;
      padding: 0.5rem 1rem;
      .breadcrumb-item,
      .breadcrumb-item a {
        /* mix-blend-mode: difference; */
        color: #fff;
      }
    }

    .cont {
      position: absolute;
      bottom: 0px;
      background: #3339;
      color: #efefef;
      width: 100%;
      text-align: center;

      a {
        color: #fc3;
        font-weight: bold;
        text-decoration: underline;
      }
    }
  }
  main {
    padding: 1rem;

    .summary {
    }

    .summary::first-letter {
      float: left;
      line-height: 3rem;
      font-size: 5rem;
      margin: 0.5rem 0.5rem 0rem 0rem;
      padding: 0;
      font-family: "Cormorant Garamond", serif;
      font-weight: bold;
    }
  }
}

.carda {
  background-color: var(--c-background-primary);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.05), 0 5px 15px 0 rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.carda-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.5rem 1.25rem 1rem 1.25rem;
}

.carda-header div {
  display: flex;
  align-items: center;
}

.carda-header div span {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.carda-header div span img {
  max-height: 100%;
}

.carda-header div h3 {
  margin-left: 0.75rem;
  font-weight: 500;
}

.toggle span {
  display: block;
  width: 40px;
  height: 24px;
  border-radius: 99em;
  background-color: var(--c-background-quaternary);
  box-shadow: inset 1px 1px 1px 0 rgba(0, 0, 0, 0.05);
  position: relative;
  transition: 0.15s ease;
}

.toggle span:before {
  content: "";
  display: block;
  position: absolute;
  left: 3px;
  top: 3px;
  height: 18px;
  width: 18px;
  background-color: var(--c-background-primary);
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
  transition: 0.15s ease;
}

.toggle input {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.toggle input:checked + span {
  background-color: var(--c-accent-primary);
}

.toggle input:checked + span:before {
  transform: translateX(calc(100% - 2px));
}

.toggle input:focus + span {
  box-shadow: 0 0 0 4px var(--c-background-tertiary);
}

.carda-body {
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
}

.carda-footer {
  margin-top: auto;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border-top: 1px solid var(--c-border-primary);
}

.carda-footer a {
  color: var(--c-text-action);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.875rem;
}
.accordion-button:focus {
  box-shadow: none;
}
