/* 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{
color: #666666;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4
}
.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;
}

/* 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: #666666;
}


/* HP Testi Box Slider Bg */

.module-testimonials.style-2::before, .module-testimonials.style-3::after {
    background-image: url(https://s3.amazonaws.com/static.organiclead.com/Site-2862f38f-0007-4f67-8e23-b05dadb384e6/1_HP/test_bg.jpg);
    background-size: cover;
    background-position: center top;
}


.module-testimonials {
    background-image: url(https://s3.amazonaws.com/static.organiclead.com/Site-9c8e065e-f4d3-43e1-bfa4-fff9b0989884/testimonials_bg_v2.jpg);
    background-size: cover;
    background-position: center top;
}

.hp-brands-bg {
    background-image: url(https://s3.amazonaws.com/static.organiclead.com/Site-d0f26e79-49ad-4e8a-8e00-c7f737ef8ef6/1_HP/brands_bg_u.jpg);
    background-size: cover;
    background-position: center top;
}

.texture-bg {
    background-image: url(https://s3.amazonaws.com/static.organiclead.com/Site-9c8e065e-f4d3-43e1-bfa4-fff9b0989884/1_HP/texture_bg.jpg);
    background-size: auto;
    background-repeat:repeat;

}


.footer-heading h4 {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 500 !important;
    letter-spacing: 1px;
}



div#navigation {
  background: #fff!important;
}

/* HP Heading Styles */


h1,h2,h3,h4,h5,h6 {

}

h3 {
  font-weight: 300 !important;
}




.white-img {
    filter: invert(1) brightness(10) contrast(10);
}

.ry-menu .ry-nav li.primary {
    text-transform: uppercase;
}
.module-services.style-11 .ry-flex .ry-each .services-details p {
    font-size: 20px;
    color: #000;
}
.ciclegraph.circle-count-9:before {
    filter: brightness(0) invert(.2);
}
.module-services.style-11 .ry-flex > .ry-each:nth-child(2) .ry-inner-flex .photo:before {
    border-color: #454545;
}
.module-services.style-11 .ry-flex > .ry-each:nth-child(2) .ry-inner-flex .photo img {
	filter: brightness(0) invert(1);
}
@media (min-width: 1280px) {
    .module-services.style-11 .ry-title h2, .module-services.style-11 .ry-sub-title h4 {
        text-align: left;
    }
	.module-services.style-11 .ry-btn.ry-btn-primary.mx-auto.px-6.py-3\.5.w-60.relative.no-underline {
        margin-left: unset;
	}
	.module-services.style-11 .ry-flex {
		gap: 8%;
		justify-content: center;
	}
	.module-services.style-11 .ry-flex > .ry-each:nth-child(1) {
		max-width: 600px;
	}
}



div#ry-footer-3 a:hover {
    color: var(--color-secondary-background);
}

#ry-pg-body .ry-form-box-wrapper {
    padding: 50px;
    border: 1px solid #eee;
    margin-top: 30px;
    background:#fff
}
#ry-pg-body .formBox .leadbox .pg-copy p {
	margin-bottom: 5px; 
}
#ry-pg-body .formBox .pg-fields {
	max-width: 100%;
	width:100%;
	float: right;
	height: 50px;
	border-radius: 0px;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	outline: 0px !important;
	border: 1px solid #c6cfd6;
	padding: 10px 15px;
	color: #707880 !important; 
}

#ry-pg-body .formBox .pg-fields::-webkit-input-placeholder {
	color: rgba(112, 120, 128, 0.5) !important;
	font: 400 15px/24px georgia, serif;
	font-style: italic; }
#ry-pg-body .formBox textarea.pg-fields {
	min-height: 250px;
	max-width: 100%;
	min-width: 100%; 
}


#ry-pg-body .formBox .leadbox {
    display: flex;
	gap:5px
}

