/* Before adding any unnecessary CSS rules, please check out the Snap documentation at https://bit.ly/3PqSii8. */
/* Override Styles */
/*
.service-style-1 h2 {margin: 10px 0;}
.ry-menu .ry-nav li .dropdown-toggle {padding: 30px 0;}
ul#quick-links li a {display: block;width: 100%;}
#in-services-3 ul li a {margin-left: 0px;margin-top:30px}
*/


[x-cloak] { display: none !important; }
.promotions img { min-width: 22rem; max-width:22rem;}
#in-services-style-2.squares .ry-each:before, #in-services-style-2.squares .ry-each img {border-radius: 0;}
.mobile-menu-icon a{display: flex;height: 100%;width: 100%;justify-content: center;align-items: center;}
body.fancybox-active .ry-sticky-menu.fixed {z-index: 9999;}
.testimonials-swiper p,
.testimonials-swiper-2 p{
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4
}


div.ry-menu {
    width:100% !important;
    justify-content:center !important
}



.service-hover {
    position: absolute;
    z-index: 9;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: white;
}

div#navigation {
    background: #fff !important;
}

.ry-iframe {
  margin:3em 0;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50%; 
}

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

.ip-heading h2 {
    margin: 0 !important;
}

/* Show service-hover when parent with data-target is hovered */
[data-target]:hover .service-hover {
    opacity: 1;
}

/* Apply the overlay effect when parent is hovered */
[data-target]:hover .service-hover::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: -1; /* Make sure it's behind the text */
}
.mm-navbar {
	color: #ffffff;
}

/* HP Edits - Started <July 21, 2026> */

	/*fonts*/

	/*btns*/

/*Modal*/
/* Header */
	/**/
.snap-mobile-menu {
    background: white;
}

mm-burger {
    color: #374151;
}
.ry-menu .ry-nav li.primary .caret {
    border-color: #374151;
}


.ry-menu .ry-nav li.primary:hover .caret {
    border-color: var(--color-secondary-background);
}
.with-gradient:before {
    background-image: linear-gradient(to bottom, white, transparent, transparent);
}
.ry-menu .ry-nav li.dropdown .dropdown-menu li {
    background: var(--color-primary-background);
    color: var(--color-primary-text);
}

span.caret {
    border-color: #616161;
}

.navigation-14 .cta-icon {
    background-color: var(--color-primary-background);
}

/* Button */
	/**/
element.style {
    border-radius: 0px;
}

a.cta-btn-circle.secondary {
    color: var(--color-primary-text);
}

.t-swiper-button-next, .t-swiper-button-prev, .brand-4-swiper-button-next, .brand-4-swiper-button-prev {
    color: var(--color-primary-text);
}



/* Hero */
	/**/
#hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img {
    height: 100vh !important;
    object-fit: cover;
}
#hp-slider .swiper-pagination-bullet {
    background-color: white;
}
/* CTA */
	/**/
.ry-section:nth-child(1n+1) {
    background-image: none !important;
    background-color: #48B3C9 !important;
}

.cta-section.style-1 {
  background-color: var(--color-primary-background) !important; 
  width: 300px !important;            
  height: 300px !important;             
  max-width: 100% !important;
  border-radius: 28px !important;
  

  border: 2px solid  !important;
  outline: 6px solid #0093b2 !important;
  outline-offset: -8px !important;

  padding: 30px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-evenly !important;
  box-sizing: border-box !important;
}

.cta-section.style-1 img,
.cta-section.style-1 svg {
  max-width: auto !important;
  max-height: 8rem !important;
  filter: brightness(0) invert(1) !important;
  object-fit: contain !important;
}

.cta-section.style-1 a,
.cta-section.style-1 button {
  display: inline-block !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 50px !important; 
  color: #ffffff !important;
  padding: 10px 24px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  width: 100% !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
}

.cta-section.style-1:hover a,
.cta-section.style-1:hover button,
.cta-section.style-1:hover .cta-btn {
  background-color: #ffffff !important;
  color: #3b5a6b !important;
}


.cta-section.style-1:hover::before {
  background-color: transparent !important;
  opacity: 0 !important;
}

.cta-section.style-1:hover > div,
.cta-section.style-1:hover .btn-wrapper,
.cta-section.style-1:hover span {
  background-color: transparent !important;
}

/* Welcome */
	/**/
#welcome-wrap .text-wrapper h2 {
    text-align: left !important;
}

#welcome-wrap .ry-text p {
    text-align: left !important;
}

#welcome-wrap .ry-btn {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.module-welcome.style-5 .ry-each.image-wrapper{
    border: none;
}

.module-welcome.style-5 .ry-each.image-wrapper .photo img {
    left: 5rem;
    object-fit: contain;
}

.module-welcome.style-5 .ry-flex{
    align-items: center;
} 

.module-welcome.style-5 .ry-each.image-wrapper .photo {
    padding-top: 40%;
}

