body, body p, body div{font-family: Lora !important;font-weight: 400 !important; }
h1,h2,h3,h4,h5,h6{font-family: Cormorant Upright, sans-serif !important;font-weight: 400 !important;}
b, strong {font-weight: bold !important;}
@media (max-width: 991px) {}
@media only screen and (max-width: 768px){
	.swiper-slide {width: 100% !important;}
	.testimonials-wrapper .testimonials-block .carousel-control {display: none;}
	.carousel-control.left, .carousel-control.right {background-image: unset; background-image: unset;background-repeat: unset;}
	.carousel-control, .carousel-control:hover, .carousel-control:focus {color: #FFFFFF;}}
#services-box a{ margin:0 auto;}
#articles .ry-btn-primary, 
#articles .ry-btn-primary:after {color: #FFFFFF;}
#articles .ry-btn-primary:hover, 
#articles .ry-btn-primary:hover:after {color: #FFFFFF;}

.ry-btn:after {display:none;}
.btn, .ry-btn, .ry-btn-primary, .ry-btn-secondary {font-family: 'Lora';z-index:99;}
.ry-btn-primary:hover {background: #000000 !important;color: #FFFFFF !important;}
.ry-btn.ry-btn-secondary{color: #FFFFFF !important;background: #000000 !important;}
.ry-btn.ry-btn-secondary:hover {background: #78a8cd !important;color: #FFFFFF !important;box-shadow: unset !important;}
/*.cmsForm .has-error input {border: 1px solid #ff0069;}*/

.btn-img {z-index: 999;}

.btn, .ry-btn, .ry-btn-primary {
    border-radius: 0;
    font-size: 18px !important;
    text-transform: uppercase;
    background: var(--color-primary) !important;
    font-weight: 300 !important;
    letter-spacing: 1px;
		    min-width: 250px;
}


a#welcome-btn {
    margin-top: 2em;
    padding: 15px 35px;
}



.ry-anchor-hidden { display: block; position: relative; top: -200px; visibility: hidden;}
.full-link, .full-link a { position: absolute; inset: 0; color: transparent;}
.full-link:hover a { color: transparent; }
#ry-pg-body .owl-carousel .owl-item img {filter: unset;}
.HOLDsp-slides-container {height: calc(100vh - 120px) !important;}
li.third-level-container:not(.third-level a):after {
    content: '\f105';
    font-family: fontawesome;
    color: #fff;
    position: relative;
    top: 12px;
    right: 12px;
}

.page-anchor {
  display: block;
  position: relative;
  top: -143px;
  visibility: hidden; 
  
}

.ry-form input:not(input[type="checkbox"], input[type="radio"])
	height: 50px !important;
}


.ry-btn {
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    padding-right: 30px;
    max-width: max-content;
    color: #FFFFFF !important;
    background: #78a8cd!important;
    font-size: 20px !important;
	text-transform: uppercase;
}

.ry-heading h4 {
  font-size: 22px;
  color: #666;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  font-family: var(--font-default) !important;
  margin-bottom: 10px;
}

.ry-heading h2 {
  color: var(--color-secondary);
  font-size: 60px;
  text-transform: uppercase;
  font-weight: 600 !important;
  line-height: 1.1;
}

@media (max-width: 1080px) {
	.ry-list-wrp .ry-list-item .ry-list-photo img {
		margin: auto;
	}

	.mobile-container .flex-wrap .flex-item.right-nav .mobile-button a {
    background: var(--color-primary) !important;
}


	.ry-list-wrp .ry-list-item .ry-box-right * {
		text-align: center;
	}

	.ry-list-wrp .ry-list-item .ry-box-right .col-xs-12 {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 30px;
		margin-bottom: 20px;
	}
}




	
/*HOMEPAGE INVISALIGN*/
	
div.hp-invisalign-section .ry-container {
  max-width: 1500px;
  width: 90%;
}

div#invisalign-content-top .ry-heading h2 {
    margin-bottom: 20px;
}

div.hp-invisalign-section #invisalign-content-top {
  background: url(https://www.royacdn.com/unsafe/smart/Site-678a8e4d-4267-4bc1-b116-da16504be405/hp_assets/invisalign_bg.png);
  padding: 0;
  background-size: cover;
  border-radius: 50px;
  height: 800px;
  display: flex;
  align-items: center;
  margin-top: -15em;
}

div#invisalign-content-top .ry-heading h2 {
    margin-bottom: 20px;
}


div.invisalign-logo-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0 7%;
  align-items: center;
  margin-top: 2em;
}
.invisalign-logo-section img {
  max-width: 250px;
}
div.hp-invisalign-section #invisalign-content-top .section-inner-box {
  max-width: 47%;
  position: relative;
  left: 7%;
  top: 0;
}
div.hp-invisalign-section {
  background: #fff;
  padding-bottom: 10em;
}
#dental-cases {
  padding: 8em 0;
}
.invisalign-treatment {
  margin: 2em auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2em 0;
  justify-content: space-between;
}
.invisalign-treatment h4 {
  color: var(--color-secondary);
  font-family: var(--font-default) !important;
  font-size: 25px !important;
	  text-transform: capitalize;
}

