/* 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#navigation-style-4 img {
    max-width: 500px !important;
}

#homepage-services-block .each-block:after {
    content: " ";
    width: 10px;
    height: 10px;
    background: linear-gradient(70deg, #2c5f8a 0%, #5183b4 49%, #2c5f8a 100%);
    inset: 0;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 300ms ease-in-out;
}

#homepage-services-block .each-block:hover:after,
#homepage-services-block .each-block:focus:after{
    width: 100%;
    height: 100%;
    border-radius: unset;
    transition: 300ms ease-in-out;
    opacity: .3;
}

div.ry-photo img {
    margin: 0 !important;
}

.ry-menu .ry-nav {
    gap: 0 4%;
    width: 100%;
    justify-content: flex-end;
    font-size: 22px !important;
    color: #374151;
}

.ry-menu .ry-nav li.dropdown .dropdown-menu li a {
    font-size: 18px;
    padding: 10px 20px !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;
}

.custom-headline h2 .span-1 {
    font-size: 25px;
    line-height: 1;
    font-family: Didact Gothic;
    display: block;
    font-weight: 400;
    letter-spacing: 0;
    padding-bottom: 1rem;
    text-transform: uppercase;
    color: #d8cfc2;
}


.custom-headline h2 {
    line-height: 1;
    text-align: center;
    color: var(--color-secondary-background);
    font-size: 65PX;
    font-weight: bold;
}

/* 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 <November 04, 2025> */

div.homepage-swiper .swiper-button-next,
div.homepage-swiper .swiper-button-prev {
    display:none !important;
}

	/*btns*/

#header-btn-flex a.ry-btn.ry-btn-primary {
  height: 65px;
  background: linear-gradient(70deg, #2c5f8a 0%, #5183b4 49%, #2c5f8a 100%);
  width: 100% !important;
  display: inline-flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  color: #fff;
  min-width: 250px;
  font-size: 20px;
}


.ry-btn.ry-btn-primary:not(#header-btn-flex a.ry-btn.ry-btn-primary) {
  height: 65px;
  background: linear-gradient(70deg, #2c5f8a 0%, #5183b4 49%, #2c5f8a 100%);
  width: 100% !important;
  display: inline-flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  color: #fff;
  min-width: 220px;
  font-size: 22px;
}


#header-btn-flex {
  gap: 0 10px;
  max-width: 100%;
  width: 500px;
  justify-content: space-between;
}

.ry-btn-wrap {
  width: -webkit-fill-available;
}

.ry-btn.ry-btn-primary .bi {
  margin-right: 10px;
}


/*Modal*/
/* Header */
	/**/
body[data-page-name="index"] #navigation {
    position: absolute;
}
.cta-btn {
    width: 300px;
}

.cta-btn:first-child {
    background: transparent;
    color: #374151;
    border: 2px solid var(--color-primary-background);
}

.cta-btn:first-child:hover {
    border: none;
    color: white !important;
    background: radial-gradient(var(--color-secondary-background), var(--color-primary-background));
}
.cta-btn:last-child {
    border: none;
    color: white !important;
    background: radial-gradient(var(--color-secondary-background), var(--color-primary-background));
}
.cta-btn:last-child:hover {
    border: none;
    color: white !important;
    background: var(--color-secondary-background);
}
/* Hero */
	/**/
.with-gradient:before {
    background-image: linear-gradient(to bottom, white, transparent, transparent);
}
/* CTA */
	/**/



/* HOMEPAGE Welcome */


div#welcome-wrap {
  background: #f6f8fa;
  padding: 8em 0;
  display: flex;
  align-content: center;
  justify-content: center;
}

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

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

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

.module-welcome.style-5 {
    max-width: 1600px;
    width: 90%;
}

.module-welcome.style-5 .ry-container {
    width: 100%;
}

.module-welcome.style-5 .ry-flex.gap-10 {
    align-items: center;
    justify-content: space-between;
    gap: 0 5%;
}




/* END HOMEPAGE Welcome */




/* HOMEPAGE SERVICES */

#homepage-services-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-top: 5em;
  gap: 2em;
}


