/* Before adding any unnecessary CSS rules, please check out the Snap documentation at https://bit.ly/3PqSii8. */
/* Override Styles */
[x-cloak] { display: none !important; }
.service-style-1 h2 {
	margin: 10px 0;
}
#in-services-style-2.squares .ry-each:before, #in-services-style-2.squares .ry-each img {border-radius: 0;}
.testimonials-swiper p,
.testimonials-swiper-2 p{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4
}
/* Match interior body copy to homepage size on tablet/desktop */
@media (min-width: 768px) {
	#contents .text-base.leading-6.text-gray-600 {
		font-size: 1.25rem;    /* 20px */
		line-height: 1.75rem;  /* 28px */
	}
}

.title-bg {
	margin-bottom: -100px;
}

.title-bg:before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(https://s3.amazonaws.com/static.organiclead.com/Site-9019337c-23f4-401d-9b11-a1505e2b607c/Assets/apart_title_bg_v2.jpg);
	background-size: cover;
	width: 94%;
}

.title-bg .main-title {
    position: relative;
    z-index: 9;
}

.mm-navbar {
	color: #ffffff;
}

.homepage-swiper h2 {
	text-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
	letter-spacing: 4px;
	font-size: clamp(2.5rem, 1.8627rem + 2.6144vw, 5rem);
	line-height: 120%;
	text-transform: uppercase !important;
}
.homepage-swiper h2 span {
    display: block;
}

#ry-pg-body :is(.navigation-3) {
	position: relative !important;
}

.mm-navbar__title > span {
	color: #fff;
}

nav#menu-style-4 * {
	text-transform: uppercase;
	font-size: 14px;
}
.mm-navbar__title>span {
    -o-text-overflow: unset;
    text-overflow: wrap;
    white-space: wrap;
    overflow: hidden;
    text-align:start
}
@media (min-width: 1024px) {
	.navigation-3.fixed > .block.lg\:absolute.inset-0 {
		position: relative;
	}
	.ry-menu .ry-nav li.primary {
		margin-top: 0px;
	}
}

@media (max-width: 1440px) {
	div#navigation-style-4.container {
		max-width: 100%;
		width: 90%;
	}
}

div#navigation-style-4 {
	max-width: 100%;
	width: 90%;
}

body#page div#navigation-style-4 {
	background: transparent;
	box-shadow: none;
}

div#navigation.navigation-4.bg-White99 div#navigation-style-4 {
	background: transparent;
	box-shadow: none;
}

body#ry-pg-body div#navigation {
	position: static;
}

#navigation-style-4  .max-w-\[240px\]{
	max-width: 420px;
}

@media (max-width: 1200px) { 
	div#navigation-style-4 {
		max-width: 90%;
	}
	.ry-menu .ry-nav {
		gap: 20px !important;
	}
	div#navigation-style-4 .cursor-pointer img {
		max-width: 260px;
	}
}
@media (max-width:767px) {

	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}

	.homepage-swiper .slider-info {
		max-width: 100%;
		text-align: center;
		position:static !important;
	}

	.homepage-swiper .slider-info .mb-4 {
		margin-bottom:0 !important;
	}

	.homepage-swiper .homepage-swiper {
		margin-top: 0em;
	}

	.homepage-swiper .swiper-slide {
		padding-top:0em
	}

	.homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
	.homepage-swiper .slider-info {
		padding-bottom: 50px;
	}
}

@media (max-width: 500px) {

	.snap-mobile-menu img { 
		max-height: 55px;
	}

	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}
}

.homepage-swiper .swiper-slide img {
	object-position: center 30%;
}

@media (max-width: 1080px) {
	.homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
	.slider-info {
		width: 100% !important;
		max-width: 100% !important;
	}
	.slider-info {
		width: 100%;
		max-width: 100%;
	}
	.homepage-swiper h2 {
		text-align: center !important;
	}
	#navigation-style-3,
	.navigation-3 .hidden.lg\:flex,
	.homepage-video-slider::before {
		display: none !important;
	}
}

@media (min-width: 1081px) {
	.homepage-video-slider {
		max-height: 100vh;
		overflow: hidden;
	}
	.homepage-video-slider::before {
		background: linear-gradient(to bottom, white 14%, transparent, transparent);
		opacity: 1;
		height: 50%;
	}
	.homepage-video-slider .text-xl h2,
	.homepage-video-slider .block p {
		text-shadow: 2px 2px 4px rgb(0 0 0 / 30%);
	}
}