.dental-case-box img {
    max-width: 380px;
    margin: 0 auto 1em;
}

#korr-section #with-image-content {
  align-items: center;
  justify-content: space-between;
  gap: 0 10%;
}

div#korr-section .ry-heading h2 {
    margin-bottom: 20px;
}

div#korr-section {
    position: relative;
    padding: 0;
}

div#korr-section:before {
    content: '';
    background: url(https://www.royacdn.com/unsafe/smart/Site-678a8e4d-4267-4bc1-b116-da16504be405/hp_assets/footer_shadow.png);
    content: '';
    width: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 0;
    position: absolute;
    top: 50%;
    left: 36%;
    transform: translate(-50%, -50%);
    height: 449px;
}

@media (max-width:1199px) {
	div.hp-invisalign-section #invisalign-content-top {
		margin-top: 0 !important;
		height: auto !important;
		padding: 2em  !important;
	}

	div.hp-invisalign-section #invisalign-content-top .section-inner-box {
		max-width: 100% !important;
		left: 0 !important;
	}


	div.hp-invisalign-section #invisalign-content-top {
		background: #e7f6fd;
		border-radius: 40px;
	}

	div.hp-invisalign-section {
		padding: 2em 0 4em;
	}

	div.hp-invisalign-section .ry-text p {
		text-align: center !important;
	}

	div.invisalign-logo-section {
		justify-content: center;
		gap: 0 4% !important;
		flex-wrap: wrap;
	}

	.invisalign-logo-section img {
		max-width: 153px;
		width: 48%;
	}
	 div#dental-cases {
		padding: 3em 0 !important;
	}

	.invisalign-treatment .dental-case-box {
		width: 30%;
	}

	.invisalign-treatment {
		gap: 2em;
	}

	.invisalign-treatment .dental-case-box img {
		max-width: 200px;
	}

	.invisalign-treatment h4 {
		font-size: 20px !important;
		line-height: 1.1;
	}

	.invisalign-treatment h4 div#with-image-content {
		flex-direction: column !important;
		gap: 2em 0 !important;
	}
	#korr-section #with-image-content {
		flex-direction:column;
		gap: 2em 0 !important;

	}

	#korr-section #with-image-content img {max-width: 250px !important;margin: auto;}

	div#korr-section:before {
		display: none;
	}

	div#korr-section p {
		text-align: center !important;
	}
}

@media (max-width:768px) {
	.invisalign-treatment .dental-case-box {
		width: 44%;
	}

	.invisalign-treatment .dental-case-box img {
		max-width: 150px;
	}

	.invisalign-treatment h4 {
		font-size: 18px !important;
	}
	
	.invisalign-treatment {
		justify-content: center !important;
		gap: 2em !important;
	}
	
}



/* END HOMEPAGE INVISALIGN */
	
	



	
/* HOMEPAGE MAP SECTION */


.map-block, .map-block img {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    object-fit: cover;
    object-position: center;
    height: 100%;
}

.hp-map-section {
    padding: 0;
}

.hp-map-section .ry-form.ry-form-box {
    border-radius: 40px;
    padding: 5em;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    margin: 0;
}

.hp-map-section .ry-form.ry-form-box label.control-label.inline {
    line-height: 20px;
    font-style: italic;
    font-size: 15px;
}

.hp-map-section input#submit-btn {
    min-width: 300px;
    margin: 10px 0 0;
}

.hp-map-section .ry-form.ry-form-box input[type="text"], 
.hp-map-section .ry-form.ry-form-box textarea {
    text-transform: uppercase;
}

.hp-map-section .ry-container {
    max-width: 1400px;
    width: 90%;
}

.hp-map-section .ry-content {
    max-width: 700px;
    position: relative;
    top: 6em;
    z-index: 1;
}

.hp-map-section .ry-form.ry-form-box .ry-heading h2 {
    margin-bottom: 30px;
}

