/* 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
}
.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;
}
body#ry-pg-body div#navigation-style-7 {
    background: #fff;
}

.services-dd ul.dropdown-menu  {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
}


.custom-headline h1 {
    text-shadow: 3px 4px 7px rgba(0, 0, 0, 0.65);
}

/* 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 <June 26, 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, var(--color-primary-text), transparent, transparent);
}
.ry-menu .ry-nav li.dropdown .dropdown-menu li {
    background: var(--color-primary-background);
    color: var(--color-primary-text);
}
.slider-info {
    min-height: fit-content;
}
/* 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;
}
#hp-slider .swiper-button-next, #hp-slider .swiper-button-prev {
    display: none;
}
/* CTA */
	/**/
/* Welcome */
	/**/
#welcome-wrap.style-1 .module-22 .ry-right .content-wrap p {
    text-align: center !important;
}

#welcome-wrap.style-1 .svg-background .cls-1 {
    fill: var(--color-primary-background);
}
/* Services */
	/**/

#services-12 > div:nth-child(odd) {
    background-color: #f6f9fd;
}

#services-12 > div:nth-child(even) {
    background-color: #fafafa;
}

#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: 4;
    color: #666;
}

#services-12 > div:nth-child(even) > div > h4, #services-12 > div:nth-child(odd) > div > h4 {
    color: #374151;
}

#services-12 .hp-service:nth-child(1) {
    border-top-left-radius: 80px;
    border-bottom-left-radius: 80px;
}

#services-12 .hp-service:nth-child(3) {
    border-top-right-radius: 80px;
    border-bottom-right-radius: 80px;
}
#services-12 img {
    filter: invert(1);
}
/* Meet the Team */
	/**/

/*.ry-hp-team::after {
  content: "";
  position: absolute;
  width: 30%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(https://s3.amazonaws.com/static.organiclead.com/Site-82d92065-fcb6-4f41-8dc2-5779f549d486/backgrounds/ArtesiaOpto_team_after_v2.jpg) center center no-repeat;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}*/
    .ry-hp-team img {
        z-index: 2;
    }
/* Insurance */
	/**/
#hp-brands-6 .overflow-hidden {
    padding: 0;
}

#hp-brands-6 .swiper-slide {
    background: #f1f5f7;
}

#hp-brands-6 .swiper-slide img {
    mix-blend-mode: normal;
}
.brand-4-swiper-button-next, .brand-4-swiper-button-prev {
    background-color: var(--color-primary-background);
}
/* Brand */
	/**/
/* Request Appointment */
	/**/
/* Testimonials */
	/**/
.module-testimonials.style-2 .comments-symbol {
    font-family: 'Playfair Display';
}

.module-testimonials.style-2 .comments-holder p {
    color: #666;
}

.module-testimonials.style-2::before, .module-testimonials.style-3::after {
    background: none;
}
/* Footer */
	/**/
/*Media Queries*/


@media (max-width:1080px) {
	
	.footer-logo {
        width: 100% !important;
        max-width: 150px !important;
    }
}

	
@media (min-width: 768px) {
    .slider-info-center-bottom {
        bottom: 5%;
    }
}
@media (max-width:1024px){
    .ry-hp-team::after {
        width: 100%;
        height: 30%;
        top: auto;
        bottom: 0;
    }

}
@media (max-width: 768px) {
	#hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img {
		height: auto !important;
	}
	
}
/* End - HP Edits*/

body[data-page-name="contact-us"] #footer-map {
	display: none;
}

body[data-page-name="contact-us"] #ry-footer-3 {
	padding-top: 220px;
}


div#gallery-before-after img {
    margin: 0;
}
body#ry-pg-body[data-page-id="WebPage-69de6da8-86a2-4256-bc30-ede53d352943"] h2 {
    margin: 0
}

#hp-brands-6 .brand-4-swiper-button-prev, .brand-4-swiper-button-next {
    background: transparent;
}
#hp-brands-6 .brand-4-swiper-button-prev, .brand-4-swiper-button-next i {
    color: #000;
    font-size: 30px;
}

#ry-footer .container {
  max-width:1600px;
   width:90%;
  padding-bottom:10px
}
#ry-footer ul.max-w-\[300px\] li  {
  display: flex;
  gap: 10px
}
#ry-footer ul.max-w-\[300px\] li:last-child  {
flex-wrap:wrap;
  text-wrap:wrap;
  width:100%;
}
#ry-footer ul.max-w-\[300px\] li:last-child span:first-child {
width:100%
}
#ry-footer ul.max-w-\[300px\] li:last-child * {
  text-wrap:wrap;
  width:100%;
}
#ry-footer ul.max-w-\[300px\] li span {
  display: flex;
  text-wrap:nowrap
}