#ry-footer ul {
	line-height: 2;
}

.slider-info-center-bottom {
	max-width: 100% !important;
}

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

/*@media(max-width:1680px) {
#navigation-style-4 .flex.flex-col {
flex-direction:column;
justify-content:center;
align-items:end;
gap:10px
}
}*/

/*--- HP SLIDER UPDATE ---*/


#hp-slider .slider-info {
	bottom:20px
}
#hp-slider .slider-info h1{
	font-size: clamp(2.5rem, 1.5441rem + 3.9216vw, 6.25rem);
	font-weight:400;
	line-height:1.2 !important
}

#hp-slider .slider-info h1 span {
	font-size: clamp(1.5rem, 1.4573rem + 0.2439vw, 1.75rem);
	display:block;
	width:fit-content;
	margin-inline:auto
}


@media(min-width:767px) {
	.homepage-swiper .swiper-slide .with-gradient::after { display: none;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 35%; 
		background: linear-gradient(to top, rgb(63 131 173) 0%, rgba(0, 0, 0, 0) 100%);
	}

	.homepage-swiper .swiper-slide {
		position: relative;
	}

	.homepage-swiper .swiper-slide img {
		display: block;
		width: 100%;
		height: auto;
	}

}
@media(max-width:991px) {
	#hp-slider .slider-info h1{
		font-size: clamp(2.1875rem, 1.7819rem + 1.6639vw, 2.8125rem);
	}
	#hp-slider .slider-info h1 span {
		margin-top:5px
	}
}

.ry-menu .ry-nav {
	margin-top: 8px;
	flex-wrap:nowrap
}

.swiper.homepage-team-swiper-2 {
	background: #f9f9f9;
	border-radius: 40px;
	overflow: hidden;
	padding-bottom: 70px;
	padding-top: 50px;
}
.mm-navbar {
	color: #ffffff;
}

.cta-btn.btn-transparent {
	background: transparent !important;
	color: #333;
	padding-left: 24px;
	border-right: 1px solid #9e9e9e !important;
	border-radius: 0 !important;
}

.cta-btn.btn-transparent span.cta-icon {
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	margin-right: 2px;
}

.cta-btn.btn-transparent span.cta-icon i.bi.bi-eyeglasses {
	font-size: 30px;
}

.cta-btn.btn-transparent:hover {
	color: var(--color-secondary-background) !important;
		}

.cta-btn.btn-transparent span {
	font-size: 20px;
	font-weight: 600 !important;
	display: block;
	margin-top: 5px;
	min-width: auto;
}
.cta-btn.btn-transparent a {
	width: auto;
}

.cta-btn.btn-transparent span {
	font-size: 20px;
	font-weight: 600 !important;
	display: block;
	margin-top: 5px;
}
.cta-btn.btn-transparent:nth-child(3) {
	border: 0 !important;
}

.cta-btn a:not(.cta-btn.btn-transparent a) {
	width: auto;
	font-size: 15px;
	font-weight: 400 !important;
}
.cta-btn a span {
	display: block;
	font-size: 12px;
	margin-bottom: 2px;
	letter-spacing: 2px;
	font-weight: 700 !important;
}

.cta-section .ry-btn {
	margin-inline: auto !important;
}
.homepage-swiper {
	background: linear-gradient(to top, var(--color-primary), white);
}

#hp-slider .slider-info {
    z-index: 9 !important;
}

.cta-custom.cta-section {
    position: relative;
	padding-bottom: 80px;
	
}

.cta-collection {
    background: url(https://s3.amazonaws.com/static.organiclead.com/Site-9019337c-23f4-401d-9b11-a1505e2b607c/Assets/cta_collect_bg.jpg);
    background-size: cover;
	position: relative;
}

.cta-collection .group {
	background: transparent;
    border: none;
}

.cta-collection .group:hover:before {
	height: 100%;
	width: 100%;
	opacity: 1;
	transition: all .3s ease;
}
.cta-collection h3 span {
    color: #afd4ea;
}

@media (max-width: 1440px) {
	body#page div#navigation-style-4 {
		padding: .75em 1em !important;
		background: #f7f3ee !important;
		border-radius: 500px !important;
		margin-top: 1.5em !important;
		box-shadow: 20px 2px 50px rgb(0 0 0 / 10%) !important;
		gap:14px !important
	}
	body#page .cta-btn.ry-btn-primary, body#page .cta-btn.ry-btn-secondary {
		padding-right: 14px !important;
	}
	div#navigation.navigation-4.bg-White99 div#navigation-style-4 {
		margin-top: 0px !important;
		background: unset !important;
		box-shadow:unset !important
	}
}

