/******/
/*** SECTIONS ***/
/******/

.wpml-ls-statics-footer {
	display: none !important;
}

/* BLOG */

.card-image {
	height: 6rem;
}

.categories {
	gap: 2rem;
}

.categories a {
	text-decoration: none;
}

.share-text {
	font-weight: 700;
}

.blog-categories {
	gap: .5rem;
}

.blog-title, .background-cream .blog-links {
	color: var(--color-green);
}

.blog-links a {
	color: var(--color-green);
	text-decoration: none;
	font-family: "sofia-pro";
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

.month-link.active, .archive .text-link {
	color: var(--color-green);
}

@media screen and (min-width: 48rem) {
	.blog-image img {
		height: 20rem;
		width: 25rem;
		object-fit: cover;
	}
}


/* CALL TO ACTION */

.call-to-action h3, .background-green.call-to-action .button {
	color: var(--color-saffron);
}

.background-green.call-to-action a.button.secondary {
	color: var(--color-saffron);
	border-color: var(--color-saffron);
}

.cta-background {
	max-width: 70%;
	right: 0;
}

/* COLUMNS */

.columns.background-cream h3, .columns.background-cream .text-link {
	color: var(--color-green);
}

/* INTRO INNER */

.background-purple.intro-inner h3 {
	color: var(--color-blue);
}

/* INTRO HOME */

.horizontal-scroll-wrapper {
	position: relative;
	width: 100vw;
	padding-bottom: 3rem;
	overflow: hidden;
}

.horizontal-scroll-track {
	display: flex;
	height: 100%;
	will-change: transform;
	position: sticky;
	top: 0;
	gap: 1.75rem;
}

.scroll-image-item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.scroll-image-item img {
	max-width: 20rem;
	max-height: 20rem;
	height: auto;
	width: auto;
	object-fit: cover;
}

/* Hide scrollbar for all browsers */
.horizontal-scroll-track::-webkit-scrollbar {
	display: none;
}

.horizontal-scroll-track {
	scrollbar-width: none;
	-ms-overflow-style: none;
	height: 20.1875rem;
	margin-left: -5rem;
}

body, html {
	scroll-behavior: smooth;
}

.intro-home h1 {
	color: var(--color-green);
}

.frame-arch {
	border-radius: 100% 100% 0 0;
}

.frame-circle {
	border-radius: 100%;
}

/* EVENTS */

.featured-label {
	color: var(--color-green);
}

.events .event-card {
	margin-right: 2rem;
}

.intro-featured img {
	max-height: 40.875rem;
	object-fit: cover;
}

.event-excerpt p {
	margin-block-start: 0;
}

/* EVENTS SLIDER */

.swiper {
	overflow: visible;
}

.event-image img {
	height: 16.875rem;
	object-fit: cover;
}
.swiper-pagination {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding-bottom: .5rem;
}
.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #bfccc2;
	opacity: 1;
	border-radius: 50%;
}
.swiper-pagination-bullet-active {
	background: var(--color-green)!important;
}
.events-slider .grid-100.display-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.custom-prev, .custom-next {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
}
	
.swiper-pagination-bullets.swiper-pagination-horizontal {
	left: auto;
}
	
.arrows-container {
	gap:1rem;
	flex: 1;
}
	
.swiper-arrow {
	width: 3rem;
	height: 3rem;
	cursor: pointer;
}

