/*-----------------------------------------------------------------------------
author:    www.visityakima.com
-----------------------------------------------------------------------------*/


/* =Yakima Valley Tourism Study Collective
-----------------------------------------------------------------------------*/

.programs {
	text-align: center;
	margin:0 0 2em 0;
	}

.programs a.blueBtn {
	margin: 0 0 .25em 0;
	}

.instagram-wrapper {
    height: 500px; /* Adjust as needed */
    overflow: hidden;
}
    

/* =Listing Detail Page
-----------------------------------------------------------------------------*/

ul.listingPics {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap:0;
	}

ul.listingPics li {
    overflow: hidden;   /* This is the 'mask' or 'frame' */
  	position: relative; /* Keeps the image anchored correctly */
	}

ul.listingPics li img {
    display: block;
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
	/* Scale the image up just enough to cover rounding errors */
 	/* 1.01 or 1.02 (1-2%) is usually plenty */
  	transform: scale(1.02); 
  	/* Ensures the 'extra' image is distributed evenly on all sides */
  	transform-origin: center;
	}
    
.listingBio {
    padding:0 0 2em 0;
    }

.listingBio img {
    padding:0 0 2em 0;
	max-height: 175px;
	max-width: 100%;
	height: auto;
  	width: auto;
    }
    
.listingContact {
    display: inline-block;
    padding:0 1em 0 0;
    width:50%;
    align: top;
    }
    
section .listingContact h2 {
    margin:0 0 .1em 0;
    }
    
.listingConnect {
    display: inline-block;
    padding:0 0 0 2em;
    border-left: solid 1px #8c182d;
    }
    
.listingConnect a.wineBtn {
    margin:0 0 0 0;
    font-size:1.25em;
    padding:15px 15px 13px 15px;
    }
    
.listingSocial {
    padding: .15em 0 .25em 0;
    font-size: 225%;
	}
    
.listingRightSide iframe {
    width:100%;
    margin:0 0 2em 0;
    }

/* =Hotel Lodging Options */

ul.lodgingOptions {
    padding:.25em 0 2em 0;
    }

ul.lodgingOptions li {
	color:#8c182d;
    background:none;;
    padding:5px 5px 5px 5px;
    display:inline-block;
    border:solid 1px #8c182d;
    margin:0 .25em .35em 0;
    -webkit-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    font-size:1em;
	font-family: 'bebasneuepro-bold', Arial, sans-serif;text-transform: uppercase;
    }

/* Base styles from before */
.programsUl {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.programsUl li {
  flex: 0 1 calc(20% - 20px);
  min-width: 150px;
  text-align: center;
}

/* Ensure the anchor is the hover target */
.programsUl li a {
  text-decoration: none;
  color: #0f3e52;
  display: block;
  transition: transform 0.3s ease; /* Smooth transition for the whole block */
}

.programsImg {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
  margin-bottom: 12px;
  background-color: #eee;
  
  /* Prep for animation */
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
}

.programsImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

/* --- HOVER ANIMATIONS --- */

.programsUl li a:hover .programsImg {
  /* Scale the circle up slightly and add a soft glow/shadow */
  transform: translateY(-5px);
}

.programsUl li a:hover .programsImg img {
  /* Zoom the photo inside the circle slightly */
  transform: scale(1.1);
}

.programsUl li a p {
  transition: color 0.3s ease;
  margin-top: 8px;
  font-family: 'bebasneuepro-bold', Arial, sans-serif;
  text-transform: uppercase;
  font-size: 1.5em;
}

.programsUl li a:hover p {
  color: #8c182d; /* Optional: change text color on hover */
}

/* Responsive queries remain the same */
@media (max-width: 1024px) { .programsUl li { flex: 0 1 calc(33.333% - 20px); } }
@media (max-width: 600px) { .programsUl li { flex: 0 1 calc(50% - 20px); } }

@media all and (max-width: 1550px) {

.listingContact {
    width:55%;
    }
	
}
	
@media all and (max-width: 1350px) {

.listingContact {
    width:50%;
    }

section .listingContact h2 {
	font-size:1.5em;
	}
	
}

@media all and (max-width: 1250px) {

ul.listingsFourUp {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap:2rem;
	} 
    
ul.listingsFiveUp {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap:2rem;
	}

	
}

@media all and (max-width: 1200px) {
	

	
}

@media all and (max-width: 1000px) {

ul.listingPics {
    grid-template-columns: 1fr 1fr 1fr;
	}
    
ul.listingPics li:nth-child(3) {
    display:none;
	}
    
.listingContact {
    display:block;
    padding:0 0 0 0;
    width:100%;
    }
    
.listingConnect {
    display:block;
    padding:1em 0 0 0;
    border-left:none;
    }
	
}


	
@media all and (max-width: 875px) {



}

@media screen and (max-width: 750px) {

.listingContact {
    display: inline-block;
    padding:0 1em 0 0;
    width:50%;
    align: top;
    }
    
.listingConnect {
    display: inline-block;
    padding:0 0 0 2em;
    border-left: solid 1px #8c182d;
    }
	
}

@media all and (max-width: 700px) {

ul.listingPics {
    grid-template-columns: 1fr 1fr;
	}
    
ul.listingPics li:nth-child(3) {
    display:block;
	}
	
}

@media all and (max-width: 650px) {

ul.listingsFourUp {
    grid-template-columns: 1fr 1fr;
    grid-gap:2rem;
	}
    
ul.listingsFiveUp {
    grid-template-columns: 1fr 1fr;
    grid-gap:2rem;
	}
    
section .listingContact h2 {
	font-size:1.25em;
	}
    
.listingConnect a.wineBtn {
    font-size:1em;
    padding:10px 10px 9px 10px;
    }
	
}