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

/* HP Edits - Started <June 30, 2026> */

	/*fonts*/

	/*btns*/

/*Modal*/
/* Header */
	/**/
.snap-mobile-menu {
    background: white;
}

mm-burger {
    color: #374151;
}
.ry-menu .ry-nav li.primary .caret {
    border-color: #374151;
}

.ry-menu .ry-nav li.primary:hover .caret {
    border-color: var(--color-secondary-background);
}

.with-gradient:before {
    background-image: linear-gradient(to bottom, white, transparent, transparent);
}

.ry-menu .ry-nav li.dropdown .dropdown-menu li {
    background: var(--color-primary-background);
    color: var(--color-primary-text);
}

span.caret {
    border-color: #616161;
}

body[data-page-name="index"] #navigation {
	position: absolute;
}

/* Button */
	/**/
element.style {
    border-radius: 0px;
}

/* Hero */
	/**/
#hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img {
    height: 100vh !important;
    object-fit: cover;
}
#hp-slider .swiper-pagination-bullet {
    background-color: white;
}
/* CTA */
	/**/
.cta-section.style-1.circle .span a {
    color: var(--color-primary-text);
}

.cta-section.style-1.circle img {
    background: var(--color-secondary-background);
    border-radius: 999px;
    padding: 30px;
    border: 6px solid white;
    box-shadow: 0 0 7px 3px #33333378;
    width: 200px;
    height: 200px;
}

/* Welcome */
	/**/
#welcome-wrap .text-wrapper h2 {
    text-align: left !important;
}

#welcome-wrap .ry-text p {
    text-align: left !important;
}

#welcome-wrap .ry-btn {
    margin-left: 0 !important;
    margin-right: auto !important;
}

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

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

.module-welcome.style-5 .ry-flex{
    align-items: center;
} 

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

#welcome-wrap :before {
    background-color: white;
}

/* Services */
	/**/
/* Meet the Team */
	/**/
#section-hp-team:before {
    background-image: url('https://s3.amazonaws.com/static.organiclead.com/Site-cdc5ec87-22e9-4f20-8075-7749ebea6dba/images/CornerstoneEC_About_Background.jpg');
}

/* Insurance */
	/**/
/* Brand */
	/**/
/* Request Appointment */
	/**/
/* Testimonials */
	/**/
/* Footer */
	/**/
/*Media Queries*/
	/**/
@media (max-width: 1080px) {
    .module-welcome.style-5 .ry-each.image-wrapper .photo{
        padding-top: 10%;
    }   
	.module-welcome.style-5 .ry-each.image-wrapper .photo img {
    left: 0;
	}
	div#navigation-style-4, #navigation .ry-menu {
		display: none !important;
	}
	.snap-mobile-menu {
		display: flex !important;
	}
	#welcome-wrap .module-welcome.style-5 .text-wrapper * {
		text-align: center !important;
	}
	#welcome-wrap .module-welcome.style-5 .text-wrapper .ry-btn {
		margin: 0 auto !important;
	}
}

@media (max-width: 1440px) {
    ul.ry-nav {
        padding-left: 3rem !important;
    }
}

@media (max-width: 1023px) {
    #hp-slider, #hp-slider .swiper-wrapper, .homepage-swiper .swiper-slide img{
        height: 100% !important;
    }
    body[data-page-name="index"] #navigation {
    position: relative;
    }
}

/* End - HP Edits*/




/* Popup Edits */
	/**/
/* Brand Modal Overlay Background */
.canvas-modal-overlay {
  display: none; /* Controlled by JS hide/flex */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(2, 0, 67, 0.75); /* Deep navy overlay matching brand */
  z-index: 99999;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px); /* Adds a modern frosted blur */
  font-family: 'Roboto', sans-serif;
}

/* Modal Main Card */
.canvas-modal-card {
  background: #ffffff;
  padding: 32px 28px 24px;
  border-radius: 12px;
  max-width: 520px;
  width: 90%;
  position: relative;
  box-shadow: 0 15px 35px rgba(2, 0, 67, 0.25);
  border-top: 5px solid #5b94ff; /* Primary brand accent bar */
}

/* Close 'X' Button */
.canvas-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: transparent;
  border: none;
  font-size: 26px;
  cursor: pointer;
  color: #020043;
  line-height: 1;
  transition: color 0.2s ease;
}

.canvas-modal-close:hover {
  color: #5b94ff;
}

/* Typography Inside Modal */
.canvas-modal-body {
  color: #2c3e50;
  font-size: 15px;
  line-height: 1.6;
}

.canvas-modal-body p {
  margin-bottom: 12px;
  color: #020043;
}

.canvas-modal-body strong {
  color: #020043;
  font-size: 16px;
}

.canvas-modal-body ul {
  margin: 10px 0 0 20px;
  padding: 0;
}

.canvas-modal-body li {
  margin-bottom: 6px;
  color: #4a5568;
}

/* Actions Footer & Buttons */
.canvas-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #edf2f7;
}

/* Secondary Cancel Button */
.btn-cancel {
  background: #f1f5f9;
  color: #020043;
  border: 1px solid #cbd5e1;
  padding: 10px 18px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-cancel:hover {
  background: #e2e8f0;
}

/* Primary Action Button */
.btn-continue {
  background: #5b94ff;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  display: inline-block;
  transition: background-color 0.2s ease;
}

.btn-continue:hover {
  background: #020043; /* Darkens to navy on hover */
  color: #ffffff;
}

/* END - Popup Edits */