/* 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
}

.card-review-text {
    font-weight: normal !important;
}


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

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

/* 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 */
  }
}

.mm-navbar {
	color: #ffffff;
}

.homepage-swiper h2 {
	text-shadow: 1px 1px 20px rgb(0 0 0 / 80%);
	letter-spacing: 4px;
	font-size: clamp(1.625rem, 0.95rem + 3.375vw, 5rem);
	line-height: 1.1;
}

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

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

nav#menu-style-4 * {
    text-transform: uppercase;
    font-size: 18px;
}

@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: 96%;
	}
}

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

body#ry-pg-body div#navigation-style-4 {
	padding: 1em 0 !important;
}

body#page div#navigation-style-4 {
	padding: .75em 1em !important;
	background: #ffffff;
    border-radius: 500px;
	margin-top: 1.5em;
	box-shadow: 20px 2px 50px rgb(0 0 0 / 10%);
}

body#page div#navigation.navigation-4:not(.bg-White99) #navigation-style-4  .max-w-\[240px\] {
	margin: -5px 0 -5px -5px;
}

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

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

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

div#navigation-style-4 ul.ry-nav {
    gap: 0 2%;
    justify-content: space-between;
    max-width: 900px;
}

div#navigation-style-4 .ry-menu {
    width: -webkit-fill-available;
}

div#navigation-style-4 .cta-btn {
    white-space: nowrap;
}
#navigation-style-4 .flex.flex-col {
    justify-content: flex-end;
    align-items: center;
    gap: 0 2%;
    width: 81%;
}

div.logo-header {
    width: 15%;
}

@media (max-width:1400px) {
    #navigation-style-4 .flex.flex-col {
		width: auto;
		flex-direction: column;
		gap: 2% 0 !important;
		align-items: flex-end;
	}

	div.logo-header {
		width: 20%;
	}

	div#navigation-style-4 ul.ry-nav li a {
		font-size: 16px !important;
	}

	div#navigation-style-4 ul.ry-nav {
		max-width: 1100px !important;
	}

	#navigation-style-4 .flex.flex-col {
		width: 80% !important;
		padding-right: 2em;
	}

	div#navigation-style-4 .ry-menu {
		width: 800px;
	}

	body#page div#navigation-style-4 {
		padding: 10px !important;
	}
	.cta-btn a span {
		display: none !important;
	}

	div#navigation-style-4 .cta-btn {
		height: 50px;
	}
}



/*CANVAS WIDGET SLIDER*/


div.widget-slider {
    overflow: hidden;
    margin-bottom: 1em;
	position:relative;
}

div.widget-slider ol.carousel-indicators {
    display:none !important;
}

div.widget-slider img {
	margin:0 !important;
}

div.widget-slider a.carousel-control.left {
    background: #333b;
    height: 30px;
    position: absolute;
    width: 100%;
    max-width: 30px;
    left: 0;
    border-radius: 0;
    z-index: 9999;
	display:flex;
    align-items:center;
    justify-content:center;
}

div.widget-slider a.carousel-control.right {
   background: #333b;
   height: 30px;
   z-index: 9999;
   position: absolute;
   width: 50%;
   max-width: 30px;
   right: 0;
   border-radius: 0;
   z-index: 999;
	display:flex;
    align-items:center;
    justify-content:center;
}

div.widget-slider a.carousel-control.left, div.widget-slider a.carousel-control.right {
    top: 45%;
}

div.widget-slider a.carousel-control.left:before {
     content: '';
     background: transparent;
     position:absolute;
     width: 10px;
     height: 10px;
     border: 1px solid #fff;
     transform: rotate(230deg);
     border-bottom: none;
     border-left: none;
     right: 8px;
}

div.widget-slider a.carousel-control.right:before {
    content: '';
    background: transparent;
    position:absolute;
    width: 10px;
    height: 10px;
    border: 1px solid #fff;
    transform: rotate(42deg);
    border-bottom: none;
    border-left: none;
    left: 8px;
}


/*CANVAS WIDGET SLIDER*/
  



@media (min-width:1401px) and (max-width:1500px) {
	
   div#navigation-style-4 .ry-menu {
		width: 800px;
	}

	div#navigation-style-4 ul.ry-nav li a {
		font-size: 14px !important;
	} 
    
}

@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:991px) {

	.main-title h2 {
		line-height: 1.2;
		font-size: 30px !important;
	}

	.sub-title h4 {
		font-size: 20px !important;
	}
}