@media (max-width:1199px) {
	.map-block, .map-block img {
		height: 400px !important;
		position: static !important;
		max-width: 700px !important;
		object-position: right;
		border-radius: 20px;
		margin: 0 auto 2em;
		float: none;
	}

	.hp-map-section .ry-content {
		top: 0;
		margin: auto;
		float: none;
	}

	.hp-map-section .ry-form.ry-form-box {
		padding: 2em !important;
	}


	div.hp-map-section {
		padding: 2em 0 !important;
	}

}

/* END HOMEPAGE MAP SECTION */






/* HOMEPAGE TESTIMONIALS */

div.homepage-reviews-slider .slick-dots {
  display: none !important;
}

#rev-stars {
  max-width: 120px !important;
  margin: 0 auto 5px;
}
.rev-text {
  margin: 1em 0 1.1em;
  color: var(--color-secondary);
  line-height: 1.7;
  text-align: center;
}
.rev-text p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  line-height: 1.5;
}
div.inner-rev-block {
  background: #fff;
  border-radius: 30px;
  padding: 0 2em;
  box-shadow: 1px 1px 11px rgb(8 1 1 / 17%);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid hsl(0deg 0% 40% / 15%);
}

.rev-name p {
    text-align: center;
    color: #000;
    font-weight: 600 !important;
}


div.homepage-reviews-slider .slick-prev.slick-arrow, div.homepage-reviews-slider .slick-next.slick-arrow {
 position: absolute;
 bottom: 50%;
 background: transparent;
 border-radius: 0;
 color:transparent;
 width:40px;
 height: 40px;
}

div.homepage-reviews-slider .slick-next.slick-arrow:before {
  content: '';
  background: transparent;
  width: 25px;
  height: 25px;
  position: absolute;
  right:0;
  left:-3px;
  margin: auto;
  top: 0;
  bottom: 0;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(43deg);
}


div.homepage-reviews-slider .slick-prev.slick-arrow:before {
  content: '';
  background: transparent;
  width: 25px;
  height: 25px;
  position: absolute;
  right:0;
  left:7px;
  margin: auto;
  top: 0;
  bottom: 0;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(-135deg);
}

div.homepage-reviews-slider .slick-next.slick-arrow {
  right: -5%;
  left: initial;
}

div.homepage-reviews-slider .slick-prev.slick-arrow {
  left: -5%;
}

div.inner-rev-block:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content:'';
    width: 97%;
    height: 97%;
    border:1px solid rgb(0 0 0 / 83%);
    border-radius:20px;
}


div.homepage-reviews-section {
  padding: 16em 0 6em;
  background: url(https://www.royacdn.com/unsafe/smart/Site-678a8e4d-4267-4bc1-b116-da16504be405/hp_assets/testimonials_bg.jpg);
  background-size: cover;
  background-position: bottom center;
}

#rev-btn {
  margin: 3em auto 0;
  min-width: 300px;
  text-align: center;
  justify-content: center;
}

#rev-btn:hover {
    background: var(--color-secondary) !important;
}

.homepage-reviews-slider {
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  margin: 3em auto 0;
  float: none;
  width: 90%;
}


.homepage-reviews-slider .slick-slide {
  margin: 0 15px;
  height: 450px;
}

.homepage-reviews-slider .slick-list {
  margin: 0 -20px;
}

.homepage-reviews-slider .slick-slide img:not(#rev-stars) {
  max-width: 50px !important;
  margin: 0 auto -10px;
}


.module-testimonials.option-1 .content {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.module-testimonials.option-1 .custom-headline h2, .module-testimonials.option-1 .custom-headline h2 .span-1 {
    text-align: left;
}


.module-testimonials.option-1 .custom-headline h2 .span-1 {
    margin-bottom: 20px;
}

.module-testimonials.option-1 .testimonials-wrapper .testimonials-block {
    padding: 0;
}


.module-testimonials.option-1 .carousel-control.left, .module-testimonials.option-1 .carousel-control.right {
  opacity: 1;
}

.module-testimonials.option-1 .testimonials-wrapper .testimonials-block .comment .ry-name .star-wrapper {
    justify-content: center;
}

.testimonials-wrapper .carousel-indicators li {
    background: var(--color-primary)
	  width: 40px !important;
}

.testimonials-wrapper .carousel-indicators li:not(.active) {
    opacity: .2;
}

.testimonials-wrapper .carousel-indicators {
    text-align: left;
    padding-left: 0 !important;
    bottom: 0 !important;
    display: none !important;
}

.testimonials-wrapper .comment {float: none;max-width: 900px;margin: 1em auto 0;}



.testimonials-wrapper .ry-multi-item-slider {
    padding: 0;
}

@media (max-width:1660px) {
	
    div.homepage-reviews-slider .slick-prev.slick-arrow {
		left: -6% !important;
	}

	div.homepage-reviews-slider .slick-next.slick-arrow {
		right: -6% !important;
	}

	div.homepage-reviews-section {
		padding: 12em 2em 6em;
	}

	.homepage-reviews-slider .slick-slide {
		height: 550px;
	}
}


@media (max-width:1199px) {
    div.homepage-reviews-section {
		padding: 5em 1em 4em;
	}

	a#rev-btn {
		margin: 1em auto 0 !important;
	}

}