#ry-pg-body .formBox .leadbox .form-col {
    padding: 0 5px;
	width:100%
}
#ry-pg-body .formBox form [data-type="radiolist"] label.inline ,
#ry-pg-body .formBox form [data-type="checkboxlist"] label {
	display:flex;
	align-items:center;
	gap:5PX;
}

#ry-pg-body .formBox div[data-type="checkboxlist"] {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
	gap:5px;
	row-gap:10px
}

#ry-pg-body .formBox div[data-type="checkboxlist"] .control-label {
    width: 24%;
    font-size: 18px;
	line-height:1.1
}

#ry-pg-body .formBox h3 {
	font-weight:bold !important 
}
.contact-template.style-1 .contact-form .ry-form-box-wrapper .form-control, .contact-template.style-2 .contact-form .ry-form-box-wrapper .form-control {
	width:100%;
	height:50px;
	margin-bottom:5px;
	border: 1px solid #c6cfd6;
}

.pg-copy {
    font-weight: 700;
	margin-top:20px;
	font-size:18px
}

#ry-pg-body .formBox .ry-btn {
	height:50px
}



@media(max-width:780px) {
	#ry-pg-body .formBox h3,#ry-pg-body .formBox h2 {
		text-align:center 
	}
	#ry-pg-body .formBox div[data-type="checkboxlist"] .control-label {
    width: fit-content;
    font-size: 18px;
	line-height:1.1;;
}
	#ry-pg-body .formBox div[data-type="checkboxlist"] {
		justify-content:center;
		align-items:center;
		gap:20PX
	}
	#ry-pg-body .formBox  [data-type="radiolist"] {
		max-width:150PX;
		margin-inline:auto;
		width:100%
	}
	.pg-copy {
		text-align:center 
	}
	#ry-pg-body .formBox .leadbox {
		flex-direction:column;
		gap:0
	}
}


.footer-contents .text-lg {
    font-size:20px
}

.homepage-swiper .swiper-slide img {
   height:85vh !important;
   object-fit:cover;

}


.with-gradient:before {
background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 60%),  rgb(0 0 0 / 84%));
bottom:0;
height:40%;
top:auto;
}

#navigation-style-15 {
  gap:10px;
}
#navigation-style-15 .group.text-white {
  text-wrap: nowrap
  
}
.slider-info-center-bottom .text-sm {
	min-height:fit-content
}


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

.snap-mobile-menu .gap-4 {
	gap:6PX
}

.snap-mobile-menu {
    background:#fff
}
.snap-mobile-menu .snap-mobile-menu {
    padding-inline:0;
    gap:20px
}
.snap-mobile-menu img {
    filter:unset
}
.mm-navbar__title > span, .mm-menu ::before {
  color: #fff
}
.mm-btn--next::after, .mm-btn--prev::before {
  border-color: #fff
}
#section-hp-services::before, .module-19.style2::before, .ry-services.style2::before {
	opacity:1
}
#ry-footer-3  ul li .font-semibold {
	font-weight:normal
}
.mm-menu a {
    text-transform:uppercase;
    padding-block:14px;
}

@media(min-width:768px) and (max-width:780px) {
	.slider-info-center-bottom .text-xl.md\:text-5xl.font-bold.mb-4 h2 {
		font-size:45px
	}
}

@media(max-width:1640px) {
    .cta-btn {
        width:fit-content;
        max-width:230px;
        padding-inline:20px
    }
    #navigation-style-15 .text-gray-700 {
        max-width:270px;
        text-wrap:wrap;
        line-height:1.1;
        width:100%;
    }
}


@media(max-width:1480px) {
	.cta-btn a {
		font-size: 16PX;
	}
	#navigation-style-15 { 
		padding-inline: 20px 
	}
	.cta-btn {
		width: fit-content;
		padding-inline: 15px;
		max-width: 200px
	}
}


@media(max-width:1280px) {
	#navigation-style-15  .max-w-\[300px\] {
		max-width: 210px;
		width: :1005
	}
	.cta-btn a {
	  font-size: 14px;
  }

	#navigation-style-15 .flex.gap-4 {
		gap:5px;
	}

}