#ry-footer ul.max-w-\[300px\] li span:last-child {
  display: block;
  width: 140px;
  text-align:end
}

#ry-footer ul.max-w-\[300px\] li span:first-child {
  width: 90px;
  display: block;
  text-align:start
}
#ry-footer h4 {
  text-wrap: nowrap
}

 #ry-footer .grid {
    display: flex;
   gap:4vw
 }
  #ry-footer .grid > div {
    width: calc(25% - 10px);
  }
#ry-footer .border-t *{
  font-size:16px
}
#ry-footer .border-t img {
  height:100%;
  max-width:100px;
  margin-bottom:-5px
}
#ry-footer ul.max-w-\[300px\] li span {
  font-weight:normal
}
@media(max-width:1279px) {
  #ry-footer .border-t > div {
  width: 100%;;
  display:flex;
  align-items:center;
  justify-content:center;
  
}
}

@media(max-width:1199px) {
  #ry-footer .border-t {
  padding:20px 0;
}

 #ry-footer .grid {
    display: flex;
    flex-wrap:wrap;
    max-width:800px;
    margin-inline: auto;
    width:100%;
    row-gap:40px
  }
  #ry-footer .grid > div:not(.hidden) {
    width: 47%;
    display: flex;
    flex-direction: column;
    margin-inline:auto
  }
  #ry-footer .col-span-full > div, 
  #ry-footer .col-span-full ul{
    width:100%;
  }
  #ry-footer .col-span-full:last-child ul{
    max-width:300px !important;
    width:100%;
    margin-inline:auto
  }
  #ry-footer .grid * {
    text-align: center
  }
  #ry-footer .border-t * {
    text-align: center;
    justify-content: center
  }
  #ry-footer .border-t {
  flex-direction: column;
    justify-content: center;
    align-items: center
}
}



@media(max-width:700px) {
	#ry-footer .grid {
		flex-direction:column
	}
    #ry-footer .grid > div {
    width: 100% !important;
    }
  #ry-footer ul.max-w-\[300px\] li:last-child * { 
    text-align:center !important
  }
  #ry-footer .border-t .flex{ 
    gap:10px
  }
  #ry-footer .flex {
    justify-content:center;
    align-items:center
  }
}


.ry-map-wrapper{
    height:fit-content !important
}

@media(max-width:1480px) {
    .ry-map-wrapper img {
        height:65vh;
        object-fit:cover
    }
}
@media(max-width:1080px) {
    .ry-map-wrapper img {
        height:46vh;
    }
}
@media(max-width:480px) {
    .ry-map-wrapper img {
        height:30vh;
    }
}

/* --- TEAM PAGE ---  */
.team-inner-page.style3 .team-social {	
	margin-top:20px
}
.team-inner-page.style3 .btn-excerpt {
	display:none !important
}
.team-inner-page.style3 .ry-each {
}
.team-inner-page.style3 .ry-each .each-container .details .title {
	padding-inline:2vw
}

.team-inner-page.style3 .ry-flex.object-top .photo img {
	position:relative;
	object-position:top;
	object-fit:cover;
	height: auto;
	border:solid 4px #e6e7eb
}
.team-inner-page.style3 .ry-each .photo {
	padding-bottom:unset;
	height:fit-content
}
.team-inner-page.style3 .ry-each .each-container .details .team-full-description img {
    max-width:400px;
    width:100%;
}
body.default #ry-section-header.module-43 {
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
#ry-pg-body .team-inner-page.style3 .ry-each .each-container .details .title p {
    font-size: 15px !important;
}
.team-inner-page.style3 .ry-each .each-container .details .title h5 {
	font-size:25px !important
}

body.default #ry-section-header.module-43 .ry-btn:hover, .module-43 .btn-wrapper .ry-btn:hover {
    background:var(--secondary-color) !important
}
.team-inner-page.style3 .ry-each .each-container .details .team-excerpt,
.team-inner-page.style3 .ry-each .each-container .details .team-full-description,
.team-inner-page.style3 .ry-each .each-container .details .title{
	padding:0
}
.team-inner-page.style3 .ry-each .each-container .details {
	flex-direction:column;
	width:78%
}
	.team-inner-page.style3 .ry-each .each-container .details .title {
		width: 100%;
		margin-bottom:10px
	}
	.team-inner-page.style3 .ry-each .each-container .details .team-excerpt, .team-inner-page.style3 .ry-each .each-container .details .team-full-description {
    width: 100%;
	}