@media (max-width: 1300px) {
	div#navigation-style-4 {
		display: none;
	}
	.snap-mobile-menu.flex.lg\:hidden {
		display: flex;
	}
}
@media (max-width: 1080px) {
	div#hp-slider {
		padding-top: 100px;
	}
}

@media (max-width: 1300px) {
    .service-wrapper .each-block .each-wrapper .text h4 {
        font-size: 24px !important;
    }
}

.welcome-text {
	/*background: url();*/
    background-size: cover;
    background-position: center bottom;
}

/*.welcome-text:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, var(--color-primary), transparent);
}*/

/*.welcome-text p {
    color: #fff;
}*/

/** Team Style Start **/

div#section-hp-team .swiper.homepage-team-swiper h6 {
    letter-spacing: 1px;
    font-size: clamp(1.5rem, 1.4074rem + 0.4938vw, 2rem);
	color: #ffffff;
}

div#section-hp-team .swiper.homepage-team-swiper p {
    color: #ffffff;
    text-transform: uppercase;
    margin-top: 6px;
}

#section-hp-team .homepage-team-swiper .swiper-slide {
    position: relative;
}

#section-hp-team .homepage-team-swiper .swiper-slide:before {
    content: "";
    position: absolute;
    height: 50%;
    inset: 0;
    top: unset;
    background: linear-gradient(to top, #00000099, transparent);
}

@media (max-width: 1024px) {
	div#section-hp-team .mx-auto .md\:text-center.text-gray-500>p {
		text-align: center !important;
	}
	.homepage-team-swiper .text-gray-800 {
		font-size: 20px;
	}
	.homepage-team-swiper .text-gray-600 {
		font-size: 16px;
	}
}


@media (min-width: 1024px) {
	div#section-hp-team .main-title h2,
	div#section-hp-team .sub-title h4 {
		text-align: center;
	}
}

div#section-hp-team .team-style .hp-team {
    width: calc(420px - 120px);
	display: block !important;
}

@media (max-width: 1599px) {
	div#section-hp-team .team-style .hp-team {
		width: calc(320px - 60px);
	}
}

@media (max-width: 1300px) {
	div#section-hp-team .team-style .hp-team {
		width: calc(300px - 60px);
	}
}

/*div#section-hp-team span.swiper-pagination-bullet.swiper-pagination-bullet-active, div#section-hp-team span.swiper-pagination-bullet {
    background: white;
}*/

/** Team Style End **/

/* --- FAQ WRAPPER ---  */
.faq-wrapper .bg-gray-200 { 
    margin-bottom:10px;
    border-bottom:solid 2px #d3d3d3;
    border-radius:0;
    padding-block:20px;
    background:transparent;
    box-shadow:none
}
.faq-wrapper .bg-gray-200 h5 {
    font-size: 24px;
    color: #373151;
    font-weight: 400;
    font-family: var(--site-font);
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;;
    width:100%
}

.faq-wrapper .bg-gray-200 h5::after {
    content: "";
    display: inline-block;
    width: 16px;
	min-width: 16px;
    height: 16px;
    margin-right: 10px;
    background-color: #373151;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5v11M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5v11M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    vertical-align: middle;
    transition: background-color 0.3s ease;
}

.faq-wrapper .bg-gray-200:hover h5::after {
    background-color: var(--primary-color);
}
.faq-wrapper .bg-gray-200:has([style*="max-height:"]) h5::after {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.faq-wrapper .bg-gray-200:has([style*="max-height:"]) {
    border-radius: 10px;
    background-color: #f0dcd2;
    border:0
}
.faq-wrapper .bg-gray-200 .py-6 {
	padding-block:10px
}
.faq-wrapper .bg-gray-200 P {
	padding:0;
	margin:0
}

.custom.relative.module-services {
	background: url(https://s3.amazonaws.com/static.organiclead.com/Site-9019337c-23f4-401d-9b11-a1505e2b607c/Assets/services_bg_v2.jpg);
    background-size: cover;
}

.group-bg .ry-section {
    background: transparent;
	padding: 0;
}

body#page .brands-swiper-4 .swiper-slide {
	border: 1px solid #d3d3d31a;
		background: rgb(255 255 255 / 70%);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		}

.brands-swiper-4 img {
	mix-blend-mode: unset;
}

#hp-brands-3 .swiper-pagination {
	position: relative;
	margin-top: 50px;
}