@media (max-width:1199px) {

	div.welcome-text p {
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}
	
	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}

	.homepage-swiper .slider-info {
		max-width: 100% !important;
		text-align: center;
		position:static !important;
		min-height: auto !important;
		background-color: var(--color-primary-background);
		padding: 2em 0 !important;
		transform: initial !important;
	}

	.homepage-swiper h2 {
    letter-spacing: 0;
    font-size: 40px !important;
   }
	
   .homepage-swiper .ry-btn {
	background:#1a1a1a;
	padding:12px 25px;
   }
	
	.homepage-swiper .slider-info .mb-4 {
		margin-bottom:0 !important;
	}

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

	.homepage-swiper .swiper-slide {
		/* padding-top:6em; */
	}
	
	.homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
	div#navigation-style-4, .ry-menu {
		display: none !important;
	}

	.snap-mobile-menu {
		display: flex !important;
		background:#fff;
	}
	
	.snap-mobile-menu .gap-6, .snap-mobile-menu .gap-4 {
		gap: 0 11px;
	}

	.homepage-swiper .swiper-slide {
		height: auto !important;
	}

	div#hp-slider,
	div#hp-slider .swiper-3d .swiper-wrapper {
		height: auto !important;
		padding-top": 1em";
		padding-top: 3em;
	}

    [data-aos] {
    opacity: 1 !important;
    transform: translate(0) scale(1) !important;
    transition: none !important;
   }

    .snap-mobile-menu img {
    max-height: initial !important;
    max-width: 220px;
}
}

@media (max-width:1024px) {
    div#ry-footer p, div#ry-footer .text-xs {
        text-align:center;
        line-height: 1.5;;
    }

    div#ry-footer p,  div#ry-footer .text-xs {
		font-size: 14px;
	}
}

@media (max-width:991px) {
div#section-hp-team .btn-wrapper.flex .ry-btn {
    margin: 30px auto !important;
}

.certified-logo img {
    margin:auto !important;
}
}

@media(max-width:1023px){
    .homepage-team-swiper-2 img {
        margin-inline:auto
    }
    div#section-hp-team .btn-wrapper.flex .ry-btn {
    margin-inline:auto !important
}
}

@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 (max-width: 500px) {
	
   div.snap-mobile-menu img {
		max-height: 100%;
		max-width: 180px;
	}
	
	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}

	.homepage-swiper h2 {
    font-size: 30px !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;
}

#ry-footer a:hover {
    color: var(--color-primary) !important;
}

div#ry-footer p,  div#ry-footer .text-xs {
    font-size: 16px;
}

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

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


#ry-footer .footer-social-wrapper a:hover {
    color: #fff !important;
}


/*--- 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 {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 35%; 
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.65) 0%,
			rgba(0, 0, 0, 0.2) 60%,
			rgba(0, 0, 0, 0) 100%   
		);
	}

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

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


@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;
}

.swiper.homepage-team-swiper-2 {
    background: transparent;
    border-radius: 30px;
    overflow: hidden;
    padding-bottom: 70px;
    padding-top: 20px;
}

.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: 700 !important;
}
.cta-btn a span {
    display: block;
	font-size: 12px;
	margin-bottom: 2px;
	letter-spacing: 2px;
	font-weight: 700 !important;
}

div#section-hp-team .swiper.homepage-team-swiper h6 {
    letter-spacing: 1px;
    font-size: 20px;
	color: #333;
}

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

@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;
	}
}

#section-hp-team:before {
	box-shadow: inset 0 0 85px rgba(0, 0, 0, 0.35);
}
@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 .main-title h2,
div#section-hp-team .main-title h2 span,
div#section-hp-team .sub-title h4 {
    color: #fff;
}
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;
}

.certified-logo {
    margin: 30px 0 0;
}

.certified-logo img {
    width: 100%;
    max-width: 120px;
}

body#page div#hp-insurance-1 {
    background: #f1f9f2;
    position: relative;
}
body#page div#hp-insurance-1 .rounded-lg.bg-gray-200 {
	background: transparent;
}
body#page div#hp-insurance-1 .main-title h2 {
	color: var(--color-secondary-background);
}

body#page .brands-swiper-4 img {
	mix-blend-mode: unset;
	filter: unset;
	    max-height: 60px;
    aspect-ratio: 5 / 1;
}

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

@media (min-width: 992px) {
	body#page div#hp-insurance-1 .relative.flex.gap-2.my-4.md\:justify-center.justify-center.mt-10.insurance-arrow {
		display: none;
	}
}

.module-testimonials.style-2::before, .module-testimonials.style-3::after {
	display: none;
}
.welcome-text .main-title h2 {
    padding: 0 8%;
}

div#mapPIN {
    padding-bottom: 600px;
}
.review-widget {
	z-index: 9 !important;
}

div#section-hp-services .hp-service h4 .span-2 {
	 transition: .3s ease;
}
#services-12 .hp-service:hover h4 .span-2 {
    background: var(--color-secondary-background);
    transition: .3s ease;
}


#services-12 .slick-slide img {
    transition: .3s ease;
}

#services-12 .hp-service:hover img {
    box-shadow: 0 0 30px rgb(61 121 68 / 50%);
	transition: .3s ease;
}


/* INSIDE PAGE*/

