/** GLOBAL CSS **/
:root {
    --color-primary: #1f9d71;
    --color-secondary: #4276ba;
    --color-tertiary: ;
	--background-transparent: transparent;
    --filter-color-primary: brightness(0) invert(20%) sepia(4%) saturate(3511%) hue-rotate(181deg) brightness(89%) contrast(79%);
    --filter-color-secondary: brightness(0) invert(77%) sepia(52%) saturate(282%) hue-rotate(162deg) brightness(96%) contrast(90%);
	
	--color-text-white: #fff;
	--color-text-dark: #000;
}

*:not(.carousel *):not(.ry-accordion *):not(#accordion *):not([data-aos-duration]):not(.slick-track):not(#ry-section-header *):not(.fancybox-slide *),
::before,
::after {
    transition: 0.3s ease-in-out all;
}
html, body {
	overscroll-behavior: none;
	overflow-x: hidden !important;
}
html {
    scroll-behavior: smooth;
}

/* //Removed excess margin on bottom on forms alert */
.alert li:last-child {
    margin-bottom: 0 !important;
}

/* //Add Underline on all hyperlink */
body.default #ry-pg-body a:not(.ry-btn):not(.fa):hover {
    text-decoration: underline !important;
}
.ry-each-link, .ry-each-link a {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.ry-btn-wrap {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
}
.ry-section-background, .ry-section-background img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
	object-fit: cover;
}
body .ry-headline h2 {
	font-size: clamp(2.25rem, 1.9951rem + 1.0458vw, 3.25rem);
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #4276ba;
	font-weight: 300;
	font-family: "Satoshi";
	text-align: center;
}
body .ry-headline h4 {
    opacity: 0.600;
    font-size: clamp(1.375rem, 1.3272rem + 0.1961vw, 1.5625rem);
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #000000;
    font-family: "Satoshi";
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6vw 0;	
}
.ry-services-custom .ry-container, .ry-team-custom .ry-container, .ry-location-custom .ry-container, .ry-testimonial-custom .ry-container  {
    max-width: 1280px;
    width: 90%;
}
/** END GLOBAL CSS **/

/** HOMEPAGE WELCOME SECTION **/
.ry-group-section-1 {
    position: relative;
    z-index: 2;
    overflow: visible;
	background-color: #e8f6f7;
}
.ry-group-section-1 .ry-bg-group-1, .ry-group-section-1 .ry-bg-group-1 img {
    position: absolute;
    width: 100%;
    height: 100%;
    min-height: 1820px;
    object-fit: cover;
    object-position: center -21vw;
    z-index: 2;
    overflow: visible;
}
#section-welcome {
    position: relative;
}
.module-welcome.style-5 .ry-content {
    position: relative;
    z-index: 9;
}
/** END HOMEPAGE WELCOME SECTION **/