@media(max-width:1199px) {
	#navigation-style-15, .ry-menu {
		display: none   !important  
	}
	.snap-mobile-menu {
		display: flex !important
  }
	.homepage-swiper .slider-info-center-bottom {
	top:unset;
	bottom: 30px;
	width:100%;
	max-width:700PX;
	height:fit-content;
	min-height:fit-content
	}
	
	.module-welcome.style-5 .ry-each.image-wrapper .photo{
	padding:0 !important;
	height:100% 
	}
	
	.module-welcome.style-5 .ry-each.image-wrapper .photo img {
	position:relative;
	height:100%;
	inset:0;
	max-width:500px;
	margin-inline:auto
	}
	.module-welcome.style-5 .ry-flex {
	gap:30px
	}
	  .ry-services.style2 *, .module-welcome *, #section-hp-team *, #hp-brands-6 *, .module-testimonials *, #hp-brands-5 *, #hp-insurance-1 * {
        text-align: center !important;
    }
	#section-hp-services, #section-hp-team, #hp-insurance-1, .module-testimonials.style-2{
		padding-block:80px
	}
	.module-testimonials .p-20 {
		padding-inline:30px
	}
	#ry-footer-3 .col-span-full:last-child .overflow-hidden  {
		padding-bottom:0
	}
	#ry-footer-3  ul li span {
	font-size:18px
}
	#ry-footer-3 .col-span-full:last-child ul li {
		gap:5px;
		padding-bottom:10PX
	}
}

@media (max-width: 1080px) {
    .homepage-swiper .slider-info-center-bottom {
    bottom: 0;
    background: var(--color-primary-background);
    padding: 40px 10px;
    position:relative;
    width:100%;
    max-width:100%;
    inset:unset;
    transform:unset
    }
	.homepage-swiper .slider-info-center-bottom h1 {
		font-size: clamp(2.5rem, 2.3234rem + 0.7246vw, 2.8125rem) !important
	}
    .homepage-swiper .button-wrapper {
    display: block;
    bottom: 40px;
    }
    .homepage-swiper .swiper-pagination-bullet-active {
    background: var(--color-secondary-background);
    }
    .homepage-swiper .swiper-slide img {
    height: 55vh !important;
    }
    .slider-info-center-bottom * {
        text-align:center !important
    }
    .homepage-swiper .with-gradient:before {
        display:none
    }

    .ry-services.style2 *, .module-welcome *, #section-hp-team *, #hp-brands-6 *, .module-testimonials * {
        text-align:center
    }
	.homepage-team-swiper-2:before {
		opacity:.1;
		background-size:cover
	}
.module-testimonials .flex.mb-5 {
    justify-content:center
}


}
@media (max-width: 767px) {
	.slider-info-center-bottom .text-xl.md\:text-5xl.font-bold.mb-4 h2 {
		font-size: 31PX;
		line-height: 1;
	}
	.slider-info-center-bottom .text-sm {
		font-size:18px !important
	}
	.homepage-swiper .swiper-slide img {
		height:37vh !important
	}


}

@media (max-width: 560px) {
    .module-services.style-11 .ry-flex > .ry-each:nth-child(2) .box-wrapper {
        transform: scale(.6);
    }
}

.module-welcome.style-5 .ry-each.image-wrapper .ads-wrapper .photo img,
.module-welcome.style-5 .ry-each.image-wrapper .ads-wrapper .photo{
  position: relative;
  padding:0;
  height: 100%;
  width: 100%
}

.module-welcome.style-5 .ry-each.image-wrapper .ads-wrapper .each-left {
  display: flex;
  gap:10px;
  max-width: 700px;
  margin-inline: auto;
  margin-top: -50px
}
.homepage-team-swiper-pagination {
    position:relative;
    padding:10px 0 20px!important
}
.homepage-team-swiper-pagination  .swiper-pagination-bullet {
    background:#fff
}
@media(max-width:1080px) {
  .module-welcome.style-5 .ry-each.image-wrapper .ads-wrapper .each-left {
    margin-top: 0px
  }
}