.team-inner-page.style3 .ry-each .each-container .details .team-excerpt {
	display:none !important
}
.team-inner-page.style3 .ry-each .each-container .details .team-full-description {
	display:flex !important;
	flex-direction:column
}
.team-inner-page.style3 .ry-each .each-container {
	justify-content:space-between;
	gap:20PX
}
.team-inner-page.style3 .ry-each .photo {
	max-width:unset;
	width:25%
}
.team-inner-page.style3 .ry-each .team-social {
	display:none
}
@media (max-width: 1280PX) {
	.team-inner-page.style3 .ry-each .photo {
		width:30%

	}
	.team-inner-page.style3 .ry-each .each-container .details {
		flex-direction:column;
		width:65%
	}
}
@media (max-width: 991px) {
	.team-inner-page.style3 .ry-each .photo {
		width:100%	
	}
	.team-inner-page.style3 .ry-each .photo img {
		max-width:300px;
		width:100%;
		margin-inline:auto
	}
	.team-inner-page.style3 .ry-each .each-container .details {
		flex-direction:column;
		width:100%
	}
	.team-inner-page.style3 .ry-each {
		padding-inline:20PX
	}
	
}
	

.team-inner-page.style3 .ry-flex .ry-each {
    position: relative;
	overflow:hidden
}

.team-inner-page.style3 .ry-flex .ry-each:before {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    width: 0;
    height: 0;
    border-top: 250px solid var(--color-primary-background);
    border-right: 250px solid transparent;
}

[data-page-id="WebPage-630c097d-a210-468f-a86a-cb8ec3ca3c2a"] .ry-map-wrapper {
    display:none
}

.contact-template.style-1 .contact-details .ry-container .ry-flex {
    background: linear-gradient(to bottom, #f4f4f4, #97bccc61);
}
.contact-template.style-1 .contact-details .ry-container .ry-flex .ry-each .icon,
.contact-template.style-1 .contact-details .ry-container .ry-flex .ry-text .custom-social-wrapper .social-inner-wrap li a {
    background:var(--color-primary-background)
		}
.contact-template.style-1 .contact-details .ry-container .ry-flex .ry-text .custom-social-wrapper .social-inner-wrap li a  {
	width:40px;
	height:40px;
	min-width:40px;
	min-height:40px
}

[aria-labelledby="heading-enchroma-lens-technology"],
[aria-labelledby="heading-Avulux"],
[aria-labelledby="heading-eyepromise"],
[aria-labelledby="heading-ilux"],
[aria-labelledby="heading-tyrvaya"],
#heading-technology{
    display:none
}


.custom-social-wrapper .social-inner-wrap{
    padding-top:20px
}

.custom-social-wrapper .social-inner-wrap li {
    min-width: 40px;
    min-height: 40px;
}

.team-inner-page.style3 .ry-flex.object-top .no-img .photo img {
    opacity:0
}
.banner h1 {
    color:#fff
}

.banner .from-secondary-background {
    background-image: linear-gradient(to right, #7ea7b9, transparent);
}

@media(max-width:480px) {
.banner .from-secondary-background {
    background: #7ea7b9c2
}
}

@media(max-width:991px) {
	.team-inner-page.style3 .ry-flex.object-top .no-img .photo  {
		opacity:0;
		height:0;
		display:none
	}
	.team-inner-page.style3 .ry-flex.object-top .no-img.ry-each .each-container .details {
		background:#e5e7eb;
		z-index:1;
		padding-left:5px;
		padding-top:30px
	}
	.team-inner-page.style3 .ry-flex.object-top .no-img {
		padding-top:23px
	}
}

.custom-social-wrapper .social-inner-wrap li {
  flex: 0 0 auto;
  width: 40px;  height: 40px;
  min-width: 40px; min-height: 40px;
  max-width: 40px; max-height: 40px;
  border-radius: 50%;
  overflow: hidden;
}
.custom-social-wrapper .social-inner-wrap li a {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;   
  border-radius: 50%;         
}
.custom-social-wrapper .social-inner-wrap li a svg {
  width: 16px; height: 16px;    
  flex: 0 0 auto;
}

.custom-social-wrapper .social-inner-wrap li {
  overflow: visible;         
}
.custom-social-wrapper .social-inner-wrap li a {
  border-radius: 50%;
  transform: translateZ(0);       
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.custom-social-wrapper .social-inner-wrap li {
  display: flex;                     
}
div#contents .custom-social-wrapper .social-inner-wrap li {
  list-style: none !important;      
}