#section-hp-services {
  padding-top: 0 !important;
}
#homepage-services-block .each-block.w-full {
  width: 48%;
  justify-content: center;
}
#homepage-services-block .button-svg {
  width: 45px;
  height: 45px;
  border-radius: 100%;
  display: flex;
  align-content: center;
  justify-content: center;
  background-image: linear-gradient(70deg, #2c5f8a 0%, #5183b4 49%, #2c5f8a 100%);
  margin-top: 5px;
}
#homepage-services-block .button-svg svg {
  width: 20px;
  fill: #fff;
}
#homepage-services-block .title {
  position: absolute;
  top: 20%;
  left: 0;
  width: 100%;
  text-align: left !important;
  padding-left: 50px;
}
#homepage-services-block .title >div, #homepage-services-block .title >div >div {
  font-size: 23px;
  text-transform: uppercase;
  color: #6b7280;
  font-weight: 400;
  font-family: "Didact Gothic";
  text-align: left !important;
}

.link a, .link {
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: transparent !important;
}




/*END HOMEPAGE SERVICES*/






/* Meet the Team */


#section-hp-team {
  background-image: url(https://www.royacdn.com/unsafe/smart/Site-e78d11aa-a763-465d-86ea-86512e818ef1/images/meet_our_doctors_bg.jpg);
  background-size: cover;
  background-position: center;
  padding: 8em 0 !important;
}
#section-hp-team h2, #section-hp-team p {
  color: #fff;
	line-height: 1.7;
}
#section-hp-team .ry-btn {
  margin: 3em auto 0;
  display: block;
  background: #fff;
  color: var(--color-primary-background);
  min-width: 240px;
  font-size: 22px;
}

#section-hp-team .ry-btn {
  background: #fff !important;
  margin: 2em auto 0;
  float: none;
  display: block !important;
  color: var(--color-primary-background) !important;
  max-width: 250px;
}

#section-hp-team h6, #section-hp-team {
  color: #fff;
}
#section-hp-team h6 {
  font-size: 23px;
  font-weight: bold;
}
#section-hp-team .text-xs {
  font-size: 20px;
}

.homepage-team-swiper img {
  width: 100%;
  height: 200px;
  max-width: 200px;
  border-radius: 0;
  object-position: center;
}
.homepage-team-swiper #swiper-wrapper-c5483690eea084a3 {
  display: flex;
  justify-content: center;
}
#section-hp-team .homepage-team-swiper {
  max-width: 900px;
}

/* END  Meet the Team */




/* Shining aLight on Autism */


div.homepage-light-on-autism {
  padding: 10em 0;
  background: #f6f8fa;
}
div.homepage-light-on-autism .ry-text p {
  font-size: 22px;
  line-height: 1.7;
  color: #6b7280;
  margin: 35px 0;
}
div.homepage-light-on-autism h2 {
  text-align: left;
}
#with-image-text {
  align-content: center;
  display: flex;
  justify-content: space-between;
  gap: 0 5%;
}
#with-image-text #with-text {
  width: 60%;
  max-width: 950px;
  align-content: center;
  justify-content: center;
}
#with-image-text #with-image {
  width: 40%;
  display: flex;
  justify-content: flex-end;
}


@media (max-width:1080px) {
  
  div#with-image-text {
    flex-direction: column;
  }
  
  div#with-image-text h2, div#with-image-text p {
    text-align: center !important;;
  }
 
  div#with-image-text #with-text, #with-image-text #with-image {
    width:100% !important;
  }
  
  div#with-image-text #with-image {
	  justify-content: center;
	  padding-top: 40px;
	}

  div#with-image-text .ry-btn {
  margin: 1em auto 0;
	  float: none;
	  display: block !important;
	}
	div.homepage-light-on-autism {
	  padding: 4em 0 !important;
	}
	.custom-headline h2 {
	  font-size: 35px;
	  line-height: 1.1 !important;
	}
}


