html, body {
  height: 100%;
}

body {
  font-family: "Minion Pro", serif;
  font-size: 14px;
  letter-spacing: 0.025rem;
}

header, section, footer {
  scroll-margin-top: 40px;
}
header > .row,
header #hero-info, section > .row,
section #hero-info, footer > .row,
footer #hero-info {
  width: 100%;
  max-width: 1200px;
}

header {
  min-height: 580px;
  background: url(../images/painted-detail.png) no-repeat bottom, url(../images/hero.jpg) no-repeat center;
  background-size: contain, cover;
}
header nav {
  width: 100%;
  height: 72px;
  transition: background-color 0.3s, height 0.3s;
}
header nav > .row {
  width: 100%;
}
header nav.nav-scrolled {
  height: 108px;
  background-color: rgba(0, 0, 0, 0.8);
}
header nav.nav-scrolled #logo {
  width: 8.5rem;
}
header nav.nav-scrolled + #menu-line {
  display: none;
}
header nav.nav-opened {
  background-color: rgba(0, 0, 0, 0.8);
}
header nav.nav-opened menu {
  position: absolute;
  left: calc(var(--bs-gutter-x) * 0.5 * -1);
  top: 100%;
  width: calc(100% + var(--bs-gutter-x));
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 1;
}
header nav #mobile-menu span {
  cursor: pointer;
}
header nav .menu {
  opacity: 0;
  transition: opacity 0.3s;
}
header nav #logo-container {
  left: 0rem;
}
header nav #logo-container a {
  scale: 0.75;
}
header nav #logo {
  width: 12.5rem;
  transition: width 0.3s;
}
header address {
  font-family: "Intro", sans-serif;
}
header #menu-line {
  display: flex;
  top: 72px;
}
header #menu-line .menu-line-side {
  flex-grow: 1;
}
header #menu-line #menu-line-center {
  width: 98%;
  padding-left: 14.5rem;
}
header #hero-info {
  padding-top: 72px;
}
header #hero-stars {
  font-size: 0.625rem;
}
header #hero-button {
  aspect-ratio: 1;
}
header .pointy-arrow-left,
header .pointy-arrow-right {
  width: 102px;
  height: 5px;
  background-color: #cdb47b;
}
header .pointy-arrow-left {
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
header .pointy-arrow-right {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
header h1 {
  font-size: calc(2.25rem + 1.5vw);
}
header #hero-bottom-detail .pointy-arrow-left,
header #hero-bottom-detail .pointy-arrow-right {
  width: 64px;
  height: 4px;
}
header #hero-bottom-detail i {
  color: #cdb47b;
  font-size: 0.4rem;
}
header button {
  aspect-ratio: 1;
}
header button i {
  top: -1px;
  font-size: 1rem;
}

menu span {
  aspect-ratio: 1;
  width: 4px;
  align-self: flex-start;
}
menu a {
  font-family: "Intro", sans-serif;
  font-size: 0.625rem;
  letter-spacing: 0.025rem;
  color: rgba(var(--bs-light-rgb));
  transition: color 0.5s, box-shadow 0.5s;
}
menu a:hover {
  color: rgb(var(--bs-warning-rgb));
  box-shadow: inset 0px -2px 0px 0px rgb(var(--bs-warning-rgb));
}
menu i {
  font-size: 0.25rem;
}

main {
  background-image: url(../images/texture.png);
  background-size: 10vw;
}
main section {
  margin-top: -1px;
}

#programs {
  background: url(/images/program-bg-coffee-beans.png) no-repeat bottom right;
  background-size: 630px;
}
#programs .tabs .tab-buttons {
  border-bottom: 1px solid #c8c8c8;
}
#programs .tabs .tab-buttons span {
  color: #adadad;
  user-select: none;
  cursor: pointer;
  font-family: "Intro", sans-serif;
}
#programs .tabs .tab-buttons span.active-tab {
  color: rgba(var(--bs-dark-rgb));
  box-shadow: inset 0px -2px 0px 0px rgb(var(--bs-dark-rgb));
}
#programs .tabs .tab-background-title {
  top: -32px;
}
#programs .tabs .tab-background-title h6 {
  font-size: 14vw;
  font-family: "Intro", sans-serif;
  right: -100%;
  transition: right 1s;
}
#programs .tabs .tab-background-title h6.tab-background-title-active {
  right: 0;
}
#programs .tabs .tab-content {
  margin-top: 80px;
  transition: left, 0.5s;
}
#programs .tabs .tab-content .tab-content-item {
  width: 100%;
  flex-grow: 0;
  flex-shrink: 0;
}
#programs .tabs .tab-content .program-info h4, #programs .tabs .tab-content .program-info h3 {
  font-weight: 900;
}
#programs .tabs .tab-content .program-info h3 {
  font-size: 3rem;
}
#programs .tabs .tab-content .program-info ul li i {
  font-size: 1.25rem;
  width: 20px;
}
#programs #programs-details h6 {
  font-family: "Intro", sans-serif;
}