#welcome-wrap {
    background-color: white !important;
}

.module-welcome.style-5 .ry-each.image-wrapper {
    max-width: 50rem !important;
}

/* Services */
	/**/
#section-hp-services, .ry-services.style2 {
    background-image: none;
    background-color: white !important;
}

#services-12 > div:nth-child(odd), #services-12 > 
div:nth-child(even) {
    background-color: var(--color-primary-background);
}

#services-12 > div:nth-child(odd) > div > h4, 
#services-12 > div:nth-child(odd) > div > p {
    color: var(--color-primary-text);
}

#services-12 > div:nth-child(odd) > div > p, 
#services-12 > div:nth-child(even) > div > p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

#services-12 > div:nth-child(even) > div > a {
    color: var(--color-primary-text);
    background-color: var(--color-secondary-background);
}

#services-12 > div:nth-child(2n+1) > div > a {
    background-color: var(--color-secondary-background);
}

#services-12 > div:nth-child(even) .photo {
    border: 2px solid white;
}

#services-12 > div:nth-child(even) img{
    filter: none !important;
}

/* Meet the Team */
	/**/
#section-hp-team #loadMoreTeam {
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
}

#section-hp-team a[href*="our-team"] {
    background-color: var(--color-primary-background) !important;
    color: white !important;
}

#section-hp-team::before{
    background-image: none;
    background-color: #F1FBFD !important;
}

/* Insurance */
	/**/
div#hp-insurance-1 {
    background-image: none;
    background-color: #F1FBFD !important;
}

div#hp-insurance-1 .swiper-backface-hidden .swiper-slide{
    background-color: #F2F4F7 !important;
    border-radius: 1rem; 
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 
                0 1px 2px -1px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

/* Brand */
	/**/
div#hp-brands-6{
    background-color: white;
}

.brands-swiper-4 img, div.insurance-swiper .swiper-slide img {
    mix-blend-mode: normal;
}

div#hp-brands-6 .swiper-backface-hidden .swiper-slide, div.insurance-swiper .swiper-slide {
    background-color: #F2F4F7 !important;
    border-radius: 1rem; 
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 
                0 1px 2px -1px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.ip-brands div#hp-brands-6 {
    padding: 0 !important;
    background: transparent;
}
.ip-brands div#frames-info {
    display: none !important;
}

.ip-brands .lg\:py-14 {
    padding: 0 !important;
    display: flex;
    flex-direction: column-reverse;
    gap: 2em;
}

.ip-brands {
    margin: 3em auto 0;
}

/* Request Appointment */
	/**/
.ry-section:nth-child(2n+1) {
    background-image: url("https://s3.amazonaws.com/static.organiclead.com/Site-ef27687c-6115-4688-9f97-bd86195e66c9/images/EyecareAssoc_Background_Image.jpg");
}

/* Testimonials */
	/**/
.testimonials-swiper svg{
    color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

#testimonial-section {
    background-image: none;
    background-color: white !important;
    padding-bottom: 10em;
}


/* Footer */
	
#ry-footer-3::after {
    z-index: -1;
    background-image: url("https://s3.amazonaws.com/static.organiclead.com/Site-ef27687c-6115-4688-9f97-bd86195e66c9/images/EyecareAssoc_Footer_Background_Image.jpg");
}

div#ry-footer-3 {
    padding: 5em 1em 0;
}

div#ry-footer-3 .footer-contents {
    width: 90%;
    padding: 0 0 5em 0;
    box-shadow: none !important;
    background: transparent !important;
    max-width: 1400px;
    margin: 0 auto !important;
    border-bottom: 1px solid rgb(255 255 255 / 15%);
}

#ry-footer-3 .footer-contents::before {
    display: none;
}

.footer-bottom p {
    font-size: 15px !important;
    line-height: 1.1;
}

.footer-bottom {
    padding: 0 0 2em 0;
}

/* END Footer */





/*Media Queries*/
	/**/
@media (max-width: 1080px) {
    .module-welcome.style-5 .ry-each.image-wrapper .photo{
        padding-top: 10%;
    }   
	.module-welcome.style-5 .ry-each.image-wrapper .photo img {
    left: 0;
	}
}

@media (max-width: 1440px) {
    ul.ry-nav {
        padding-left: 3rem !important;
    }
}

@media (max-width: 1023px) {
    #hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img{
        height: 100% !important;
    }
    body[data-page-name="index"] #navigation {
    position: relative;
    }
}

/* End - HP Edits*/

.grid-gallery .gallery-wrapper-v2 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
	gap:10px
}

.grid-gallery .gallery-wrapper-v2 .ry-each {
	width: calc(33% - 10px);
}
.grid-gallery .gallery-wrapper-v2 .ry-each:hover {
	cursor: pointer;
}

