:root {
    --red: #720034;
    --black: #000;
    --text: #979797;
    --white: #ffffff;
}

/* ============================== GLOBAL STYLING ============================== */
body {
    overflow-x: hidden !important;
}

p:last-child {
    margin-block-end: 0px !important;
    margin-bottom: 0px !important;
}

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background-color: #f9f9f9;
}

::-webkit-scrollbar-thumb {
    background-color: var(--red);
    border-radius: 5px;
}

.elementor-widget-button .elementor-button {
    transition: all 0.6s ease !important;
}

.elementor-widget-button .elementor-button:hover {
    transform: scale(1.05);
}

input:focus,
textarea:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--red);
}

.btn-style-underline .elementor-button {
    padding: 0px 0px 10px 0px !important;
    background-color: transparent !important;
}

.btn-style-underline .elementor-button-text {
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-color: var(--black);
}
.btn-style-underline.white .elementor-button-text{
    text-decoration-color: var(--white);
}
.list-sm > ol {
    padding-left: 20px;
    margin-left: 0;
}

.list-sm > ol > li {
    font-weight: 500;
}

.list-sm > ol > li > ol {
    padding-left: 0px;
    margin-top: 8px;
}

.list-sm > ol > li > ol > li {
    font-weight: 400;
}
/* ============================== HEADER STYLING ============================== */
.risk-box h2{
	min-height: 71px;
}
.header-slider-sm .elementor-swiper-button svg rect{
    transition: all 0.5s ease;
}
.header-slider-sm .elementor-swiper-button:hover svg rect{
    fill: var(--red);
}
.header-slider-sm  .swiper-pagination-progressbar {
    top: 125% !important;
    max-width: 85%;
    margin-left: auto;
    width: 100% !important;
    right: 0px;
}
.header-sm.is-sticky > .e-con-inner{
    padding-block: 5px 10px !important;
}
.header-sm.is-sticky .sticky-hidden{
    display: none;
}
.header-sm.is-sticky {
    background-color: var(--red) !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  box-shadow: 0 2px 20px rgba(0,0,0,0.15);
  animation: slideDown 0.3s ease forwards;
}

@keyframes slideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}
.mega-menu-sm ul{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    row-gap: 5px;
}
.animatinos ul a.elementor-item-active{
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-color: var(--black);
    text-decoration-thickness: 2px;
}
.mega-menu-sm ul a{
    white-space: wrap !important;
}
#elementor-popup-modal-2767 .dialog-widget-content{
    width: 100% !important;
}
/* 1. Make the Mobile Menu Accordion Scrollable when it exceeds the viewport height */
.mbl-menu-sm {
    max-height: 100vh !important;       /* Limit the visible height relative to viewport */
    overflow-y: auto !important;        /* Enable vertical scrolling */
    overflow-x: hidden !important;      /* Prevent horizontal scrolling */
    -webkit-overflow-scrolling: touch;  /* Smooth touch scrolling on iOS */
    scrollbar-width: thin;              /* Thin scrollbar for Firefox */
    scrollbar-color: rgba(136, 136, 136, 0.4) transparent;
}

/* Custom scrollbar styling for Chrome, Safari, and Edge */
.mbl-menu-sm::-webkit-scrollbar {
    width: 6px;
}
.mbl-menu-sm::-webkit-scrollbar-track {
    background: transparent;
}
.mbl-menu-sm::-webkit-scrollbar-thumb {
    background: rgba(136, 136, 136, 0.4); /* Sleek translucent thumb */
    border-radius: 4px;
}
.mbl-menu-sm::-webkit-scrollbar-thumb:hover {
    background: rgba(136, 136, 136, 0.6);
}

/* 2. Style the Hamburger and Close Button State Transitions */
/* When mobile menu is active, hide the original hamburger icon */
body.mobile-menu-open .mobile-hamburger-sm {
    visibility: hidden !important;
    pointer-events: none !important;
}