#gallery {
  scroll-padding-top: 20px;
  background: url(../images/gallery.jpg) no-repeat center;
  background-size: cover;
  background-position: 0 1px;
}
#gallery::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  margin-top: -1px;
  background: url(../images/painted-detail.png) no-repeat bottom;
  background-size: contain;
  rotate: 180deg;
  pointer-events: none;
}
#gallery::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  margin-top: 0;
  background: url(../images/painted-detail.png) no-repeat bottom;
  background-size: contain;
  rotate: 0deg;
  pointer-events: none;
}
#gallery #gallery-title .gallery-title-details {
  transform: scale(1.25, 0.75);
}
#gallery #gallery-title .fa-bars-staggered:first-child {
  transform: scale(-1, 1);
  left: 4px;
}
#gallery #gallery-title .fa-bars-staggered:last-child {
  left: -4px;
}
#gallery #gallery-images {
  gap: 1.5rem;
  transition: left 0.5s;
}
#gallery #gallery-images img {
  width: calc(50% - 0.75rem);
  flex-grow: 0;
  flex-shrink: 0;
}
#gallery #gallery-pagination button {
  width: 60px;
  aspect-ratio: 1;
}

#reviews {
  scroll-margin-top: 100px;
}
#reviews .reviews-photo-wrapper {
  width: 180px;
}
#reviews .reviews-photo-wrapper .reviews-photo-social {
  top: 10px;
  right: 10px;
  width: 36px;
}
#reviews .reviews-photo-wrapper .reviews-photo {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
#reviews h6 {
  font-family: "Intro", sans-serif;
  letter-spacing: -0.0825rem;
}

#our-partners {
  scroll-margin-top: 70px;
  backdrop-filter: brightness(0.95);
}
#our-partners img {
  width: 60%;
  aspect-ratio: 1/0.6;
  object-fit: contain;
}
#our-partners #our-partners-title .our-partners-title-details {
  transform: scale(1.25, 0.75);
}
#our-partners #our-partners-title .fa-bars-staggered:first-child {
  transform: scale(-1, 1);
  left: 4px;
}
#our-partners #our-partners-title .fa-bars-staggered:last-child {
  left: -4px;
}

#contact {
  min-height: 560px;
  background: url(/images/contact-bg-bean.png) no-repeat bottom right -120px;
  background-size: 250px;
}
#contact .bean-details > div {
  transform-origin: 30px 115px;
}
#contact .thin-arrow {
  rotate: 180deg;
}

footer {
  background: url(../images/footer.jpg) no-repeat center;
  background-size: cover;
}
footer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  margin-top: -1px;
  background: url(../images/painted-detail.png) no-repeat bottom;
  background-size: contain;
  rotate: 180deg;
  pointer-events: none;
}
footer p {
  text-align: justify;
}
footer #footer-info {
  font-size: 0.75rem;
  backdrop-filter: brightness(0.5);
  border: 1px solid rgba(255, 255, 255, 0.3137254902);
}
footer #footer-info :not(i) {
  font-family: "Intro", sans-serif;
}
footer #footer-info #footer-links {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3137254902);
}
footer #footer-info .footer-icons:nth-of-type(3) {
  border-left: 1px solid rgba(255, 255, 255, 0.1450980392);
  border-right: 1px solid rgba(255, 255, 255, 0.1450980392);
}
footer #footer-info .footer-contact-info {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1450980392);
}
footer #footer-info .footer-contact-info:nth-of-type(6) {
  border-left: 1px solid rgba(255, 255, 255, 0.1450980392);
  border-right: 1px solid rgba(255, 255, 255, 0.1450980392);
}
footer #footer-template-author {
  font-family: "Intro", sans-serif;
  font-size: 0.75rem;
}

.carrousel .carrousel-item-wrapper {
  transition: left 0.5s;
}
.carrousel .carrousel-item-wrapper .carrousel-item {
  width: 100%;
  flex-grow: 0;
  flex-shrink: 0;
}
.carrousel .carrousel-pagination .btn, .carrousel .carrousel-pagination:active, .carrousel .carrousel-pagination:focus {
  cursor: default;
  border: 0;
  outline: 0;
}
.carrousel .carrousel-pagination .carrousel-page-active i {
  color: rgb(var(--bs-warning-rgb));
}
.carrousel .carrousel-pagination i {
  font-size: 0.625rem;
}

.thin-arrow {
  width: 80px;
  pointer-events: none;
}
.thin-arrow span:first-child,
.thin-arrow span:last-child {
  width: 15px;
}
.thin-arrow span:first-child {
  top: 1px;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
}
.thin-arrow span:last-child {
  top: -1px;
  transform: rotate(45deg);
  transform-origin: 0;
}
.thin-arrow:first-child {
  rotate: 180deg;
}

button + .thin-arrow {
  margin-left: -35px;
}

.thin-arrow + button {
  margin-left: -35px;
}

.bean-details {
  pointer-events: none;
}
.bean-details > div {
  scale: 0.5;
}
.bean-details img {
  width: 100%;
}

header .bean-details div {
  width: 240px;
}

#programs .bean-details div:nth-child(1) {
  width: 110px;
}
#programs .bean-details div:nth-child(2) {
  width: 160px;
}
#programs .bean-details div:nth-child(3) {
  width: 135px;
}

#reviews .bean-details > div {
  width: 155px;
}

.btn {
  font-family: "Intro", sans-serif;
}

/*# sourceMappingURL=globals.css.map */