#hp-brands-3 .left-right-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-direction: row-reverse;
	margin-top: 30px;
}
#hp-brands-3 .swiper-button-next, #hp-brands-3 .swiper-button-prev {
	position: relative;
	left: 0;
	right: 0;
	top: auto;
	transform: unset;
	margin: 0;
	background-color: #6f6c43;
}
.brands-swiper-3 {
	padding-bottom: 0 !important;
}

#hp-brands-1::before, #hp-brands-2::before, #hp-brands-3::before, #hp-brands-4::before, #hp-brands-5::before, #hp-brands-6::before {
	height: 100%;
	left: 0;
	top: 0;
	bottom: unset;
	background-repeat: no-repeat;
	background-position: left top;
}

#hp-brands-3 .sub-title h4, #hp-brands-3 .main-title h2 {
	color: #fff !important; 
}

#hp-brands-3 .ry-btn:not(:hover) {
	background: #fff;
	color: #151515;
}


body#page div#hp-insurance-1 {
	background: url(https://s3.amazonaws.com/static.organiclead.com/Site-9019337c-23f4-401d-9b11-a1505e2b607c/Assets/insurance_bg.jpg);
	background-size: cover;
	background-position: center top;
}
body#page div#hp-insurance-1 .rounded-lg.bg-gray-200 {
	background: transparent;
}
body#page div#hp-insurance-1 .main-title h2 {
	color: white;
}

@media (min-width: 992px) {
	.insurance-arrow {
		opacity: 0;
	}
	body#page div#hp-insurance-1 {
		padding-bottom: 0;
	}
}

body#ry-pg-body div#mapPIN {
    display: none;
}

div#mapPIN {
    padding-bottom: 600px;
}

.module-testimonials.style-2 .review-content .flex.items-center.space-x-2.mb-5.justify-center {
	justify-content: flex-start;
}

@media (max-width: 1280px){
	.module-testimonials.style-2 .review-content .flex.items-center.space-x-2.mb-5.justify-center {
		justify-content: center;
	}
	div#section-hp-team .col-xs-12.space-y-6.mx-auto.relative.max-w-full.ry-title .relative {
		display: flex;
		justify-content: center;
	}
	.custom.relative.module-services .service-wrapper.slick-dotted {
		justify-content: center;
	}
}

@media (max-width: 600px) {
	#section-hp-team .homepage-team-swiper .swiper-wrapper {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#section-hp-team .homepage-team-swiper .swiper-slide {
		width: 100% !important;
		max-width: 400px;
	}
}


:root {
    --color-primary: #3E83AD;
    --color-secondary: #54595F;
    --font-default: Montserrat;
    --font-title: ;
	--content-font: Montserrat !important;
	--title-font: Cinzel !important;
    
}
	
@import url('/sites/Site-9019337c-23f4-401d-9b11-a1505e2b607c/css/blueimp-gallery.min.css');

#ry-pg-content {
  display: flow-root;
  clear: both;
  width: 100%;
}

#smile-grid {
  width: 100%;
  padding: 0;
  margin-top: 24px;
  margin-bottom: 40px;
  clear: both;
}

#smile-grid [id*="links"] {
  width: 100%;
}

#smile-grid [id*="links"] > .col-xs-12 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
  padding: 0;
  margin: 0 0 24px 0;
}

#smile-grid .col-xs-4 {
  flex: 0 0 calc(33.333% - 16px);
  max-width: calc(33.333% - 16px);
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
}

@supports (display: contents) {
  #smile-grid [id*="links"] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  #smile-grid [id*="links"] > .col-xs-12 {
    display: contents;
    margin: 0;
  }

  #smile-grid .col-xs-4 {
    flex: initial;
    max-width: 100%;
    width: 100%;
  }
}

#smile-grid .col-xs-4 a {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background-color: #000000;
  border: 1px solid #E2E8F0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  text-decoration: none;
}

#smile-grid .col-xs-4 a:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(16, 53, 90, 0.16);
  border-color: #A3C2DE;
}

#smile-grid .col-xs-4 a img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.4s ease;
}

#smile-grid .col-xs-4 a:hover img {
  transform: scale(1.03);
}

#smile-grid .col-xs-4 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16, 53, 90, 0) 50%, rgba(16, 53, 90, 0.35) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