/* Format the close button SVG to match the hamburger icon size and color */
body.mobile-menu-open .dialog-close-button svg {
    width: 20px !important;     /* Adjust size to match hamburger scale */
    height: 20px !important;    /* Adjust size to match hamburger scale */
    fill: var(--red) !important;   /* Matches white hamburger path fill */
    stroke: none !important;
}
/* Enable vertical scrolling on the Elementor mobile popup modal */
#elementor-popup-modal-2767 {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}
#elementor-popup-modal-2767 .dialog-close-button{
    justify-content: center !important;
}
#elementor-popup-modal-2767 .dialog-widget-content {
    max-height: 100vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Add padding to bottom of the popup content to ensure full scrollability for About section */
#elementor-popup-modal-2767 .dialog-message {
    padding-bottom: 80px !important;
}
#menu-1-38b577d  a.elementor-item-active{
    text-decoration: none;
    color: var(--white) !important;
    font-weight: 700 !important;

}
.header-sm .e-n-menu-title-container {
  position: relative;
}

.header-sm .e-n-menu-title-container::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px; /* adjust to sit right under the text */
  width: 0;
  height: 2px;
  background: #fff;
  transition: width 0.35s ease;
}

/* Trigger when the dropdown button next to it is expanded */
.header-sm .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) 
  .e-n-menu-title-container::after {
  width: 100%;
}

/* Fallback: if the active state instead lands as e-active on the content */
.header-sm .e-n-menu-item:has(.e-n-menu-content.e-active) 
  .e-n-menu-title-container::after {
  width: 100%;
}
.header-slider-sm .elementor-widget-image a{
    width: 100%
}
/* .mega-sm .e-n-menu-item .e-n-menu-content.e-active .animated{
	min-height: 65vh !important;
} */
.main-navbar-sm .sub-menu{
	right: 0px !important;
}

/* ============================== FOOTER STYLING ============================== */




/* ============================== HOME STYLING ============================== */
.tab-sm .e-n-tab-title-text {
    text-transform: capitalize;
    transition: all 0.6s ease;
}

.tab-sm .e-n-tab-title-text:hover {
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-color: var(--black);
}

.tab-sm .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-title-text {
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-color: var(--black);
}
.three-lines h2{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.style-one-insights .elementor-grid{
    height: 100%;
}

/* ============================== INNER PAGES STYLING ============================== */
.ques-sm .e-n-accordion-item:not(:last-child){
	border-bottom: 1px solid #000 !important;
}
.ques-sm.white .e-n-accordion-item:not(:last-child){
	border-bottom: 1px solid #fff !important;
}
.indus-car-sm p{
    min-height: 85px;
}
.inner-video-banner .custom-video-control{
    position: absolute !important;
    bottom: 140px  !important;
    right: initial !important;
}
.dialog-close-button svg:focus{
    outline: none !important;
}
.custom-carousel-nav-bottom{
    display: flex;
    align-items: center;
    gap: 15px;
}
.bottom-progress-fill{
    height:100%;
    width:0;
    transition:width .3s ease;
    background:#2C2E36; /* use whatever color your top bar uses */
}
.custom-carousel-nav-bottom svg rect{
	transition: all 0.5s ease;
}
.custom-carousel-nav-bottom svg rect:hover{
	fill: #000;
}
.car-sm .elementor-swiper-button svg rect{
	transition: all 0.5s ease;
}
.car-sm .elementor-swiper-button svg rect:hover{
	fill: var(--red) !important;
}
.white-icons svg path {
    fill: var(--white) !important;
}
.red-icons svg path {
    fill: var(--red) !important;
}
.business-needs,
.insurance-cover-images {
    position: relative;
    display: grid;
}

.business-needs .elementor-widget-image,
.insurance-cover-images .elementor-widget-image {
    grid-area: 1 / 1;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

.business-needs .elementor-widget-image.active,
.insurance-cover-images .elementor-widget-image.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.5s ease;
}
/* ============================== SINGLE POST STYLING ============================== */
.post-content-sm a{
    color: var(--black);
    font-weight: 500 !important;
	text-decoration: underline;
}
.post-content-sm a:hover {
    color: var(--red);
}
.post-content-sm h1{
    display: none;
}
.post-content-sm h2,
.post-content-sm h3 {
    font-size: 25px !important; /* 22px → 25px */
    font-weight: 500 !important;
    line-height: 1.3;
    color: var(--black) !important;
    transition: color 0.3s ease;
}
.post-content-sm h2 strong,
.post-content-sm h3 strong,
.post-content-sm h4 strong,
.post-content-sm h5 strong,
.post-content-sm li strong,
.post-content-sm strong{
    font-weight: 500 !important;
}
.post-content-sm ul{
    padding-left: 20px;
    padding-bottom: 15px;
}
.post-content-sm h4,
.post-content-sm h5 {
    font-size: 22px !important; /* 18px → 22px */
    font-weight: 500 !important;
    line-height: 1.3;
    color: var(--black) !important;
    transition: color 0.3s ease;
}
.post-content-sm:hover h3,
.post-content-sm:hover h4,
.post-content-sm:hover h5 {
    color: var(--red);
}
.post-content-sm ol li::marker {
    font-weight: 600;
}
.post-content-sm b{
	font-weight: 500 !important;
}
.post-content-sm .elementor-button{
	text-decoration: none;
	color: #fff !important;
	transition: all 0.5s ease;
}
.post-content-sm .elementor-button:hover{
	transform: scale(1.05);
	color: #fff !important;
}
/* ============================== LOCATION PAGE STYLING ============================== */
.two-cols{
      column-count: 2;
}
.single-location p > a{
    text-decoration: underline;
}




/* ============================== RELATED BLOG POSTS SHORTCODE ============================== */
.oraclems-related-posts {
    width: 100%;
    padding-block: 70px;
}

.oraclems-related-posts__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}