.event-date-bubble {
	top: 0;
	right: 1rem;
	border-radius: 0 0 3.75rem 3.75rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.event-day {
	font-size: 2rem;
	font-weight: 700;
}

.event-location {
	font-weight: 700;
}

.category {
	border-radius: 0.3125rem;
	padding: .5rem;
	width: fit-content;
	background-color: var(--color-blue);
	color: var(--color-plum);
	margin-block-start: .75rem;
	margin-block-end: .75rem;
	font-size: 1rem;
}

.truncate {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 1rem;
}

.community-living {
	background-color: var(--color-gold);
	color: var(--color-plum);
}

.local-events {
	background-color: var(--color-blue);
	color: var(--color-plum);
}

.austin-homes {
	background-color: var(--color-saffron);
	color: var(--color-plum);
}

.outdoor-activities {
	background-color: var(--color-walnut);
	color: var(--color-cream) !important;
}

/* FAQ */

.bench-image {
	margin-bottom: -7rem;
}

@media screen and (max-width: 47.9375rem) {
	.bench-image {
		margin-bottom: 0rem;
	}
}

/* FUTURE */

.future-bike {
	width: 15.25rem;
	height: 15.25rem;
	bottom: 10% !important;
	left: 40% !important;
}

.future-background {
	height: 38rem;
	margin-top: -10rem;
	z-index: 3;
	position: relative;
}

@media screen and (max-width: 91rem) {
	.future-background {
		height: 29rem;
	}
}

.future-bike.mobile-bike {
	transition: transform .35s ease, top .35s ease;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.future-clouds {
	z-index: 3;
	margin-top: -14rem;
}

.future-column {
	border-radius: 1.25rem;
	z-index: 2;
}

@media screen and (min-width: 80rem) {
	.future-columns {
		margin-bottom: -13rem;
	}
}

@media screen and (min-width: 48rem) {

	.future-columns {
		position: relative;
	}

	.future-columns .grid-33 {
		position: relative;
	}

	.future-column {
		min-height: 30rem;
		padding-bottom: 11rem;
        margin-bottom: -8rem;
		transition: transform 300ms ease;
	}

	.future-columns .grid-33.active .future-column {
		transform: translateY(-5rem);
		z-index: 5;
	}

}

@media screen and (max-width: 47.9375rem) {
	.future-column {
		padding-bottom: 1rem;
	}
	
	.future-columns .grid-33:first-child .future-column {
		padding-bottom: 1rem;
	}
	
	.future-background {
		height: 20rem;
		margin-top: 0rem;
	}

	.future-clouds {
		margin-top: 0rem;
	}
	
	.future-bike {
		width: 7.25rem;
		height: 7.25rem;
	}
}

/* IMAGE FULL */

.image-full h2 {
	color: var(--color-green);
}

.image-full-parallax {
	top:0;
	left: auto !important;
	right: 0 !important;
	width: 7rem;
}

/* IMAGE GALLERY */

.image-gallery .social-links img {
	width: 2.25rem;
	height: 2.2rem;
	padding-right: .5rem;
}

.image-gallery .social-links a {
	text-decoration: none;
	color: var(--color-green);
	padding-right: 1rem;
}

.gallery-image {
	padding-right: 1rem;
}

@media screen and (max-width: 47.9375rem) {
	.gallery-image {
		padding-right: 0;
		padding-left: 0;
	}
	
	.gallery-grid:nth-child(2n+1) .gallery-image { 
		padding-right: .5rem; 
	}
	
	.gallery-grid:nth-child(2n) .gallery-image { 
		padding-left: .5rem; 
	}
	
	.social-links {
		flex-wrap: wrap;
	}
}

/* IMAGE SCROLLER */

.image-scroller {
	position: relative;
	z-index: -1;
}

.image-full-wrapper { 
    position: relative; 
    overflow: hidden; 
}

.image-caption { 
    bottom: -100%; 
    left: 0; 
    color: #fff; 
	padding: 1.25rem 1.875rem; 
}

.caption-text p {
	color: #fff; 
}

.image-full-wrapper:hover .image-caption { 
    bottom: 0; 
}

.image-parallax-top-right { 
    top: -11rem; 
    right: 0; 
    width: 30rem;
    z-index: 3;
    transform-origin: center; 
    pointer-events: none; 
}

@media (max-width: 70rem) {
	.image-parallax-top-right { 
		width: 15rem;
	}
}

@media (max-width: 47.9375rem) {
    .image-caption { 
        bottom: 0; 
    }
	
	.image-parallax-top-right { 
		top: 0;
		width: 10rem;
	}
}

.transition-bottom { 
    transition: bottom 0.3s ease; 
}

.image-scroller .swiper-pagination-bullet {
    background: #7dada2;
}

.image-scroller .swiper-wrapper {
	align-items: stretch;
}

.image-scroller .swiper-slide {
	height: auto;
	display: flex;
}

.image-scroller .swiper img {
	object-fit: cover;
	height: 100%;
}

/* TEAM */

.four-team .team-name {
	font-family: "sofia-pro";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
}

.four-team .team-image img {
	max-height: 18.5rem;
	max-width: 18.5rem;
}

.team-description p {
	font-size: 1rem;
}

.team-socials {
	display: flex;
	gap: .5rem;
}

/* TEXT STATS */

.text-stats h3 {
	color: var(--color-green);
}

.stat-number {
	color: var(--color-green);
	font-size: 4.12719rem;
	font-weight: 700;
}

.background-cream .stat-text {
	color: var(--color-purple);
	font-size: 1.23813rem;
	font-family: "bree", sans-serif;
	margin-block-start: .5rem;
}

.text-stats.background-cream .button.secondary {
	color: var(--color-green);
	border: solid .125rem var(--color-green);
}

.text-stats img {
	height: 9.375rem;
}

@media screen and (min-width: 48rem) {
	.stat-item:nth-child(odd) {
		margin-right: 5%;
	}

	.stat-item:nth-child(even) {
		margin-left: 5%;
	}
}

/* TEXT VIDEO */

.video-thumbnail-container {
	position: relative;
	cursor: pointer;
}

.video-thumbnail-container .play-button-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: auto;
}

.video-container {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 0;
	margin-bottom: 0;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.text-video.background-purple .button.secondary {
	border-color: var(--color-saffron);
	color: var(--color-saffron);
}

.text-video.background-purple .button.primary {
	background-color: var(--color-saffron);
	border-color: var(--color-saffron);
}

.video-badge {
	width: 25.25rem;
	height: 25.25rem;
	z-index: -1;
	left: -5%;
	bottom: -10%;
}

@media (max-width: 47.9375rem) {
	.video-badge {
		width: 20.25rem;
		height: 20.25rem;
	}
}


/* TITLE TEXT */

.icon-container img {
	width: 3rem;
}

.bottom-image {
	height: 20rem;
	z-index: 3;
	position: relative;
}

/* TIMELINE */

/* 1. WRAPPER & SLIDER STRUCTURE */
.timeline-slider-wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* Fading Edges Logic */
.timeline-slider-wrapper::before,
.timeline-slider-wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 6rem; /* Increased width for smoother fade */
	z-index: 15; /* Sits above dots but allows clicks via pointer-events */
	pointer-events: none; 
	opacity: 0;
	transition: opacity 0.4s ease;
}
.timeline-slider-wrapper::before {
	left: 0;
	background: linear-gradient(to right, var(--color-purple, #6B46C1), transparent);
}
.timeline-slider-wrapper::after {
	right: 0;
	background: linear-gradient(to left, var(--color-purple, #6B46C1), transparent);
}
.timeline-slider-wrapper.fade-left::before { opacity: 1; }
.timeline-slider-wrapper.fade-right::after { opacity: 1; }

.timeline-slider {
	transition: transform 0.4s ease;
	will-change: transform;
	display: flex;
}

/* 2. NAVIGATION (Arrows) */
.timeline-nav {
	margin-top: 1.25rem;
	gap: 0.9375rem;
}
.timeline-nav-btn {
	background: none;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.3s ease;
}
.timeline-nav-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* 3. LINE & DOTS CONTAINER */
.timeline-line {
	position: relative;
	width: 100%;
}
.timeline-dots {
	position: relative;
	width: 100%;
	min-width: 100%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 8rem; /* Ensures enough space for line and year labels */
}

/* The Horizontal Line Logic */
.timeline-bar {
	position: absolute;
	top: 50%;
	height: 0.1875rem;
	background: var(--color-cream);
	transform: translateY(-50%);
	z-index: 1;
}
.timeline-progress {
	position: absolute;
	top: 50%;
	height: 0.1875rem;
	background: var(--color-gold);
	transform: translateY(-50%);
	z-index: 2;
	transition: width 0.4s ease, left 0.4s ease;
}

/* 4. THE DOT (BUTTON) - Improved for Clicks */
.timeline-dot {
	background: none;
	border: none;
	position: relative;
	cursor: pointer;
	flex: 1;
	text-align: center;
	z-index: 10; /* Ensures button is on top of lines for clicking */
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2.5rem 0; /* Creates a large clickable hit-area */
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

/* The Circle Visual */
.timeline-dot::before {
	content: '';
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--color-cream);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	transition: background 0.25s ease, transform 0.25s ease;
}
.timeline-dot.past::before {
	background: var(--color-gold);
}
.timeline-dot.active::before {
	background: var(--color-gold);
	transform: translate(-50%, -50%) scale(1.15);
}

/* Year Label */
.timeline-year {
	margin-top: 4rem;
	font-size: 1.5rem;
	font-style: normal;
	font-family: "Bree";
	font-weight: 400;
	line-height: 140%;
	position: relative;
	z-index: 5;
	color: var(--color-cream);
	transition: color 0.25s ease;
	pointer-events: none; /* Clicks go through text to the button */
}
.timeline-year.past,
.timeline-year.active {
	color: var(--color-gold);
}

/* 5. CONTENT AREA */
.timeline-entry {
	display: none;
}
.timeline-entry.active {
	display: flex;
}
.timeline h2,
.timeline .button {
	color: var(--color-gold);
}

/* Image Styles & Mobile Responsiveness */
.timeline-image img {
	border-radius: 18.75rem;
	object-fit: cover;
	height: 37.5rem;
	width: 37.5rem;
	max-height: 40vw;
	max-width: 40vw;
}

@media screen and (max-width: 47.9375rem) {
	.timeline-image img {
		height: 100%;
		width: 100%;
		max-width: 100%;
		max-height: 100%;
	}
    .timeline-year {
        font-size: 1.1rem;
        margin-top: 3rem;
    }
}

/* Clean up old rule interference */
.timeline-dots:last-child::after {
	display: none !important;
}



/* FOOTER */

.footer-menu ul, .socials-menu ul {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
  	align-items: flex-start;
  	justify-content: flex-start;
	flex-wrap: wrap;
}

.footer-menu li, .socials-menu li {
	width: calc(50%);
	margin-bottom: .75rem;
}

.footer-menu li a, .socials-menu a {
	text-decoration: none;
}

.socials-menu img {
	width: 1.5rem;
	height: 1.5rem;
	padding-right: 1rem;
}

.socials-menu a {
	padding-bottom: 1rem;
}

.footer-logo img {
	max-width: 12.9375rem;
}

.socials-menu li {
	width: calc(100% - .75rem);
	margin-bottom: .75rem;
}

.footer-watermark img {
	opacity: .05;
	margin-bottom: -7.5rem;
}