#smile-grid .col-xs-4 a:hover::before {
  opacity: 1;
}

#smile-grid .col-xs-4 a::after {
  content: '\f00e';
  font-family: 'FontAwesome';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.7);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(16, 53, 90, 0.85);
  color: #FFFFFF;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  z-index: 2;
}

#smile-grid .col-xs-4 a:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 991px) {
  #smile-grid [id*="links"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  #smile-grid [id*="links"] > .col-xs-12 {
    gap: 20px;
    margin-bottom: 20px;
  }

  #smile-grid .col-xs-4 {
    flex: 0 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
  }
}

@media (max-width: 600px) {
  #smile-grid [id*="links"] {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #smile-grid [id*="links"] > .col-xs-12 {
    gap: 16px;
    margin-bottom: 16px;
  }

  #smile-grid .col-xs-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
	
	#contents #text-content{
	    font-size: 1.25rem;
        line-height: 1.75rem;
	}
	
	@media (max-width: 760px) {
		#contents #text-content{
			font-size: 1rem;
		}
	}
	.snap-mobile-menu img {
    filter: unset;
}

	/* --- UNIFIED FORM STYLING: MATCH ALL INPUTS & DROPDOWNS --- */
.cmsForm input[type="text"],
.cmsForm input[type="email"],
.cmsForm input[type="tel"],
.cmsForm input[type="date"],
.cmsForm select,
.cmsForm textarea {
  display: block !important;
  width: 100% !important;
  background-color: transparent !important; /* Uniform background across ALL fields (or change to #ffffff if you prefer white) */
  border: 1px solid #4b5563 !important;      /* Exact matching border color across every field */
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #374151 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.cmsForm input[type="text"],
.cmsForm input[type="email"],
.cmsForm input[type="tel"],
.cmsForm input[type="date"],
.cmsForm select {
  height: 46px !important;
}

.cmsForm textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.cmsForm input::placeholder,
.cmsForm textarea::placeholder {
  color: #9ca3af !important;
  opacity: 1 !important;
}

.cmsForm select,
.cmsForm select.form-control,
.form-dropdown select,
.time-form select {
  padding-right: 38px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%234b5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;
  background-position: right 14px center !important;
  background-repeat: no-repeat !important;
  background-size: 18px 18px !important;
  cursor: pointer !important;
}

/* 3. MATCHING FOCUS STATE */
.cmsForm input:focus,
.cmsForm select:focus,
.cmsForm textarea:focus {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25) !important;
  outline: none !important;
}

/* 4. LABEL STYLING */
.cmsForm label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}

.cmsForm .form-dropdown,
.cmsForm div.col-xs-12.form-dropdown {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
	
#ui-datepicker-div.ui-datepicker {
  display: none;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
  padding: 16px !important;
  width: 320px !important;
  max-width: 90vw !important;
  z-index: 99999 !important;
  font-family: inherit !important;
  margin-top: 6px !important;
}
#ui-datepicker-div .ui-datepicker-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 12px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
#ui-datepicker-div .ui-datepicker-title {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #1f2937 !important;
  text-align: center !important;
  flex: 1 !important;
  order: 2 !important;
}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  color: #4b5563 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
#ui-datepicker-div .ui-datepicker-prev {
  order: 1 !important;
}
#ui-datepicker-div .ui-datepicker-next {
  order: 3 !important;
}
#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
  background: #e5e7eb !important;
  color: #111827 !important;
}
#ui-datepicker-div .ui-datepicker-calendar {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 4px !important;
  margin: 0 !important;
}
#ui-datepicker-div .ui-datepicker-calendar th {
  padding: 6px 0 !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  border: none !important;
}
#ui-datepicker-div .ui-datepicker-calendar td {
  padding: 0 !important;
  text-align: center !important;
  border: none !important;
}
#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 auto !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  color: #374151 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  font-weight: 500 !important;
}
#ui-datepicker-div .ui-datepicker-calendar td a:hover {
  background: #3b82f6 !important;
  color: #ffffff !important;
}
#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-current-day a,
#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a {
  background: #eff6ff !important;
  color: #2563eb !important;
  font-weight: 700 !important;
  border: 1px solid #bfdbfe !important;
}
#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-current-day a {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}
#ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span {
  color: #d1d5db !important;
  cursor: default !important;
}
	
body#page {
  overflow-x: hidden;
}