@media (max-width: 1023px) {
	.promotions .bg-gray-200 *{
		text-align:center;
		margin-inline:auto
	}
	.promotions .bg-gray-200 img {
		max-width:300px;
		width:100%;
		min-width:unset;
		margin-block:0
	}
	.promotions .bg-gray-200 .pr-10 {
		padding:0
	}
}


.swiper-pagination-bullet {
    background: var(--swiper-pagination-bullet-inactive-color, #fffefe);

}

.snap-mobile-menu {
 flex-direction:column;
 padding:0;
 
}
 .snap-mobile-menu .snap-mobile-menu {
  display:flex;
  flex-direction:row;
  padding:10px 20px 15px
 }
.snap-mobile-menu .top-banner {
 background:#2d6fb833;
 width:100%;
 justify-content:center;
 padding-block:10px;
	display:flex;
}
.snap-mobile-menu .top-banner strong {
 font-size:20px;
 line-height:1.1
}
.snap-mobile-menu .top-banner div {
 font-size:18px;
}

@media(max-width:480px) {
	.snap-mobile-menu .top-banner strong {
		font-size:17px;
		line-height:1.1
	}
	.snap-mobile-menu .top-banner div {
		font-size:14px;
	}

	.snap-mobile-menu  .snap-mobile-menu {
		display:flex;
		flex-direction:row;
		padding-inline:10px
	}
}

/* =========================================
   Guthrie Vision Source CPT Fee Table
   Unique class: .cpt-fee-table
========================================= */

.cpt-fee-table-wrap {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 20px 0;
}

.cpt-fee-table-title {
    margin: 0 0 20px;
    color: #2d384a;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

/* Table container */
.cpt-fee-table-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: 10px;
}

/* Main table */
.cpt-fee-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #dce3ef;
    border-radius: 10px;
    background: #fff;
    color: #17233b;
    font-size: 15px;
}

/* Header */
.cpt-fee-table thead th {
    padding: 11px 18px;
    background: #21409a;
    color: #fff;
    text-align: left;
    font-weight: 700;
    border: 0;
}

/* Header rounded corners */
.cpt-fee-table thead th:first-child {
    border-radius: 9px 0 0 0;
}

.cpt-fee-table thead th:last-child {
    border-radius: 0 9px 0 0;
}

/* Column widths */
.cpt-fee-table th:first-child,
.cpt-fee-table td:first-child {
    width: 60%;
}

.cpt-fee-table th:nth-child(2),
.cpt-fee-table td:nth-child(2) {
    width: 20%;
}

.cpt-fee-table th:last-child,
.cpt-fee-table td:last-child {
    width: 20%;
}

/* Table cells */
.cpt-fee-table tbody td {
    padding: 7px 18px;
    border-bottom: 1px solid #dce3ef;
    border-right: 1px solid #dce3ef;
    vertical-align: middle;
}

/* Remove right border from last column */
.cpt-fee-table tbody td:last-child {
    border-right: 0;
}

/* Alternating rows */
.cpt-fee-table tbody tr:nth-child(even) {
    background: #f5f8fc;
}

.cpt-fee-table tbody tr:nth-child(odd) {
    background: #fff;
}

/* Fee column */
.cpt-fee-table .number {
    text-align: right;
}

.cpt-fee-table tbody .number {
    color: #21409a;
    font-weight: 600;
}

/* Last row */
.cpt-fee-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Hover */
.cpt-fee-table tbody tr:hover {
    background: #eef3fb;
}


/* =========================================
   Mobile
========================================= */

@media (max-width: 767px) {

    .cpt-fee-table-wrap {
        padding: 15px 0;
    }

    .cpt-fee-table-title {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .cpt-fee-table {
        min-width: 600px;
        font-size: 14px;
    }

    .cpt-fee-table thead th,
    .cpt-fee-table tbody td {
        padding: 9px 12px;
    }

    .cpt-fee-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}