/* 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
}

body#page[data-page-name="index"] {
    position: relative;
}
body#page[data-page-name="index"]:before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: url(https://s3.amazonaws.com/static.organiclead.com/Site-01e341d0-952b-4330-8ff5-e16b83c1a97d/Assets/paper_background_V2.jpg);
    background-size: cover;
}

body#page[data-page-name="index"] .ry-section {
    background: transparent !important;
}
body#ry-pg-body #navigation:not(.bg-White99) {
    position: relative;
}
.ry-frame {
  margin-top: 20px;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; }
  .ry-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*location page*/
.contact-template.style-3 .hours-wrapper {
    display: flex;
    padding: 0px 2vw 30px;
    background: #f5f5f5;
}

.contact-template.style-3 .hours-wrapper ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.contact-template.style-3 .hours-wrapper .text-wrap {
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-start !important;
}


.contact-template.style-3 .hours-wrapper ul li {
    display: flex;
    align-items: center;
    font-size: 18px !important;
    font-weight: 500;
    flex-wrap: wrap;
	justify-content: space-between;
    margin:0
}

.contact-template.style-3 .inner-flex .ry-each .inner-group .hours-wrapper .ry-text .span-1 {
    display:inline-block
}

.contact-template.style-3  .hours-wrapper ul li p {
   max-width:380px;
    width:100%;
    padding:0;
    margin:0;
    display:flex;
    justify-content:space-between;
    font-size:16px !important
}


.contact-template.style-3 .hours-wrapper .ry-text {
    width:100%;
}

@media screen and (max-width: 1080PX) {
    .contact-template.style-3 .inner-flex .ry-each .inner-group .text-wrapper{
        flex-direction:column;
        gap:10px
    }
  .hours-wrapper .text-wrap {
        align-items: center;
        justify-content: center;
    }
    
 .hours-wrapper ul li {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .contact-template.style-3 .icon {
        margin-bottom:10px
    }
    .contact-template.style-3 .hours-wrapper {
    display: flex;
    padding: 0px 30px 30px;
    }
    .contact-template.style-3 .inner-flex .ry-each {
        width:100%
    }
    .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom1, .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom2, .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom3 {
        padding-bottom:350px
	}
	.contact-template.style-3 .contact-details .headline{
		height:fit-content;
	}
	.contact-template.style-3 .inner-flex .ry-each .headline h3 {
		margin-bottom: 20px !important;
		padding:0
	}
	.contact-template.style-3 .hours-wrapper{
		justify-content:center;
	}
	    .contact-template.style-3 .inner-flex .ry-each .inner-group .text-wrap {
        align-items:center !important;
    }

        .contact-template.style-3 .inner-flex {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
        .contact-template.style-3 .inner-flex {
        flex-direction: row !important;
        align-items: center;
        justify-content: center;
        gap:30px
    }
        .contact-template.style-3 .inner-flex .ry-each {
       max-width:440px;
            width:100%;
    }
    .contact-template.style-3 .inner-flex .ry-each .inner-group .text-wrap {
        width:100%
    }
    
}



@media screen and (max-width: 774px) {
    .contact-template.style-3 .inner-flex .ry-each .inner-group .text-wrapper{
        flex-direction:column;
        gap:10px
    }
  .hours-wrapper .text-wrap {
        align-items: center;
        justify-content: center;
    }
    
 .hours-wrapper ul li {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .contact-template.style-3 .icon {
        margin-bottom:10px
    }
    .contact-template.style-3 .hours-wrapper {
    display: flex;
    padding: 0px 30px 30px;
    }
    .contact-template.style-3 .inner-flex .ry-each {
        width:100%
    }
    .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom1, .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom2, .contact-template.style-3 .inner-flex .ry-each .inner-group .map-ratio #mapCustom3 {
        padding-bottom:350px
	}
	.contact-template.style-3 .contact-details .headline{
		height:fit-content;
	}
	.contact-template.style-3 .inner-flex .ry-each .headline h3 {
		margin-bottom: 20px !important;
		padding:0
	}
	.contact-template.style-3 .hours-wrapper{
		justify-content:center;
	}
	    .contact-template.style-3 .inner-flex .ry-each .inner-group .text-wrap {
        align-items:center !important;
    }
}

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

.contact-template.style-3 .ry-form-box-wrapper {
    margin-bottom:8vw
}

/*FRAMES*/
#brands-inner .frame-wrapper > div {
  display:flex;
  justify-content:center;
  align-items:center
}

/**Updated CSS**/

@media (min-width: 1081px) {
	.homepage-video-slider {
        margin-top: 0px;
        height: 100vh;
        overflow: hidden;
    }
	.slider-info-center-bottom {
		bottom: 4%;
	}
	.homepage-swiper {
		margin-top: 0px;
		height: calc(0px + 100vh) !important;
		overflow: hidden;
		max-height: 100%;
	}
	.homepage-swiper .swiper-slide img {
		height: calc(0px + 100vh) !important;
		object-position: center top;
	}
	.slider-info {
		min-height: 1px;
	}
}


@media (max-width: 1080px) {
	.homepage-video-slider::before {
		opacity: 0; 
	}
	.slider-info {
		min-height: 1px;
	}
	.homepage-swiper, .homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
}

@media (max-width: 1080px) { 

	.homepage-swiper .slider-info,
	.homepage-video-slider .slider-info {
		position: relative;
		top: 0;
		transform: unset;
		left: 0;
		background: var(--color-secondary-background);
		padding: 2em 1em 1em;
	}
	.homepage-swiper {
		padding-top: 95px;
	}
	.homepage-swiper .slider-info .ry-btn-primary {
		border: 1px solid white;
	}
	.homepage-swiper .slider-info div {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

#ry-pg-body :is(.navigation-3) .bg-primary-background,
#page :is(.navigation-3) .bg-primary-background {
    background: transparent;
}

#ry-pg-body :is(.navigation-3) .cta-btn:hover,
#page :is(.navigation-3) .cta-btn:hover{
    background: #fff;
}

.testimonials-swiper-4 .swiper-slide p,
#hp-testimonials-5 .text-base p,
.testimonials-swiper-2 .swiper-slide .text-base p{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
}

body[data-page-name="frames"] #hp-brands-5 {
	padding-top: 0;
}