@media (max-width:767px) {
	
	 .module-welcome.style-5 .ry-each .ry-text p, .ry-btn, #section-hp-team p, div#with-image-text p, div.module-testimonials p {
		font-size:18px !important;
		line-height: 1.7 !important;
	  }
	
		div.module-testimonials p {
		padding: 0 2em;
	}
}

/*END Shining aLight on Autism*/




/*TESTIMONIALS*/


div.module-testimonials p {
    font-size: 22px;
    line-height: 1.7;
    color: #6b7280;
    padding: 0 13%;
}

div.module-testimonials {
  background: url(https://www.royacdn.com/unsafe/smart/Site-e78d11aa-a763-465d-86ea-86512e818ef1/Assets/testimonials_bg.jpg);
  background-size: cover;
  background-position: center;
  padding: 7em 0;
  display: flex;
  align-content: flex-end;
}


div.module-testimonials .ry-container {
  margin: auto;
  width: 100%;
	z-index: 1;
}

div.module-testimonials .rev-text:before {
    content: '';
    background: url(https://www.royacdn.com/unsafe/smart/Site-e78d11aa-a763-465d-86ea-86512e818ef1/Assets/rev_quote_icon.png);
    position: absolute;
    left: 0;
    height: 70px;
    width: 70px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

div.module-testimonials .rev-text {
    margin: 2em auto;
}

div.module-testimonials .rev-text:after  {
    content: '';
    background: url(https://www.royacdn.com/unsafe/smart/Site-e78d11aa-a763-465d-86ea-86512e818ef1/Assets/rev_quote_icon_after.png);
    position: absolute;
    right: 0;
    left:initial;
    height: 70px;
    width: 70px;
    background-size: contain;
    background-repeat: no-repeat !important;
    bottom: 50%;
    top:initial;
}

div.module-testimonials .ry-content {
  max-width: 850px;
  float: right;
}
div.googe-rev-block {
  display: flex;
  margin-top: 4em;
  background: #fff;
  padding: 2em;
  box-shadow: 1px 1px 9px hsl(0deg 0% 0% / 10.98%);
  align-content: center;
  justify-content: space-between;
}
div.googe-rev-block img {
  max-width: 65px;
  object-fit: contain;
}
div.module-testimonials div.icon-wrap {
  width: 50%;
  display: flex;
  gap: 0 25px;
}
div.module-testimonials .rev-stars {
  display: flex;
  align-content: center;
  justify-content: center;
  gap: 0 5px;
}
div.module-testimonials .rev-name-stars p {
  text-align: left;
}
div.module-testimonials .rev-stars svg {
  fill: #eba029;
}
div.module-testimonials .swiper-button-next svg, div.module-testimonials .swiper-button-prev svg {
  opacity: 1;
  fill: #fff !important;
  width: 20px;
}
div.module-testimonials .swiper-button-next, div.module-testimonials .swiper-button-prev {
  background: linear-gradient(70deg, #2c5f8a 0%, #5183b4 49%, #2c5f8a 100%) !important;
  position: static;
  display: flex;
}
div.module-testimonials .swiper-nav {
  display: flex;
  align-content: center;
  justify-content: space-between;
  gap: 0 10px;
  position: relative;
  top: 45%;
}


@media (max-width:1080px) {
    div.module-testimonials .ry-content {
    float: none;
    max-width: 100%;
  }
	
	div.module-testimonials .rev-text::before, div.module-testimonials .rev-text::after {
	  width: 40px !important;
	  height: 40px !important;
	}

    div.module-testimonials {
    background-position: 10%;
    position: relative;
    padding: 4em 0;
  }
  div.module-testimonials:before {
    content: '';
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
	  opacity: 0.8;
  }
	
	div.module-testimonials .custom-headline h2 .span-1 {
	  color: var(--color-primary-background);
	}

}


@media (max-width:767px) {
	div.googe-rev-block {
	  flex-direction: column;
	}
	div.module-testimonials .swiper-nav {
	  top: 0 !important;
	  justify-content: Center;
	  margin-top: 2em;
	}


	div.module-testimonials div.icon-wrap {
	  top: 0 !important;
	  justify-content: Center;
	  margin-top: 2em;
	}
	div.module-testimonials div.icon-wrap {
	  width: 100%;
	  margin-top: 0;
	}
	
	div.module-testimonials div.icon-wrap {
	  gap:0 10px;
	  width: 100%;
	  align-content: center;
	}
	div.module-testimonials .rev-stars svg {
	  width: 18px;
	}
	.rev-name-stars {
	  width: 50%;
	}
	div.module-testimonials .rev-stars {
	  justify-content: flex-start;
	}
	div.module-testimonials .rev-name-stars p {
	  padding: 0;
	}
}


/*END TESTIMONIALS*/




/* HOMEPAGE CONTACT */

div.homepage-contact-section {
  background: #f6f8fa;
  padding: 8em 0;
}
#hp-map-form {
  box-shadow: 1px 1px 8px hsl(0deg 0% 40% / 14%);
}
#hp-map-form .ry-each {
  width: 50%;
  position: relative;
  display: flex;
  align-content: center;
  justify-content: center;
}
#with-form {
  background: #fff;
}
div.homepage-contact-section .ry-form {
  width: 80%;
  margin: auto;
  clear: both;
  padding: 5em 0;
}
.form-group .form-control {
  height: 60px;
  border-radius: 0;
  font-size: 20px;
  line-height: 25px;
  color: #6b7280;
  border: 1px solid #66666682;
}
#hp-map-form .grid.gap-4.lg\:gap-6 {
  gap: 15px 0;
}
#hp-map-form #apt_details {
  height: 180px;
}
#hp-map-form .text-sm.text-gray-400 {
  font-size: 20px;
  line-height: 1.7;
  color: #6b7280;
}