.oraclems-related-posts__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
    overflow: hidden;
}

.oraclems-related-posts__image-link {
    display: block;
    width: 100%;
}

.oraclems-related-posts__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    height: auto;
}

.oraclems-related-posts__image--placeholder {
    background: #f3f3f3;
}

.oraclems-related-posts__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 16px;
    padding-top: 20px;
}

.oraclems-related-posts__title,
.oraclems-related-posts__title a {
    margin: 0;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}

.oraclems-related-posts__excerpt {
    margin: 0;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.oraclems-related-posts__button {
    align-self: flex-start;
    margin-top: auto;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.5s ease;
    gap: 15px;
    display: flex;
    align-items: center;
    color: #000;
    font-weight: 600;
    font-size: 18px;
    text-decoration: underline !important;
    text-underline-offset: 5px;
}
.oraclems-related-posts__button:hover{
    color: #000;
}
.oraclems-related-posts__button:hover,
.oraclems-related-posts__see-more:hover{
    transform: scale(1.04);
}
.related-blogs{
    font-family: var(--e-global-typography-4bc6c69-font-family), Sans-serif;
    font-size: var(--e-global-typography-4bc6c69-font-size);
    font-weight: var(--e-global-typography-4bc6c69-font-weight);
    line-height: var(--e-global-typography-4bc6c69-line-height);
    color: var(--e-global-color-text);
    padding-bottom: 20px;
}
.oraclems-related-posts__footer {
    text-align: center;
    margin-top: 40px;
}

.oraclems-related-posts__see-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s ease;
}
.loc-faq .elementor-widget-text-editor h3, 
.loc-faq .elementor-widget-text-editor h2{
	font-family: var(--e-global-typography-d73064f-font-family), Sans-serif;
    font-size: var(--e-global-typography-d73064f-font-size);
    font-weight: var(--e-global-typography-d73064f-font-weight);
    line-height: var(--e-global-typography-d73064f-line-height);
}
.loc-faq .elementor-widget-text-editor h3 strong, 
.loc-faq .elementor-widget-text-editor h2 strong{
	font-weight: 500 !important;
}
.bg-img-sm{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.industry-slider img,
.industry-slider .elementor-widget-image a img[src$=".svg"]{
	width: 100% !important;
	max-width: 100%;
}
.industry-slider a {
	width: 100% !important;
	max-width: 100%;
}
.menu-item-13777::after{
	display: none !important;
}
li.quote{
	border: 2px solid #bababa;
}
li.quote a{
	font-weight: 600 !important;
	text-transform: uppercase;
	padding-block: 6px !important;
}

/* ============================== MEDIA QUERIES STYLING ============================== */
@media (max-width: 1441px){
    .header-slider-sm  .swiper-pagination-progressbar {
        top: 130% !important;
        max-width: 80%;
    }
    .post-content-sm h4,
    .post-content-sm h5{
        font-size: 18px !important;
    }
    .post-content-sm h2,
    .post-content-sm h3{
        font-size: 20px !important;
    }
    .oraclems-related-posts__title,
    .oraclems-related-posts__title a {
        font-size: 22px;
    }
    .oraclems-related-posts__excerpt {
        font-size: 17px;
    }
}
@media (min-width: 1441px) and (max-width: 1680px){
    .menu-sm .e-n-menu-title-text{
        font-size: 15px !important;
    }
}
@media (max-width: 620px){
    .footer-logos-sm .elementor-widget-image:last-child{
        grid-column: 1 / -1;
        max-width: 30% !important;
        margin-inline: auto;
    }
}
@media (max-width: 881px){
    .two-cols{
        column-count: 1;
    }
	.custom-carousel-nav .slide-fraction,
    .slide-fraction{
		font-size: 18px !important;
	}
    .post-content-sm h4,
    .post-content-sm h5{
        font-size: 16px !important;
    }
    .post-content-sm h2,
    .post-content-sm h3{
        font-size: 18px !important;
    }
    .oraclems-related-posts__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .oraclems-related-posts__title,
    .oraclems-related-posts__title a {
        font-size: 20px;
    }
    .oraclems-related-posts__excerpt {
        font-size: 16px;
    }
    .related-blogs{
        padding-bottom: 0px;
    }
    .oraclems-related-posts__button {
        font-size: 16px;
    }
}
@media (min-width: 882px) and (max-width: 1024px){
    .oraclems-related-posts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px){
    .oraclems-related-posts {
        padding-block: 50px;
    }
    .oraclems-related-posts__content {
        gap: 14px;
        padding-top: 16px;
    }
    .oraclems-related-posts__title,
    .oraclems-related-posts__title a {
        font-size: 18px;
    }
    .oraclems-related-posts__excerpt {
        font-size: 15px;
        line-height: 1.5;
    }
    .oraclems-related-posts__button {
        font-size: 14px;
    }
}

@media (max-width: 881px) {
    .personal-lines-hero,
	.industry-hero {
        position: relative;
        overflow: hidden;
    }

    .personal-lines-hero::before,
	.industry-hero::before{
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.45); /* Adjust opacity as needed */
        z-index: 0;
    }

    .personal-lines-hero .e-con-inner,
	.industry-hero .e-con-inner{
        position: relative;
        z-index: 1;
    }
	.reviews-slider >.e-con-inner{
	display: grid !important;
		grid-template-columns: 1fr !important;
}
}
@media (min-width: 1481px) and (max-width: 1801px){
	.menu-sm .e-n-menu-title-text{
		font-size: 16px !important;
	}
	.menu-sm .e-n-menu-title{
		padding-inline: 8px !important;
	}
}
@media (min-width: 1300px) and (max-width: 1481px){
	.menu-sm .e-n-menu-title-text{
		font-size: 15px !important;
	}
	.menu-sm .e-n-menu-title{
		padding-inline: 8px !important;
	}
}
@media (min-width: 1101px) and (max-width: 1301px){
    .menu-sm .e-n-menu-title{
		padding-inline: 5px !important;
	}
	.menu-sm .e-n-menu-title-text{
		font-size: 13px !important;
	}
	
}
@media (min-width: 1465px){
	.comeercial-quote-heading{
    min-height: 71px;
}
}
@media (min-width: 1295px) and (max-width: 1341px){
   .comeercial-quote-heading{
		min-height: 50.45px;
	}
}
@media (min-width: 1441px) and (max-width: 1465px){
	.comeercial-quote-heading{
		min-height: 105px;
	}
}
@media (min-width: 1340px) and (max-width: 1440px){
	.comeercial-quote-heading{
		min-height: 52px;
	}
}