@media (max-width:768px) {
    .homepage-reviews-slider .slick-slide {
		height: auto !important;

	}

	div.inner-rev-block {
		padding: 2em 1em;
	}

		div.homepage-reviews-slider .slick-next.slick-arrow:before {
		width: 15px;
		height: 15px;
		left: initial;
		right: -4px;
	}

		div.homepage-reviews-slider .slick-prev.slick-arrow:before {
		width: 15px;
		height: 15px;
		right: initial;
		left: -4px;
	}
}


/*END  HOMEPAGE TESTIMONIALS */





/*RESPONSIVE*/


@media (max-width:1600px) {	

	.module-66 .bnr-textbox .ry-heading h1, .ry-heading h2 {
		font-size: 60px;
	}	
	
}


@media (min-width:1200px) and (max-width:1660px) {
	
    .ry-heading h2 {
		font-size: 50px !important;
	}

	img#welcome-logo {
		max-width: 400px !important;
	}

	div.dental-case-box img {
		max-width: 280px;
	}

	div#korr-section img {
		max-width: 350px;
		margin: auto;
	}

	div.hp-invisalign-section #invisalign-content-top {
		height: 720px;
	}

	div.invisalign-logo-section img {
		max-width:180px;
	}

}


@media (max-width:1199px) {
	
	.ry-heading h2, .ry-heading h4 {
			text-align: center !important;
	}

}

@media (max-width:1080px) {
	
	div.ry-section-hero:after {
		background: transparent;
		display: none;
	}

	nav#mobile_menu, div#menu_container {
		background: var(--color-primary) !important;
	}

	.module-66 .carousel .carousel-inner {
		padding-bottom: 0;
		background-image: none !important;
		height: auto !important;
	}

	.module-66 .bnr-textbox {
		position: static;
		background: #fff;
		padding: 2em 0 3em !important;
	}

	.module-43 .ry-right .ry-menu .nav-menu li .dropdown-menu li:hover {
		background: var(--color-primary) !important;
	}

	.module-67 {
		padding: 4em 0;
		border-top: 1px solid hsl(0deg 6.67% 2.94% / 8%);
	}

	.module-66 .ry-el-bg img {
		display: block !important;
		object-fit: cover;
		height: auto !important;
		object-position: top center;
		visibility: visible !important;
	}

	.module-66 .carousel-inner:before {
		display: none;
	}

	.module-66 .ry-el-bg {
		height: auto !important;
		background-image: none !important;
	}

	.module-66 .bnr-textbox .ry-heading h1 {
		font-size: 35px;
		color: var(--color-primary) !important;
		font-weight: 700 !important;
	}

	.module-66 .bnr-textbox .ry-heading h4 {
		font-size: 18px;
		line-height: 25px;
		margin-bottom: 1em;
		color: #333;
		font-weight: 400 !important;
	}

	.ry-heading h2 {
		font-size: 35px;
		
	}

	.ry-heading h4 {
		font-size: 18px;
		font-weight: 400 !important;
		margin-bottom: 10px;
		
	}
	
	 #ry-pg-banner .ry-bnr-wrp:after {
		background: linear-gradient(45deg, #78a8cd, rgb(120 168 206));
	}
}

@media (max-width:500px) {
	
	.module-66 .ry-el-bg img {
		height: 300px !important;
		object-position: bottom !important;
	}
	
	.hp-map-section input#submit-btn {
		min-width: 200px !important;
		font-size: 16px !important;
	}

	.footer.style-3 .footer-top .ry-each .ry-btn {
		font-size: 16px !important;
	}

	a#welcome-btn {
		font-size: 16px !important;
	}
}

.footer.style-3 .footer-top .ry-each #footer-social.details::before {
		display: none;
}
	


/* END RESPONSIVE*/


:root {
    --color-primary: #78a8cd;
    --color-secondary: #000000;
    --font-default: Lora;
    --font-title: Cormorant Upright;
    
}

	