body#page #hp-slider,
body#page #hp-slider .homepage-swiper {
  overflow: hidden;
}

body#page #section-hp-team .swiper.homepage-team-swiper h6 {
  line-height: 1.25;
}

body#page .cta-collection .group .mb-10:has(p:empty) {
  margin-bottom: 12px;
}

@media (min-width: 1281px) {
  body#page .module-testimonials.style-2 .review-img {
    width: 55%;
  }

  body#page .module-testimonials.style-2 .review-content {
    width: 45%;
    padding: 80px 5%;
  }
}

@media (max-width: 1600px) and (min-width: 1081px) {
  body#page .module-services .service-wrapper {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  body#page .module-services .service-wrapper .each-block {
    padding: 16px;
  }

  body#page .module-services .service-wrapper .each-block .each-wrapper .text {
    padding-left: 36px;
  }

  body#page .module-services .service-wrapper .each-block .each-wrapper .text:before {
    left: 14px;
    height: 72px;
  }
}

@media (max-width: 1440px) and (min-width: 1081px) {
  body#page div#navigation-style-4 {
    display: flex;
    width: 96%;
    max-width: 1380px;
    padding: 10px 20px !important;
    background: #f7f3ee !important;
    border-radius: 500px !important;
    margin-top: 16px !important;
    gap: 12px !important;
  }

  body#page .snap-mobile-menu.flex.lg\:hidden {
    display: none;
  }

  body#page #navigation-style-4 .max-w-\[240px\],
  body#page div#navigation.navigation-4:not(.bg-White99) #navigation-style-4 .cursor-pointer.link,
  body#page div#navigation.navigation-4:not(.bg-White99) #navigation-style-4 .cursor-pointer .link a,
  body#page div#navigation-style-4 .cursor-pointer img {
    max-width: 210px;
  }

  body#page #navigation-style-4 ul.ry-nav {
    gap: 12px;
  }

  body#page #navigation-style-4 ul.ry-nav > li {
    padding-left: 4px;
    padding-right: 4px;
  }

  body#page #navigation-style-4 ul.ry-nav > li > a {
    font-size: 13.5px;
    white-space: nowrap;
  }

  body#page #navigation-style-4 a.ry-btn.ry-btn-primary {
    padding: 10px 16px;
    font-size: 13px;
    white-space: nowrap;
  }
}

@media (max-width: 1280px) {
  body#page .module-welcome.style-5 .ry-container .ry-flex.gap-10 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
  }

  body#page .module-welcome.style-5 .ry-each:not(.image-wrapper) {
    max-width: 780px;
    width: 100%;
    padding-right: 0;
    margin: 0 auto;
  }

  body#page .module-welcome.style-5 .ry-each.image-wrapper {
    max-width: 680px;
    width: 100%;
    padding-top: 0;
    margin: 0 auto;
  }

  body#page .module-welcome.style-5 .text-wrapper .sub-title,
  body#page .module-welcome.style-5 .text-wrapper .main-title {
    margin-left: 0 !important;
    text-align: center;
  }

  body#page .module-welcome.style-5 .text-wrapper .ry-text {
    text-align: center;
  }

  body#page .module-welcome.style-5 .text-wrapper .btn-wrap {
    display: flex;
    justify-content: center;
  }

  body#page #section-hp-team .homepage-team-swiper img {
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  body#page .module-testimonials.style-2 .review-img img {
    height: auto;
    max-height: 540px;
    object-fit: cover;
  }

  body#page .module-testimonials.style-2 .review-content {
    padding: 64px 40px;
  }
}

@media (max-width: 1080px) {
  body#page div#navigation-style-4 {
    display: none;
  }

  body#page .snap-mobile-menu.flex.lg\:hidden {
    display: flex;
  }

  body#page div#hp-slider {
    padding-top: 90px;
  }

  body#page #hp-slider .homepage-swiper .swp-img {
    height: clamp(280px, 54vw, 560px) !important;
    object-fit: cover;
  }

  body#page .module-services {
    padding: 64px 24px;
  }

  body#page .module-services .service-wrapper {
    margin-left: 0;
    margin-right: 0;
  }

  body#page .module-services .service-wrapper .each-block {
    padding: 12px;
  }

  body#page .module-services .service-wrapper .each-block .photo {
    padding-bottom: 120%;
  }

  body#page .module-services .service-wrapper .each-block .each-wrapper .text {
    padding-left: 28px;
  }

  body#page .module-services .service-wrapper .each-block .each-wrapper .text:before {
    left: 10px;
    height: 60px;
  }
}