div#page-flex {
    width: 100%;
    justify-content: space-between;
    gap: 8%;
}

div#page-flex .full-width {
    background: transparent;
    width: 100% !important;
}


div#page-flex div#ry-image {
    width: 45%;
}

div#page-flex div#flex-text {
    width: 55%;
}


div#page-flex div#ry-image img {
    margin-top: 0 !important;
    border-radius: 20px;
	width: 100%;
	
}

.ry-btn.ry-btn-primary.center {
    margin: 1.5em auto 0 !important;
    float: none !important;
}

.ry-text p {
    line-height: 1.6;
    margin: 0;
    font-size: clamp(1.125rem, 1.1084rem + 0.0885vw, 1.25rem);
	font-weight: normal;
}

.ry-text h4 {
    font-size: clamp(1.125rem, 1.5rem + 0.531vw, 1.875rem);
    margin: 0 0 10px 0 !important;
    line-height: 1.3;
}

.ry-text h2 {
    margin: 0 0 15px 0;
    line-height: 1;
    font-size:clamp(1.125rem, 1.5rem + 0.531vw, 2rem);
    
}

.ry-form {
    background: #fff;
    padding: 2em;
    margin: 2em 0;
    border-radius: 20px;
}

.blog-image {
    border-radius: 0;
    height: 300px;
}

div#blog-item h4 {
    font-size: 22px;
}

div#blog-item p {
 overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
}


.image-flex {
    max-width: 800px;
    gap: 5%;
    margin: 2em auto 0;
}



div#page-flex:not(:last-child) {
    margin-bottom: 6em;
}

div#ip-container {
    max-width: 1300px;
    width: 90%;
    padding: 6em 0;
}


.ip-banner-title {
    width: 100%;
	padding: 3em 0;
}


.ip-banner-title .w-64 {
    width: 100%;
}

.ip-banner-title h1 {
    text-align: center;
}

.ry-photo.left {
    width: 35%;
    float: left;
    margin: 0 20px 10px 0;
}

aa#page-btn {
    margin: 1.5em 0;
    padding: 15px 25px;
    text-decoration: none;
    display: flex;
}

div#btn-wrap {
    gap: 0 10px;
}

img#aff-logo {
    max-width: 200px;
    margin: 2em 0;
}

div#ry-sidebar a#page-btn {
    margin: 1em auto;
}

div#video-block {
    margin: 3em 0 0 0;
    justify-content: space-evenly;
    gap: 2em;
    flex-wrap: wrap;
}

div#video-block .ry-each {
    width: 48%;
}
div#video-block .ry-each p {
	text-align:center;
	font-weight:bold;
	font-size:20px;
	margin-top:20px
}
div#ip-container ul.pagination {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
    color: #fff;
}

a#page-btn {
    display: flex;
    padding: 12px 25px;
    text-decoration: none;
    margin: 0;
}


div#ip-container .pagination a[aria-label="Next"]::after,
div#ip-container .pagination a[aria-label="Previous"]::after{
    color: #fff !important;
}


.ry-text li p {
    text-align: left !important;
}

.faq-sec .shadow-box {
    margin-bottom: 15px;
}



.faq-sec .shadow-box {
    margin-bottom: 15px;
}


div.faq-accordion-block .ry-text p {
    text-align: left !important;
}

div#membership-block {
    gap: 0 3%;
    margin-bottom: 5em;
}


div#membership-block .ry-text:not(div#membership-title) ul {
    margin: 0;
}

div#membership-title p {
    color: #fff;
    text-transform: uppercase;
    font-weight: 500 !important;
}