/** HOMEPAGE OUR PROMISE **/
.ry-homepage-our-promise {
    position: relative;
    padding: 4em 0 12em;
    z-index: 2;
}
.ry-homepage-our-promise .ry-headline {
    margin-bottom: 0;
}
.ry-homepage-our-promise .ry-content > .ry-text {
    margin-bottom: 4em;
}
.ry-homepage-our-promise .ry-flex {
    gap: 4em;
    align-items: center;
}
.ry-homepage-our-promise .ry-each {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    align-items: center;
    gap: 40px;
	position: relative;
}
.ry-homepage-our-promise .ry-small-box {
    width: 357px;
    height: 360px;
    border-radius: 20px;
}
.ry-homepage-our-promise .ry-big-box {
    width: 426px;
    height: 400px;
    border-radius: 20px;
	position: relative;
}
.ry-homepage-our-promise .ry-green-bg {
    background-color: #cceebd;
}
.ry-homepage-our-promise .ry-blue-bg {
    background-color: #c4e9f8;
}
.ry-homepage-our-promise .ry-each .ry-box-content {
    display: flex;
    flex-direction: column;
    gap: 1em;
    justify-content: center;
    align-items: center;
    padding: 2em 3em;
	position: relative;
}
.ry-homepage-our-promise .ry-each .ry-box-content .ry-title-wrap {
    display: flex;
    align-items: center;
    gap: 20px;
}
.ry-homepage-our-promise .ry-each .ry-box-content .ry-title-wrap .ry-icon-wrap {
    width: 99px;
    height: 99px;
    border-radius: 50%;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ry-homepage-our-promise .ry-each .ry-box-content .ry-title-wrap .ry-icon-wrap img {
    max-width: 48px;
}
.ry-homepage-our-promise .ry-each .ry-box-content .ry-title h4 {
    font-size: clamp(1.5rem, 1.4363rem + 0.2614vw, 1.75rem);
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #333333;
}
.ry-homepage-our-promise .ry-each .ry-box-content .ry-text p {
    font-size: 20px;
    line-height: 1.4;
    color: #333;
}
.ry-homepage-our-promise .ry-box-content:nth-child(2) {
    bottom: -3.5vw;
}
.ry-homepage-our-promise .ry-box-content:nth-child(3) {
    top: -3.5vw;
}
.ry-homepage-our-promise .ry-box-content:first-child {
    top: -2vw;
}
.ry-homepage-our-promise .ry-box-content:last-child {
    top: 2vw;
}
.ry-homepage-our-promise .ry-big-box:before {
    content: '';
    position: absolute;
    top: 20px;
    left: -20px;
    width: 100%;
    height: 100%;
    background: transparent;
    border: 2px solid #299978;
    border-radius: 20px;
}	
.ry-homepage-our-promise .ry-each .ry-full-card-wrap {
    border-radius: 40px;
    background: linear-gradient(360deg, #d6efd3, #fff, #d9eef4);
    border: 15px solid #ffffff;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 2em 3em;
}
.ry-homepage-our-promise .ry-each .ry-full-card-wrap .ry-fav-icon-wrap img {
    max-width: 105px;
    margin: 0 auto;
}
.ry-homepage-our-promise .ry-each .ry-full-card-wrap .ry-text p {
    font-size: 21px;
    color: #333333;
    line-height: 1.4;
}	
/** END HOMEPAGE PROMISE **/
	
/** HOMEPAGE SERVICES **/
.ry-group-section-2 {
    position: relative;
    margin-top: -1px;
}
.ry-bg-group-2, .ry-bg-group-2 img {
    position: absolute;
    width: 100%;
    height: 100%;
    min-height: 2430px;
    object-fit: cover;
}
.ry-homepage-services-custom {
    position: relative;
    padding: 8em 0 4em 0;
}
.ry-homepage-services-custom .ry-heading-wrap {
    margin-bottom: 4vw;
}
.ry-homepage-services-custom .ry-services-wrapper {
    display: flex;
    justify-content: center;
    gap: 2em;
	flex-wrap: wrap;
}
.ry-homepage-services-custom .ry-services-wrapper .ry-each {
    width: 266px;
}
.ry-homepage-services-custom:before {
    content: '';
    position: absolute;
    top: -14vw;
    left: 0;
    width: 100%;
    height: 457px;
    background: url(https://s3.amazonaws.com/static.organiclead.com/Site-e5d35c68-e68a-47f7-9150-074fb04f052a/Homepage_Assets/wave_2.png) center center no-repeat;
    background-size: 100%;
    z-index: 2;
}
.ry-homepage-services-custom .ry-each .ry-circle-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.ry-homepage-services-custom .ry-icon-wrap {
    width: 266px;
    height: 266px;
    border-radius: 133px;
    filter: drop-shadow(0 0 57px rgba(0,83,27,0.23));
    background-image: linear-gradient(50deg, #9addff 0%, #cbedbd 100%);
    border: 10px solid #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ry-homepage-services-custom .ry-icon-wrap img {
    width: max-content;
    transition: all cubic-bezier(0, 0, 0.2, 1) 0.3s !important;
}
.ry-homepage-services-custom .ry-services-title {
    width: 100%;
}
.ry-homepage-services-custom .ry-services-title p {
    font-size: clamp(1.375rem, 1.3431rem + 0.1307vw, 1.5rem);
    color: #333333;
    text-align: center;
    line-height: 1.2
	transition: all cubic-bezier(0, 0, 0.2, 1) 0.3s !important;
}
.ry-homepage-services-custom .ry-services-desc {
    display: none;
	width: 100%;
    padding: 0 30px;
}
.ry-homepage-services-custom .ry-services-desc p {
    font-size: 19px;
    line-height: 1.4;
    color: #ffffff;
    text-align: center;
}
.ry-homepage-services-custom .ry-each .ry-circle-wrapper {
    border-radius: 145px;
    border: 8px solid transparent;
    transition: all cubic-bezier(0, 0, 0.2, 1) 0.3s !important;
}
.ry-homepage-services-custom .ry-each:hover .ry-circle-wrapper {
    width: 100%;
    height: 100%;
    max-height: max-content;
    border-radius: 145px;
    filter: drop-shadow(0 0 17.5px rgba(24,23,24,0.58));
    background-image: linear-gradient(137deg, #1f9d71 0%, #4175bb 100%);
    border: 8px solid #ffffff;
    padding: 0 0 2.5em;
    transition: all cubic-bezier(0, 0, 0.2, 1) 0.3s !important;
}
.ry-homepage-services-custom .ry-each:hover .ry-icon-wrap {
    background-image: none;
    filter: none;
    border: none;
}
.ry-homepage-services-custom .ry-each:hover .ry-services-title p {
    color: #fff;
    width: 100%;
}
.ry-homepage-services-custom .ry-each:hover .ry-services-desc {
    display: block;
}
.ry-homepage-services-custom .ry-each:hover .ry-icon-wrap img {
    filter: brightness(0) invert(1)
}

/** END HOMEPAGE SERVICES **/
	
	
/** HOMEPAGE MYOPIA & DRY EYE **/
.ry-homepage-myopia-and-dryeye {
    position: relative;
    padding: 4em 0;
}
.ry-homepage-myopia-and-dryeye .ry-content {
    padding: 0 2.5em;
}
.ry-homepage-myopia-and-dryeye .ry-flex {
    flex-direction: column;
    gap: 4vw;
}
.ry-homepage-myopia-and-dryeye .ry-flex .ry-section-blocks {
    display: flex;
    justify-content: center;
    align-items: center;
}
.ry-homepage-myopia-and-dryeye .ry-section-blocks .ry-text-wrap {
    padding: 0em 4em;
}
.ry-homepage-myopia-and-dryeye .ry-section-blocks .ry-img-wrap img {
    border: 10px solid #fff;
    filter: drop-shadow(0 0 28.5px rgba(8,71,49,0.15));
}	
/** END HOMEPAGE MYOPIA & DRY EYE **/	

/** HOMEPAGE PHOTO GALLERY **/
.ry-group-section-3 {
    position: relative;
    margin-top: -1px;
}
.ry-group-section-3:before {
    content: '';
    position: absolute;
    top: -10vw;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 1882px;
    background: url(https://s3.amazonaws.com/static.organiclead.com/Site-e5d35c68-e68a-47f7-9150-074fb04f052a/Homepage_Assets/wave_3.png) center center no-repeat;
    background-size: cover;
}
.ry-bg-group-3, .ry-bg-group-3 img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
	z-index: -1;
}
.ry-homepage-photo-gallery {
    position: relative;
    padding: 6em 0;
}
.ry-homepage-photo-gallery .ry-flex {
    flex-direction: column;
    gap: 1.5em;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider {
    position: relative;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateX(-50%);
    color: transparent;
    content: "\f053";
    font-family: 'Font Awesome 5 Free';
    width: 30px;
    height: auto;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-arrow:before {
    content: "\f053";
    font-family: 'FontAwesome';
    font-size: 34px;
    color: #000;
    opacity: 0.302;
    font-size: 40px;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-arrow.slick-prev {
    left: -3vw;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-arrow.slick-next {
    right: -4.5vw;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-prev:before {
    content: "\f053";
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-next:before {
    content: "\f054";
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    gap: 7px;
    position: absolute;
    bottom: 0;
    padding-left: 0;
    left: 50%;
    transform: translateX(-50%);
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-dots li,
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-dots button {
    opacity: 0.200;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: #000000;
    color: transparent;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-dots li.slick-active,
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-dots li.slick-active button {
    background-color: #1f9d71;
    opacity: 1;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-center {
    transform: scale(1.5);
    z-index: 2;
	position: relative;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-center img {
    width: 100%!important;
    overflow: visible;
    filter: drop-shadow(0 0 20px rgba(0,83,27,0.35));
	z-index: 2;
	position: relative;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-center:before {
    content: '';
    position: absolute;
    bottom: -70px;
    left: 0;
    width: 100%;
    height: 86px;
    background: url(https://s3.amazonaws.com/static.organiclead.com/Site-e5d35c68-e68a-47f7-9150-074fb04f052a/Homepage_Assets/gallery_shadow.png) center center no-repeat;
    background-size: contain;
    z-index: 1;
}
.ry-homepage-photo-gallery  .slick-list {
    overflow: visible;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider {
    overflow-x: hidden;
    overflow-y: hidden;
    padding: 9em 0;
	margin-top: -4vw;
}
.ry-homepage-photo-gallery .ry-photo-gallery-slider .ry-each img {
    border: 10px solid #fff;
}
.ry-homepage-photo-gallery .slick-list {
    padding: 0 !important;
}
/** END HOMEPAGE PHOTO GALLERY **/	
	
/** HOMEPAGE BRANDS **/
.ry-multi-item-slider .ry-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    padding: 6vw 4vw;
    overflow: visible;
}
.ry-multi-item-slider .ry-content .ry-brands-inner-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.ry-multi-item-slider .ry-content .ry-section-background,.ry-multi-item-slider .ry-content .ry-section-background img {
    z-index: 1;
    overflow: visible;
}
body.home #top-brands .ry-multi-item-slider .container.ry-container {
    overflow: visible;
}
.ry-brands-inner-wrap {
    max-width: 700px;
}
.ry-multi-item-slider .ry-content .ry-brands-inner-wrap .ry-headline {
    position: relative;
    z-index: 2;
}
	
	
/** INSIDE PAGE UPDATES **/
body[data-page-name="frames"] .ry-multi-item-slider .ry-headline {
    display: none;
}
body[data-page-name="frames"] .ry-multi-item-slider .owl-carousel .owl-nav {
    top: 90%;
}
body[data-page-name="frames"] .ry-multi-item-slider .owl-carousel .owl-nav .owl-next {
    right: 0;
}


/** HOMEPAGE RESPONSIVENESS **/
@media (max-width: 1600px) {
	.ry-homepage-our-promise .ry-big-box {
		width: 400px;
	}
	.ry-homepage-our-promise .ry-small-box {
		width: 300px;
		height: 300px;
	}
	.ry-homepage-our-promise .ry-each .ry-box-content {
		padding: 1vw 2vw;
	}
	
	.ry-homepage-services-custom .ry-services-wrapper .ry-each {
		width: 250px;
	}
}
@media (max-width: 1440px) {
	.ry-group-section-1 .ry-bg-group-1, .ry-group-section-1 .ry-bg-group-1 img {
		object-position: center -28vw;
	}
	.ry-homepage-our-promise .ry-big-box {
		width: 360px;
	}
	.ry-homepage-services-custom .ry-services-wrapper .ry-each {
        width: 300px;
    }
}
@media (max-width: 1080px) {
	.module-66 .bnr-textbox .ry-hero-headline {
		width: 100%;
		float: none;
	}
	.module-66 .bnr-textbox .ry-hero-headline h1, .module-66 .bnr-textbox .ry-hero-headline h1 span {
		text-align: center !important;
	}
	.ry-group-section-1 .ry-bg-group-1, .ry-group-section-1 .ry-bg-group-1 img {
		object-position: center center;
	}
	.ry-homepage-our-promise .ry-flex,
	.ry-homepage-myopia-and-dryeye .ry-flex .ry-section-blocks {
		flex-direction: column;
	}
	.ry-homepage-myopia-and-dryeye .ry-flex .ry-section-blocks {
		gap: 4vw
	}
	.ry-brands-inner-wrap {
		max-width: 100%;
	}
	.ry-multi-item-slider .ry-content .ry-section-background:before {
		content: '';
		position: absolute;
		width: 100%;
		height: 95%;
		top: 2vw;
		left: -12px;
		background: #ffffffa3;
		z-index: 2;
		border-radius: 40px;
	}
	.module-testimonials.option-1 .ry-flex {
		flex-direction: column-reverse;
	}
	.module-testimonials.option-1 .ry-flex .ry-each img {
		margin: 0 auto;
	}
	.module-44 .ry-footer-top .ry-logo-badge-wrap .ry-flex {
		flex-direction: column;
		gap: 1.5em;
	}
	.module-44 .ry-container > .ry-flex  {
		flex-direction: column;
		gap: 2vw;
	}
	.module-44 .ry-flex .ry-each {
		width: 100%;
	}
	.module-44 .ry-flex .ry-each * {
		text-align: center !important;
	}
	.module-44 .ry-flex .ry-each ul li {
		justify-content: center;
	}
	.module-44 .ry-flex .website-info .ry-contact-each:not(:last-child) {
		flex-direction: column;
	}
	.module-44 .details {
		flex-direction: column;
	}
	.module-44 .social-icons {
		justify-content: center;
	}
	.module-44 .office-hours {
		justify-content: center;
	}
	.module-44 .ry-flex .ry-each .span-2 {
		text-align: left !important;
	}
	.module-44 .ry-flex .ry-each .span-3 {
		text-align: right !important;
	}
	.module-44 .ry-footer-copyright .ry-container {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.module-44 .ry-footer-copyright .ry-left, .module-44 .ry-footer-copyright .ry-right {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.ry-homepage-our-promise .ry-each .ry-box-content {
		inset: 0;
		width: 360px;
		padding: 4vw;
	}
	.ry-homepage-our-promise .ry-big-box:before {
		display: none;
	}	
	.ry-homepage-our-promise {
		padding: 6em 0 2em;
	}
	.ry-homepage-services-custom {
		padding: 6em 0;
	}
	.ry-homepage-services-custom:before {
		top: -25vw;
	}
}	
@media (max-width: 500px) {
	.ry-homepage-our-promise .ry-big-box:before {
		display: none;
	}
	.ry-homepage-our-promise .ry-big-box {
        width: 300px;
        inset: 0;
    }
	.ry-homepage-services-custom:before {
        top: -48vw;
    }
	.ry-multi-item-slider .ry-content .ry-section-background:before {
		opacity: 0;
	}
	.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-center {
		transform: none;
	}
	.ry-homepage-photo-gallery .ry-photo-gallery-slider .slick-center:before {
		bottom: -60px;
	}	
	.ry-homepage-myopia-and-dryeye .ry-section-blocks .ry-text-wrap {
		padding: 0;
	}
	.ry-homepage-myopia-and-dryeye .ry-content {
		padding: 0 1em;
	}
	.ry-homepage-our-promise .ry-each .ry-box-content .ry-title-wrap {
		flex-direction: column;
	}
	.ry-homepage-our-promise .ry-each .ry-box-content {
		padding: 4vw !important;
	}
	.module-44 .ry-footer-top .ry-logo-badge-wrap .ry-flex .ry-footer-badge img {
		max-width: max-content;
	}
	.module-44 .ry-footer-top .ry-logo-badge-wrap .ry-flex .ry-footer-badge {
		flex-direction: column;
	}
}
	