@media (max-width: 1024px) {
  body#page .cta-custom.cta-section .title-bg {
    padding: 48px 24px 140px;
    margin-bottom: -100px;
  }

  body#page .cta-custom.cta-section .title-bg:before {
    width: 100%;
  }

  body#page .cta-custom.cta-section .main-title h2 {
    text-align: center !important;
  }

  body#page .cta-collection .group {
    padding: 48px 32px;
  }

  body#page #section-hp-team .ry-flex {
    gap: 36px;
  }

  body#page #section-hp-team .col-span-12.lg\:col-span-5 {
    padding-right: 0;
    text-align: center;
  }

  body#page div#mapPIN {
    padding-bottom: 420px;
  }

  body#page #ry-footer #footer-info-flex {
    row-gap: 36px;
  }
}

@media (max-width: 767px) {
  body#page .snap-mobile-menu {
    height: 80px;
    padding-left: 16px;
    padding-right: 16px;
  }

  body#page .snap-mobile-menu .max-w-\[160px\] {
    max-width: 145px;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 {
    gap: 14px;
  }

  body#page div#hp-slider {
    padding-top: 80px;
  }

  body#page #hp-slider .homepage-swiper .swp-img {
    height: clamp(240px, 62vw, 380px) !important;
  }

  body#page .module-welcome.style-5 {
    padding: 48px 20px !important;
  }

  body#page .module-welcome.style-5 .ry-container .ry-flex.gap-10 {
    gap: 28px;
  }

  body#page .cta-custom.cta-section {
    padding: 0 16px 48px;
  }

  body#page .cta-custom.cta-section .title-bg {
    padding: 40px 20px 110px;
    margin-bottom: -75px;
  }

  body#page .cta-collection .group {
    padding: 36px 24px;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  }

  body#page .cta-collection .group:last-child {
    border-bottom: none;
  }

  body#page .cta-collection .group .ry-btn {
    width: 100%;
    max-width: 260px;
    text-align: center;
  }

  body#page .module-services {
    padding: 48px 16px;
  }

  body#page #section-hp-team .py-\[60px\] {
    padding: 48px 20px !important;
  }

  body#page .module-testimonials.style-2 .review-content {
    padding: 48px 24px;
  }

  body#page .module-testimonials.style-2 .review-content .dot-button {
    gap: 20px;
    margin-top: 28px;
  }

  body#page div#mapPIN {
    padding-bottom: 320px;
  }

  body#page #ry-footer .py-16 {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  body#page #ry-footer .footer-social-wrapper {
    display: inline-flex;
  }

  body#page #ry-footer .footer-social-wrapper:before,
  body#page #ry-footer .footer-social-wrapper:after {
    width: 60px;
  }
}

@media (max-width: 600px) {
  body#page #section-hp-team .homepage-team-swiper .swiper-wrapper {
    gap: 28px;
  }

  body#page #section-hp-team .homepage-team-swiper .swiper-slide {
    margin-right: 0 !important;
  }
}

@media (max-width: 480px) {
  body#page .snap-mobile-menu .mobile-menu-icon {
    width: 36px;
    height: 36px;
  }

  body#page #ry-footer .footer-social-wrapper:before,
  body#page #ry-footer .footer-social-wrapper:after {
    display: none;
  }
}
	
body#page .module-welcome.style-5 .text-wrapper .sub-title,
body#page .module-welcome.style-5 .text-wrapper .main-title {
  margin-left: 0 !important;
}

@media (min-width: 1281px) {
  body#page .module-welcome.style-5 .ry-container .ry-flex.gap-10 {
    align-items: center;
    gap: 64px;
  }

  body#page .module-welcome.style-5 .ry-each.image-wrapper {
    padding-top: 0;
    max-width: 52%;
  }

  body#page .module-welcome.style-5 .ry-each:not(.image-wrapper) {
    max-width: 48%;
    padding-right: 0;
  }
}

@media (max-width: 1080px) {
  body#page #navigation > .snap-mobile-menu {
    padding-left: 0;
    padding-right: 0;
  }

  body#page .snap-mobile-menu > .snap-mobile-menu {
    padding-left: 16px;
    padding-right: 16px;
    gap: 12px;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 {
    gap: 12px;
    flex: 0 1 auto;
    min-width: 0;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 > a {
    display: flex;
    align-items: center;
    max-width: 165px;
    flex-shrink: 1;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 > a img {
    width: 100%;
    height: auto;
    max-height: 44px;
    object-fit: contain;
  }

  body#page .snap-mobile-menu .flex.gap-2 {
    flex-shrink: 0;
    gap: 8px;
  }
}