#hp-map-form #form-btn {
  margin: 1em auto 0;
  display: block !important;
  float: none;
}
#hp-map-form #privacy_agree {
  height: 20px;
  width: 20px;
  border-radius: 0;
  position: relative;
  top: 9px;
}

#hp-map-form #with-map img {
  object-fit: cover;
}

@media (max-width:1080px) {
  #hp-map-form .ry-each {
    width:100% !important;
	  }
	
	div.homepage-contact-section {
		padding: 4em 0 !important;
	}

	  #hp-map-form {
		flex-direction: column;
	}

	  #hp-map-form #with-map img {
	  height: 450px;
	  width: 100%;
		max-width: 450px
	}

	  #hp-map-form #with-map {
	  background: #f7f7f7;
	}
}


/* END HOMEPAGE CONTACT */




/*Media Queries*/

@media (max-width:1080px) {
	div#welcome-wrap {
		  padding: 0;
	}
	
	div.mobile-services {
		margin-top: 2em;
	}
	
	#homepage-services-block {
	  display: none;
	}
	
	#homepage-services-block {
	  display: none !important;
	}
	
	#section-hp-team {
		padding: 4em 1em !important;
	}

	#section-hp-team h6 {
		margin-top: 1em;
	}

	.homepage-team-swiper img {
		max-width: 250px;
		height: auto;
	}
	
	
	.snap-mobile-menu img {
		max-height: 30px !important;
	}



}


@media screen and (max-width:1024px){
    body[data-page-name="index"] #navigation {
        position: relative;
    }
    .with-gradient:before {
        opacity: 0;
    }
    
    #hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img {
        height: 100% !important;
    }
	.module-welcome.style-5 {
		padding: 6.6vh 0;
	}
}



@media (max-width:500px) {
	
	div.snap-mobile-menu.flex .gap-6 {
		gap: 0 10px;
	}

	div.snap-mobile-menu img {
		max-height: 25px !important;
	}
	
}


/* End - HP Edits*/

/**OFFICE IMAGES **/
.gallery-container .ry-each img {
    cursor: pointer;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    display: inline-block;
}
.gallery-container .lightbox-trigger .ry-each {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.gallery-container .lightbox-trigger .ry-each > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}
.gallery-container .lightbox-trigger {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	grid-auto-rows: 200px;
	grid-auto-flow: dense;
}
.gallery-container .lightbox-trigger .ry-each.tall {
	grid-row: span 2;
}
/**END OFFICE IMAGES **/

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