/** GLOBAL CSS **/
:root {
    --color-primary: #087FE5;
    --color-secondary: #25CEB1;
    --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 {
	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;
}
.full-link, .full-link a {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.ry-btn-wrap {
    margin-top: 1.5rem;
    display: flex;
	gap: 10px;
}
.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(1.875rem, 1.3971rem + 1.9608vw, 3.75rem);
	letter-spacing: -1px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-primary);
	font-family: "Montserrat";
}
body .ry-headline h2 span {
	color: var(--color-secondary);
}
body .ry-headline h4 {
	font-size: 24px;
	letter-spacing: 2px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #333333;
	font-family: "Montserrat";
	font-weight: 500 !important;
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6rem 0;	
}
@media (max-width: 1080px) {
	.ry-btn-wrap {
		justify-content: center;
	}
}
/** END GLOBAL CSS **/

/** HP HERO **/
.ry-hero-title h1 {
    font-size: clamp(2.25rem, 1.0711rem + 4.8366vw, 6.875rem);
    letter-spacing: -3px;
    line-height: 1.1;
    text-transform: uppercase;
    color: #cee5fa;
    font-weight: 600 !important;
    text-align: center;
}
.ry-hero-title h4 {
    font-size: clamp(1.5rem, 1.3088rem + 0.7843vw, 2.25rem);
    letter-spacing: 7px;
    line-height: 1.1;
    text-transform: uppercase;
    color: #92e7d8;
    font-weight: 600 !important;
}
#ry-slider .ry-content {
    display: grid;
    & > * {
        grid-area: 1/1;
    }
}
#ry-slider .ry-content .ry-hero-banner {
    place-content: flex-end;
    padding-bottom: 2rem
}
.ry-section-hero, #ry-slider img {
    height: 100vh;
    object-fit: cover;
    object-position: top
}
@media (max-width: 1080px) {
	#ry-slider .ry-content {
		& > * {
			grid-area: unset;
		}
	}
	.ry-section-hero {
		padding-top: 120px;
	}
	.ry-section-hero, #ry-slider img {
		height: auto;
		object-position: center;
	}
	#ry-slider .ry-content .ry-hero-banner {
		padding: 2rem;
		background: var(--color-primary);
	}
}
/** END HP HERO **/

/** HP WELCOME **/
.ry-welcome-custom {
    position: relative;
}
.ry-welcome-custom .ry-container .ry-content {
    max-width: 1440px;
    float: right;
}
.ry-welcome-custom .ry-content .ry-flex {
    align-items: center;
    gap: 8rem;
}
@media (max-width: 1080px) {
    .ry-welcome-custom .ry-content .ry-flex {
        flex-direction: column;
        gap: 4rem;
    }
    .ry-welcome-custom .ry-flex .ry-each.ry-text-wrap * {
        text-align: center;
    }
	.ry-welcome-custom .ry-container .ry-content {
		float: none;
	}
}
/** END HP WELCOME **/

/** HP MYOPIA MANAGEMENT **/
.ry-myopia-management {
    background: var(--color-primary);
    padding-bottom: 0;
}
.ry-myopia-management .ry-container {
    float: left;
}
.ry-myopia-management .ry-flex {
    gap: 6rem;
    align-items: flex-end;
}
.ry-myopia-icon {
    position: relative;
    margin-bottom: 1.5rem;
}
.ry-myopia-icon img {
    width: max-content;
    margin: 0 auto;
}
.ry-myopia-management .ry-each.ry-text-wrap {
    padding-bottom: 8rem;
    max-width: 480px;
}
.ry-myopia-management .ry-each.ry-text-wrap * {
    color: #fff;
}
.ry-myopia-management .ry-each.ry-text-wrap .ry-btn-wrap {
    justify-content: center
}
@media (max-width: 1080px) {
	.ry-myopia-management .ry-container {
		float: none;
	}
	.ry-myopia-management .ry-flex {
		flex-direction: column-reverse;
		gap: 4rem;
	}
	.ry-myopia-management .ry-each.ry-text-wrap {
		margin: 0 auto;
		padding-bottom: 0;
	}
	.ry-myopia-management .ry-flex .ry-img-wrap {
		position: relative;
		left: -9rem;
	}
}
@media (max-width: 560px) {
	.ry-myopia-management .ry-flex .ry-img-wrap {
        left: -3rem;
    }
}
/** END HP MYOPIA MANAGEMENT **/