@media (max-width: 767px) {

  body#page #ry-footer .border-t.text-primary-text {
    text-align: center;
    padding-left: 12px;
    padding-right: 12px;
  }

  body#page #ry-footer .border-t.text-primary-text p {
    text-align: center;
    line-height: 1.6;
  }
}

@media (max-width: 480px) {
  body#page .snap-mobile-menu > .snap-mobile-menu {
    padding-left: 12px;
    padding-right: 12px;
    gap: 10px;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 {
    gap: 10px;
  }

  body#page .snap-mobile-menu .flex.items-center.gap-6 > a {
    max-width: 135px;
  }

  body#page .snap-mobile-menu .flex.gap-2 {
    gap: 6px;
  }

  body#page .snap-mobile-menu .mobile-menu-icon {
    width: 34px;
    height: 34px;
  }
}
	
@media (max-width: 1440px) and (min-width: 1081px) {
  body#page div#navigation-style-4 {
    display: flex;
    width: 92%;
    max-width: 100%;
    padding: 16px 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
    box-shadow: none !important;
    gap: 16px !important;
  }
}
	
body#page .module-testimonials.style-2 .review-img img {
  object-position: top center;
}

@media (max-width: 1280px) {
  body#page .module-testimonials.style-2 .review-img img {
    height: auto;
    max-height: 540px;
    object-fit: cover;
    object-position: top center;
  }
}
	
span.caspian-req {
  color: #ef4444 !important;
  font-weight: 500 !important;
  margin-left: 3px !important;
}
	
@media (max-width: 1440px) {
  body#page h2,
  body#page .main-title h2 {
    font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem) !important;
    line-height: 1.25 !important;
  }
}
	
.ry-btn-secondary {
    text-transform: uppercase;
}
	
.module-testimonials svg.text-gray-300,.module-testimonials .testimonials-swiper-2 svg{color:#fde047}
	
/* Caspian Dental - Remove +/- button and always display full bio */
.team-inner-page.style3 .btn-excerpt {
  display: none !important;
}
.team-inner-page.style3 .team-excerpt {
  display: none !important;
}
.team-inner-page.style3 .team-full-description {
  display: block !important;
}
	
body#page div#hp-insurance-1 {
  background: #f7f7f7 !important;
  background-image: none !important;
  padding: 80px 32px !important;
}

body#page div#hp-insurance-1 .main-title {
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: normal !important;
}

body#page div#hp-insurance-1 .main-title h4 {
  font-family: 'Antonio', sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  letter-spacing: 10px !important;
  line-height: 45px !important;
  color: var(--color-primary-background) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

body#page div#hp-insurance-1 .main-title h2 {
  font-family: 'Cinzel', serif !important;
  font-size: 2.38rem !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  line-height: 1.25 !important;
  color: var(--color-secondary-background) !important;
  text-transform: uppercase !important;
  margin: 10px 0 20px 0 !important;
}

body#page div#hp-insurance-1 .main-title p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 28px !important;
  letter-spacing: normal !important;
  color: #1f2937 !important;
  text-transform: none !important;
  margin: 0 auto !important;
}

body#page div#hp-insurance-1 > div:nth-child(2) {
  padding-top: 40px !important;
  padding-bottom: 0 !important;
}

body#page div#hp-insurance-1 .brands-swiper-4 .swiper-slide,
body#page div#hp-insurance-1 .rounded-lg.bg-gray-200 {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body#page div#hp-insurance-1 .insurance-arrow {
  display: none !important;
}

@media (max-width: 991px) {
  body#page div#hp-insurance-1 .main-title h4 {
    letter-spacing: 5px !important;
  }
  body#page div#hp-insurance-1 .main-title h2 {
    font-size: 32px !important;
  }
}

@media (max-width: 767px) {
  body#page div#hp-insurance-1 {
    padding: 48px 20px !important;
  }
  body#page div#hp-insurance-1 .main-title h4 {
    font-size: 25px !important;
  }
  body#page div#hp-insurance-1 .main-title p {
    font-size: 16px !important;
    line-height: 24px !important;
  }
  body#page div#hp-insurance-1 > div:nth-child(2) {
    padding-top: 28px !important;
  }
}