.grid-gallery .gallery-wrapper-v2 .ry-each .box-shadow {
	position: absolute;
	top: -10px;
	right: -10px;
	width: calc(100% - 10px);
	height: 100%;
}
.grid-gallery .gallery-wrapper-v2 .ry-each .photo {
	position: relative;
	max-height: 230px;
	height:100%;
}

.grid-gallery .gallery-wrapper-v2 .ry-each .photo img {
	width: 100%;
	height:100%;
	object-fit: cover;
	margin:0 !important;
	object-fit:cover
}
.fancybox-caption .fancybox-caption__body {
	text-align: center;
}

.fancybox-caption:after {
	opacity: 0;
}

.header-btn-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px 0;
}

.header-btn-wrap a.ry-btn.ry-btn-primary {
    min-width: 300px;
    height: 55px;
    background: var(--color-secondary-background);
    border: none !important;
    align-items: center;
    display: flex;
    justify-content: center;
    text-transform: uppercase;
}

.header-btn-wrap a.ry-btn.ry-btn-primary:hover {
    background: var(--color-primary-background);
}



@media (min-width:1200px) and (max-width: 1300px) {
    .header-btn-wrap a.ry-btn.ry-btn-primary {
        min-width: 250px !important;
 }

}

@media (max-width:1199px) {
	.snap-mobile-menu {
		display: flex !important;
		background:#fff;
		
	}

	#navigation >div {
		display: none;
	}
	
  .module-welcome.style-5 .ry-each p {
	  text-align: center;
	}
	#welcome-wrap .text-wrapper h2, #welcome-wrap .text-wrapper {
	  text-align: center !important;
	}
	#welcome-wrap .ry-text p {
	  text-align: center !important;
	}
	#welcome-wrap .ry-text .ry-btn {
	  margin-right: auto !important;
	  margin-left: auto !important;
	}

	 .module-welcome.style-5 .font-semibold {
	  text-align: center !important;
	}
	
	.module-welcome.style-5 .ry-flex {
	  flex-direction: column;
	}
	.module-welcome.style-5 .ry-each:not(.image-wrapper) {
	  max-width: 100%;
	  padding: 0 !important;
	  margin: auto;
	  float: none;
	  justify-content: center;
	}
	.module-welcome.style-5 .ry-each.image-wrapper {
	  max-width: 400px !important;
	}
	.module-welcome.style-5 .ry-each.image-wrapper .photo {
	  padding: 0 !important;
	  height: auto !important;
	}
	.module-welcome.style-5 .ry-each.image-wrapper .photo img {
	  position: static !important;
	  height: auto;
	}

	#footer-map iframe {
	  height: 400px;
	}
	
	#ry-footer .flex:not(.flex.gap-6) {
	  flex-direction: column;
	}

	#ry-footer .lg\:grid-cols-5 {
	  display: flex;
	  flex-direction: column;
	  text-align: center;
	  gap: 2em 0;
	}
	#ry-footer .lg\:grid-cols-5 .self-start {
	  justify-content: center;
	  align-content: center;
	  width: 100%;
	}
	#ry-footer span {
	  text-align: center;
	  font-size: 15px;
	}
	#ry-footer img {
	  height: auto;
	  max-width: 90px;
	  margin: 10px auto 0;
	}
	
	#ry-footer .flex:not(.flex.gap-6) img {
		max-width: 200px !important;
	}

}


@media (max-width: 1480px) {
	.grid-gallery .gallery-wrapper-v2 .ry-each {
		width: calc(33.33% - 10px);
	}
}
@media (max-width: 680px) {
	.grid-gallery .gallery-wrapper-v2 .ry-each {
		width: 47%;
	}
}



/* PRODUCTS PAGE*/

.ry-horizontal-line {
  margin-bottom: 2em;
  border-bottom: 1px solid #66666621;
  padding-bottom: 1em;
}

#page-btn {
  display: block;
  margin: 1em 0 0;
}

#products #with-image-content {
  flex-wrap: wrap;
}
#products {
  flex-wrap: wrap;
  gap: 1em;
  justify-content: space-between;
  margin-top: 2em;
}
#products .ry-each {
  width: 30%;
}
#products img {
  border-radius: 20px;
}
#products .ry-each h4 {
  font-size: 17px;
  line-height: 1.2;
}
#products .ry-each strong {
  color: var(--color-primary-background);
  font-size: 22px;
  font-weight: bold !important;
}

@media (max-width:767px) {
  #products .ry-each {
    width: 47%;
  }
  
  #products .ry-each strong {
  font-size: 16px;
  
	}
  
  #products .ry-each h4 {
    font-size: 13px;
  }
  
  #products .ry-each img {
   margin:auto;
  }
}

/* END PRODUCTS PAGE*/


.custom-social-wrapper .social-inner-wrap li a {
    background: #48b3c9;
}

.custom-social-wrapper .social-inner-wrap li a:hover {
    background: #274470;
}