/** HP TEAM **/
.ry-team-custom {
    position: relative;
}
.ry-team-custom .ry-flex {
    gap: 160px;
    align-items: center;
}
.ry-team-custom .ry-flex .ry-team-wrapper {
    display: flex;
    gap: 2rem;
}
.ry-team-custom .ry-flex .ry-team-wrapper .ry-each-team {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ry-team-custom .ry-flex .ry-team-wrapper .ry-each-team .ry-team-img {
    overflow: hidden;
    border-radius: 40px;
}
.ry-team-name h4 {
    font-size: 22px;
    line-height: 1.1;
    text-transform: uppercase;
    color: #333333;
    font-weight: 500 !important;
}
.ry-team-name p {
    font-size: 19px;
    text-transform: uppercase;
    color: #25ceb1;
}
.ry-team-custom .ry-flex .ry-btn-wrap {
    justify-content: center;
}
@media (min-width: 1081px) {
	.ry-team-custom {
		padding: 8rem 0 12rem;
	}
}
@media (max-width: 1080px) {
	.ry-team-custom .ry-flex {
		flex-direction: column;
		gap: 40px;
	}
}
@media (max-width: 560px) {
	.ry-team-custom .ry-flex .ry-team-wrapper {
		flex-wrap: wrap;
	}
}
/** END HP TEAM **/

/** HP TESTIMONIAL **/
.ry-testimonial-custom .star-wrapper {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
}
.ry-testimonial-custom .star-wrapper svg {
    width: 19px;
    fill: #f6ca64;
}
.ry-testimonial-custom .carousel-control {
    display: none;
}
.ry-testimonial-custom {
    position: relative;
    background: var(--color-primary);
}
.ry-testimonial-custom .ry-flex {
    gap: 8rem;
    align-items: center;
}
.ry-testimonial-custom .ry-each.ry-text-wrap * {
    color: #fff;
    text-align: center;
}
.ry-testimonial-custom .testimonials-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.ry-testimonial-custom .testimonials-wrapper .ry-headline {
    margin-bottom: 0;
}
.ry-testimonial-custom .comment .ry-name {
    margin-top: 20px;
}
.ry-testimonial-custom .comment .ry-name h5 {
    text-transform: uppercase;
}
.ry-testimonial-custom .comment .ry-text {
    min-height: 180px;
}
.ry-testimonial-custom .testimonials-wrapper .carousel-indicators {
    bottom: -140px !important;
}
.testimonials-wrapper .carousel-indicators li.active {
    background: var(--color-secondary) !important;
    width: 30px !important;
}
.ry-testimonial-custom .ry-btn.ry-btn-secondary:hover {
    border: 1px solid #fff;
}
@media (min-width: 1081px) {
	.ry-testimonial-custom .ry-flex .ry-each.ry-img-wrap {
		margin-top: -7rem;
	}
	.ry-testimonial-custom .ry-flex .ry-each.ry-img-wrap,
	.ry-testimonial-custom .ry-flex .ry-each.ry-img-wrap img {
		width: 885px;
		height: 900px;
		object-fit: contain;
		object-position: bottom;
	}
}
@media (max-width: 1080px) {
	.ry-testimonial-custom {
		padding-top: 4rem;
	}
	.ry-testimonial-custom .ry-flex {
		flex-direction: column-reverse;
	}
}
/** END HP TESTIMONIAL **/

/** GLOBAL/FOOTER RESPONSIVENESS **/
@media (max-width: 1080px) {
	#ry-pg-banner {
		padding-top: 150px;
	}
	.module-44 .ry-flex {
		flex-direction: column;
	}
	.module-44 .ry-flex .ry-each img {
		margin: 0 auto;
	}
	.module-44 .ry-flex .ry-each a, .module-44 .ry-flex .ry-each div, .module-44 .ry-flex .ry-each span {
		text-align: center;
	}
	.module-44 .social-icons .social-inner-wrap {
		justify-content: center;
		margin: 0 auto;
	}
	.module-44 .ry-flex .ry-each .website-info > div:not(.social-icons):before {
		position: relative;
	}
	.module-44 .ry-flex .ry-each .website-info > div:not(.social-icons) {
		display: flex;
		flex-direction: column;
		padding-left: 0;
	}
	.module-44 .ry-flex .ry-each .office-hours {
		display: flex;
		flex-direction: column;
		padding-left: 0;
	}
	.module-44 .ry-flex .ry-each .office-hours:before {
		position: relative;
	}
	.module-44 .ry-footer-copyright .ry-container {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.module-44 .ry-footer-copyright .ry-container * {
		text-align: center !important;
	}
}