body[data-page-name="frames"] #hp-brands-5::before {
	display: none;
}

a.mm-navbar__title span{
    color:#FFF;
    text-transform:uppercase;
    letter-spacing:1px
}

#contents .mt-10.flex.lg\:flex-row.justify-between.flex-col.lg\:gap-14.gap-16 {
	margin-top:0 !important
}
@media(min-width:1200px){
    [x-data="randomBanners"] {
		height:300px;
	}
	[x-data="randomBanners"] img{
		object-position:center !important
	}
	[x-data="randomBanners"] .text-xl {
		padding-top:90px
	}
}
@media(max-width:991px) {
	.homepage-swiper .swiper-slide img, .homepage-swiper .swiper-wrapper {
		height:100% !important
	}

	.homepage-swiper .slider-info, .homepage-video-slider .slider-info {
		max-width:100% !important;
	}
	.homepage-swiper .slider-info {
		padding-bottom:50px
	}

	.homepage-swiper .slider-info p {
		overflow:hidden !important
	}
	.homepage-swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
		background:lightgray
	}
	.homepage-swiper .slider-info div {
		overflow:hidden
	}
	
	.homepage-swiper .swiper-button-next, .homepage-swiper .swiper-button-prev {
		display:none
	}
}

@media(max-width:768px) {
	.snap-mobile-menu img {
		max-width:200px;
		width:100%;
	}
}
@media(max-width:767px) {
	.homepage-swiper h2 {
		font-size:31px;
		line-height:1.1
	}
	.homepage-swiper DIV {
		font-size:16px 
	}
}

@media(max-width:480px) {
	.homepage-swiper .slider-info {
		padding:20px 15px 50px
	}
	.homepage-swiper .swiper-slide img {
		height:30vh !important
	}
	.snap-mobile-menu img {
		max-width:160px;
		width:100%;
	}
	.snap-mobile-menu .gap-6 {
		gap:15px !important
	}
}

.homepage-swiper  .slider-info {
    max-width:90%
}

@media(max-width:1080px) {
    .homepage-swiper .slider-info  h2 {
        font-size: clamp(1.9375rem, 1.6196rem + 1.3043vw, 2.5rem);
    }
}

.module-welcome.style-5 {
	background: #f9f8f5;
	position: relative;
}

#welcome-wrap.style-1:before, .module-welcome.style-5:before, .module-welcome.style-6:before {
	background: url(https://s3.amazonaws.com/static.organiclead.com/Site-01e341d0-952b-4330-8ff5-e16b83c1a97d/Assets/welcome_bg.jpg);
	background-size: contain;
	height: 0;
	padding-bottom: 47%;
	background-repeat: no-repeat;
	top: unset;
}

.module-welcome.style-5 .ry-container {
    max-width: 1280px;
}

/** Welcome Style Start **/

/** Services Style 7 Start**/

.ry-services.style2::before {
    top: 0;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: center top;
    opacity: 1;
}

#services-7 .each-block {
    border: 6px solid #ffffff99;
}
.ry-services.style2 > .relative, .ry-services.style2 .ry-container {
    position: relative;
    z-index: 9;
}

.ry-services.style2 .each-block .photo img {
	transform: translateX(-50%);
	object-fit: contain;
}