div#membership-block .ry-text:not(div#membership-title) ul li {
    margin: 0 !important;
}


div#membership-block .ry-each {
    padding: 0;
    border-radius: 20px;
    position: relative;
    width: 32%;
}

div#membership-block .ry-each h4 {
    color: #fff !important;
    line-height: 1.1;
    font-size: 25px;
}

div#membership-block .ry-each h4 em {
    font-style: normal !important;
    font-family: var(--font-default) !important;
    font-size: 18px !important;
    font-weight: normal !important;
}

div#membership-block .ry-each .ry-text ul li p {
    line-height: 1.5;
    text-align: left !important;
}

div#membership-block .ry-text {
    padding: 1em;
    background: var(--color-primary);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

div#membership-block .cost {
    background: var(--color-secondary);
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 0;
}

div#membership-block .cost p, div#membership-block .cost strong {
    color: #fff;
    margin: 0;
    font-size: 18px;
}

div#membership-block .cost h4 {
    margin: 10px 0 0 0;
    font-size: 35px;
}

div#membership-block .ry-text:not(div#membership-title) {
    height: 320px;
    background:#fefefe;
    padding: 2em;
}

.membership-inner .text-white h6 {
    font-size: 16px;
    line-height: 1.3;
    font-family: var(--title-default) !important;
}

div#membership-block .cost {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

@media (max-width:1199px) {
    div#membership-block .ry-each {
        width:100%;
        max-width: 500px;
        margin: auto;
    }

    div#membership-block {
        gap: 2em 0;
        flex-wrap: wrap;
    }

    div#membership-block .ry-text:not(div#membership-title) {
        height:auto !important;
        padding-bottom: 2em;
    }
    
}

@media (max-width:1199px) {
	div#ip-container {
		padding: 4em 0 !important;
	}
	
}

@media (max-width:991px) {
   div#page-flex {
		flex-direction: column !important;
		margin-bottom: 3em !important;
	}

	div#page-flex div#ry-image, div#page-flex div#flex-text {
		width: 100%;
	}

	div#page-flex div#ry-image img {
		max-width: 350px;
		margin: 0 auto 3em;
	}

	.ry-text p, .ry-text h4, .ry-text h2 {
		text-align: center !important;
	}
	
	
	div#btn-wrap .ry-each  .ry-btn {
		margin:auto;
		float:none;

	}
	
	div#image-text .flex-col {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	a#page-btn {
		margin: 1.5em auto 0;
	}

	  div#btn-wrap {
		  margin: 1.5em auto;
		  justify-content: center;
	  }
	
	.video-block iframe {
		margin-bottom: 2em;
	}

}


@media (max-width:500px) {
    div#btn-wrap {
        flex-direction:column;
        gap:1em 0 !important;
        justify-content: center;
        margin-top: 1em;
	}
	
	 .video-block iframe {
		height:300px !important;
	}


	div#btn-wrap .ry-each {
			width:100%;
	}

	div#btn-wrap .ry-each  .ry-btn {
			 width:100% !important;
			 margin: 0 auto 0;
			 max-width: 300px;
	}

}

@media (max-width:1024px) {
    
    div#video-block {
        flex-direction:column !important;
        gap:2em 0;
        margin: 2em 0 0 0;
    }
    div#video-block .ry-each {
        width:100%;
        max-width:600px;
        margin:auto;
        clear:both;
    }
}

div#image-text img {
    height: 300px;
    max-width: 300px;
    border-radius: 0;
    object-fit:cover;
    object-position:center;
    width: 100%;
}

@media (max-width:1024px) {
	
	div.ry-photo.left {
		width: 100%;
		float: none;
		margin: 0 auto 1em;
		max-width:350px;
	}  
	
	 div#ry-sidebar {
		max-width:400px;
		margin:auto;
	}
}








:root {
    --color-primary: #3d7945;
    --color-secondary: #1a1a1a;
    --font-default: Open Sans;
    --font-title: ;
	--content-font: Open Sans !important;
	--title-font: Montserrat !important;
    
}

	
@media(max-width: 1400px) and (min-width:1200px){
    .homepage-swiper .swiper-slide img {
        object-fit:cover;
        height:105vh !important
    }
    body#page div#navigation-style-4 {
    margin-top: 10px;
	}
}


@media (max-width: 600px) {
    .homepage-swiper .swiper-slide img {
        height:70vw !important;
		margin-top:30px
    }
	
}