.ry-services.style2 .ry-each .photo {
    background: radial-gradient(var(--color-secondary-background), #9b958a) !important;
}

.ry-services.style2 .ry-each .photo:after  {
   opacity:.9 !important;
   z-index:2;
	background: linear-gradient(to bottom, var(--color-secondary-background), rgba(0, 0, 0, 0.9)) !important
}
.ry-services.style2 .ry-each .each-block:hover .photo img{
   z-index:1
}

.ry-services.style2 .ry-each .each-block:hover .button-svg {
   z-index:2;
}

@media (max-width: 1080px) { 
	.ry-services.style2 .each-block .photo::before {
		background: transparent !important;
	}
	div.ry-services.style2 .each-block .photo img {
		padding: 0;
		max-width: 100px !important;
		top: -10%;
	}
	div.ry-services.style2 .each-block .title {
		bottom: 14%;
		line-height: 1.3;
		width: 100%;
		transform: initial !important;
		left: 0;
		right: 0;
		text-align: center;
		padding: 0 40px;
	}
	div.ry-services.style2 .each-block .title div {
		text-align: center;
	}
}

/** Services Style 7 End **/

#welcome-wrap.style-1:before, .module-welcome.style-5:before, .module-welcome.style-6:before {
	background-position: center bottom;
}

.homepage-team-swiper-2:before {
	display: none;
}

/** Optos Style Start **/

.optos-retinal {
    padding: 100px 0;
}

.optos-retinal .ry-container {
    max-width: 1280px;
	position: relative;
	width: 90%;
}

.optos-swiper .swiper-wrapper .swiper-image {
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: 20px;
	height: 100%;
    position: relative;
}

.optos-swiper {
    margin-top: 50px;
	overflow: hidden;
}

.optos-swiper .swiper-wrapper {
    padding-bottom: 70px;
	height: 100% !important;
}

.optos-swiper .swiper-pagination {
    position: relative;
    transform: unset;
}
.optos-swiper .swiper-btn {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 30px;
}
.optos-swiper .swiper-btn .swiper-button-prev, .optos-swiper .swiper-btn .swiper-button-next {
    position: relative;
    transform: unset;
    left: 0;
    right: 0;
}



.optos-swiper .swiper-slide {
    background: #d6cdc4;
    padding: 10px 10px 30px;
    border-radius: 30px;
	height: 100% !important;
}
.optos-swiper .swiper-wrapper .h-full.relative {
    min-height: 130px;
}
/** Optos Style End **/

/** Footer Style 3 Start **/

#ry-footer ul {
    line-height: 2;
}
.footer-contents ul li, .footer-contents a, .footer-contents h4, .footer-contents p {
    color: #141414;
}
#ry-footer-3::after {
	display: none;
}
#ry-footer-3::before {
	opacity: 1;
}
#ry-footer-3 .footer-contents {
    background: #fff;
	border: 6px solid var(--color-primary-background);
}
#ry-footer-3 .footer-contents::before {display: none;}
div#hp-brands-5 {
    background: linear-gradient(to bottom, #f9fafe, transparent);
}
body[data-page-name="index"] #hp-insurance-1 .swiper-slide {
    background: transparent;
}
body[data-page-name="index"] #hp-insurance-1 .swiper-slide img {
    filter: brightness(0) invert(.45);
}
@media (max-width:700px) { 
	#ry-footer-3 .footer-contents {
		max-width: 90% !important;
		width: 100% !important;
		padding: 3em 1em !important;
	}

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

	#ry-footer-3 .footer-contents {
		text-align: center !important;
	}
}

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

body[data-page-name="contact-us"] div#ry-footer-3 {
    margin-top: 200px;
	padding-top: 200px;
}
.footer-privacy strong {
    color:rgb(185 28 28 / 1) !important;
}

/** Footer Style 3 End **/

body[data-page-name="index"] #hp-insurance-1 {
	position: relative;
}

/** Fixed Responsiveness **/

@media (max-width: 1080px) {
	div#navigation-style-3 {
		display: none;
	}
	.hidden.lg\:flex.justify-center.gap-6.items-center.max-w-7xl.mx-auto.ry-menu {
		display: none;
	}
	#section-hp-services::before {
		opacity: 1;
	}
	.module-welcome.style-5 .text-wrapper * {
		text-align: center;
	}
	.module-welcome.style-5 .ry-each .ry-text .ry-btn {
		margin-left: auto !important;
	}
	.snap-mobile-menu.flex.lg\:hidden {
		display: flex;
		background: white;
	}
	.homepage-swiper .slider-info {
		max-width: 100% !important;
		padding: 3em 1em 3em;
	}
	div#navigation-style-4 {
		display: none;
	}
}

@media (max-width: 1023px) { 
	.homepage-swiper {
		padding-top: 0;
	}
}

body[data-page-name="eyeglasses-and-contacts"] .p-4.bg-gray-200.rounded-lg {
    display: flex;
    justify-content: center;
    align-items: center;
}

body[data-page-name="contact-us"] div#map-flex {
    display: none;
}
#iframemap {
    position: relative;
    padding-bottom: 500px;
}
.contact-template.style-3 {
    padding-top: 4.333vw;
}
.contact-template.style-3 .contact-details {
    margin-bottom: 3.33vw;
}

@media (max-width: 600px) {
	.homepage-swiper {
		padding-top: 65px;
	}
}

@media (max-width: 1080px) { 
	.ry-services.style2 .each-block .photo {
		background: radial-gradient(var(--color-secondary-background), #9b958a) !important;
			}
	.ry-services.style2 .each-block .photo::before {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		height: 100%;
		background: linear-gradient(transparent, rgba(0, 0, 0, 0.6)) !important;
	}
}