/* Prevent font scaling overflow */
html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Force container to adapt to large fonts */
body {
  overflow-wrap: break-word;
  word-break: break-word;
}
.elementor p a{text-decoration:underline;}
/* Hero Section Fix */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-text-editor {
  font-size: clamp(1rem, 2.5vw, 2rem); /* fluid font sizing */
  line-height: 1.2 !important;
  word-wrap: break-word;
}

/* Keep In Touch Sidebar Fix */
.keep-in-touch-widget {
  transform: scale(0.85); /* reduce size to fit */
  transform-origin: right center;
}

/* Icon buttons fix at bottom */
.contact-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact-icons .elementor-icon-box-title {
  font-size: 0.9rem !important;
}
@media screen and (max-width: 768px) {
	.e-con>.e-con-inner {
    max-width: 100% !important;
}
  html {
    font-size: 100% !important;
  }

  body, p, h1, h2, h3, h4, h5, h6 {
    font-size: 1rem !important;
  }
}
html {
  -webkit-text-size-adjust: 100%; /* For iOS Safari */
  -moz-text-size-adjust: 100%;    /* For Firefox */
  -ms-text-size-adjust: 100%;     /* For IE */
  text-size-adjust: 100%;         /* Standard */
}

html, body {
  font-size: 16px !important;
  -webkit-text-size-adjust: none !important;
  -moz-text-size-adjust: none !important;
  -ms-text-size-adjust: none !important;
  text-size-adjust: none !important;
}
.elementor-widget,
.elementor-column,
.elementor-section {
  min-width: 0;
  overflow-wrap: break-word;
}

.page-id-1550 .headrlogo .elementor-image-box-wrapper {
    display: flex;
}
.home a.elementor-button.elementor-button-link.elementor-size-sm:focus {
    outline: 1px solid #000 !important;
}
.page-id-1425 a.elementor-button.elementor-button-link.elementor-size-sm:focus {
    outline: 1px solid #000 !important;
}
.page-id-1550 .wpcf7-form.invalid .wpcf7-response-output {
    position: absolute !important;
    top: -58px !important;
    bottom: unset;
}
.wpcs_content_main span.requiredcont {
    color: #fff !important;
}

.form-border h3{margin-bottom:60px !important;}
.wpcf7 form .wpcf7-response-output {
	position: absolute;
	top: 115px;
	width: 50%;
	text-align: center;
	left: 50%;
	translate: -50%;
}
.form-border{
	margin-bottom:5px !important; 
	padding-bottom:0px!important}
header {
	padding-inline: 70px;
	padding-top:10px !important;
}
.wpcf7-not-valid-tip {
	color: #fff !important;
}

/* .cstm-a-tag, .cstm-a-tag span {
	color: inherit !important;
	font-size: inherit;
	font-weight: normal !important;
	font-weight: normal !important; 
	text-decoration: none !important;
} */
.logo-tagline{ margin-top:0px !important}

div#wpcs_content_main_816 .home-form{ margin-top:0px; position:static; background:transparent; padding:20px;   }
div#wpcs_content_inner_816{ padding: 0px !important; margin: 0px 20px 20px 20px !important;}
div#wpcs_tab_816{ width:230px !important; height:40px !important; line-height:36px !important;  top:270px !important; border-top-right-radius: 20px; border-top-left-radius: 20px;right: -93px !important; }

div#wpcs_content_inner_816{ padding:0px !important; margin:0px !important; }
div#wpcs_close_slider_816{ background:transparent !important;}
.formlogo{ width:300px; margin:0px auto; display:block; padding:0px; text-align:center;   border-bottom-left-radius:100px;border-bottom-right-radius:100px; }
.formlogo img{ width: 70px;
  border-radius: 100px; }
.form-border{ display:block; margin:40px 20px 0px 20px; border:1px dashed #fff; border-radius:20px; padding:20px; }
.form-border h3{ width:320px;display: block;margin: 0px auto 30px auto;font-size: 26px;text-align: center;color: #fff; background:#1d828b; margin-top: -32px; line-height: 26px;}
div#wpcs_content_inner_816 input,div#wpcs_content_inner_816 textarea{ border:1px solid #1db2ec; border-radius:8px; padding:10px;}
div#wpcs_content_inner_816 .wpcf7-submit{ width:220px; color:#1d828b; display:block; margin:0px auto 0px auto; background:#000 !important; border:1px solid #000; border-radius:40px !important;  }
div#wpcs_content_inner_816 p{ margin-bottom:2px !important; margin-top:8px; }
/* for phone */
@media screen and (max-width:600px){
	header {
	padding:10px 0 0 0 !important;
		display:grid !important;
		justify-content:center !important;
}
	header .wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-5.wp-block-group-is-layout-flex {
	justify-content: center;
}
	.wpcf7 form .wpcf7-response-output{width: 70%;
translate: -53%;}
	.form-border h3 {
		width: auto;}
}

.wpcf7 form .wpcf7-response-output {
    position: unset;
    translate: unset;
    margin: 20px auto 0 auto;
}
.elementor-button:focus {
    outline: 1px solid;
    outline-offset: 1px;
}


/***********MY CSS*******/
.savtwobtns .elementor-element.e-con-full.e-flex.e-con.e-child {
    width: max-content;
}


.savtwobtns {
    column-gap: 0px !important;
}
.partlogo img {
    filter: grayscale(1);
}
.partlogo img:hover {
    filter: unset;
}
.servicesbox {
    transition: all ease 0.23s;
}

.servicesbox:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.099);
    transform: translateY(-10px);
}

.reviewcont {
    transition: all ease 0.23s;
}

.reviewcont:hover {
      box-shadow: 0 0 50px rgba(0, 0, 0, 0.12);
    transform: translateY(-7px);  
}
.contantfomnw label {
    color: #25133f !important;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Lato';
}
.contantfomnw input.wpcf7-form-control.wpcf7-submit.has-spinner {
    font-size: 20px !important;
    background-color: #1d828b !important;
    border-radius: 0px !important;
    padding: 25px 70px;
   font-family: 'Lato';
	border: none !important;
}

.contantfomnw input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background-color: #000 !important;
}
.contantfomnw textarea {
	    height: 100px !important;
    border: 1px solid #000 !important;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.065);
    border-radius: 5px;
    margin-top: 15px !important;
    padding: 10px;
}
span.requiredcont {
    color: #756986;
    font-size: 85%;
    font-weight: 400;
    margin-left: .25em;
    opacity: .6;
}
.contantfomnw input:focus-visible{
	 border: 1px solid #000 !important;
	outline:none !important;
}
.contantfomnw input {
    border: 1px solid #000 !important;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.065) !important;
    border-radius: 5px !important;
    margin-top: 15px !important;
}
.contantfomnw .wpcf7-response-output {
    position: relative !important;
    left: 0 !important;
    width: 100% !important;
    top: 0 !important;
    text-align: right !important;
    translate: unset !important;
}
.contantfomnw input.wpcf7-form-control.wpcf7-submit:focus {
    outline: 2px solid #000 !important;
    outline-offset: 1px !important;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner:focus {
    outline: 1px solid #000;
    outline-offset: 1px;
}
.page-id-1550 .savlogomy .elementor-image-box-wrapper, .page-id-2574 .savlogomy .elementor-image-box-wrapper, .page-id-569 .savlogomy .elementor-image-box-wrapper, .single-post .savlogomy .elementor-image-box-wrapper, .wp-singular .savlogomy .elementor-image-box-wrapper{
    display: flex;
}
form.invalid span.wpcf7-not-valid-tip {
    color: red !important;
}


@media (max-width:767px){
	header#masthead {
    display: block !important;
}
	.mobilerevertcolumn .e-con-inner {
    flex-direction: column-reverse !important;
}
	.reviewimage .elementor-image-box-wrapper {
    display: flex !important;
    text-align: left !important;
    gap: 20px !important;
}
}


.faq-section summary.e-n-accordion-item-title {
    border-bottom: 0px !important;
}
.faq-section .elementor-element.e-con-full.e-flex.e-con.e-child {
    border-top: 0px !important;
}
.faq-section details#e-n-accordion-item-2546 {
    border-top: 1px solid #d5d8dc;
}
/* .faq-section #e-n-accordion-item-2546 summary.e-n-accordion-item-title {
    opacity: 0;
} */
.faq-section summary.e-n-accordion-item-title {
    justify-content: space-between !important;
}
.savlogomy em {
    color: #000000;
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: normal;
    font-style: normal;
    display: block;
}
.contantfomnw input.wpcf7-form-control.wpcf7-submit:focus {
    outline: 2px solid #000;
}
.contantfomnw span.wpcf7-not-valid-tip {
    color:  #990514 !important;
}
.contantfomnw span.requiredcont {
    color: #000 !important;
    opacity: 1;
}
.form-border h2 {
    width: 320px;
    display: block;
    margin: 0px auto 30px auto;
    font-size: 26px;
    text-align: center;
    color: #fff;
    background: #1d828b;
    margin-top: -32px;
    line-height: 26px;
}
div#wpcs_content_inner_816 .wpcf7-submit {
    color: #fff;
}
div#wpcs_tab_816:focus {
    outline: 1px solid #000;
    outline-offset: 2px;
}
html, body {
    overflow-x: hidden;
}


@media only screen and (max-width: 767px) {
	.headrlogo .elementor-image-box-wrapper {
    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 10px;
}
.headrlogo .elementor-image-box-content {
    text-align: left;
}	
.hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-expandible, .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal, .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-vertical {
    top: 130% !important;
}
	
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
.hfe-nav-menu__toggle.elementor-clickable {
    margin: 0px !important;
	text-align: right;
}
}

/* =================================================================== */
/* Quinton's ADA Fixes for WP Contact Slider - Trigger Tab Vertical Centering */
/* Added on May 28, 2025                                             */
/* =================================================================== */
div#wpcs_tab_816 {
    /* ... styles for vertical centering of the trigger tab ... */
    width: 230px !important; 
    height: 40px !important; 
    line-height: 36px !important; 
    right: -93px !important; 
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    position: fixed;
    top: 50% !important; 
    transform-origin: center center !important; 
    transform: translateY(-115px) rotate(-90deg); 
    
    border: 1px solid #22757C;
    border-bottom: none;
    cursor: pointer;
    overflow: hidden;
    background: #22757C;
    color: #ffffff;
    padding: 2px 0px 2px 0px; 
    text-align: center;
    z-index: 9999999; 
    font-size: 18px; 
}

div#wpcs_tab_816:focus {
    outline: 2px solid #000000 !important; 
    outline-offset: 3px !important;
}

/* --- End of Trigger Tab Vertical Centering --- */


/* =================================================================== */
/* Quinton's ADA Fixes for WP Contact Slider - Content Pane Zoom & Responsive Issues */
/* Added on May 26, 2025                       */
/* =================================================================== */

/* Adjustments for medium-small viewports */
@media (max-width: 600px) {
    div#wpcs_content_main_816 {
        width: 90vw !important; 
        max-width: 500px !important; 
    }
    div#wpcs_content_inner_816 {
        margin: 40px 15px 40px 15px !important; 
        padding: 15px !important;
    }
}

/* Adjustments for very small viewports */
@media (max-width: 600px) { 
  .elementor-1117 .elementor-element.elementor-element-f307750 .elementor-image-box-wrapper .elementor-image-box-img {
  padding-right: 15px;
} 
}
@media (max-width: 400px) { 
  .elementor-1117 .elementor-element.elementor-element-f307750 .elementor-image-box-wrapper .elementor-image-box-img {
  padding-right: 15px;
} 
	div#wpcs_content_main_816 {
        width: 95vw !important; 
        max-width: 500px !important;
    }
    div#wpcs_content_inner_816 {
        margin: 30px 10px 30px 10px !important;
        padding: 10px !important; 
    }
    /* Optional font size adjustments remain commented out unless needed */
    /*
    div#wpcs_content_inner_816,
    div#wpcs_content_inner_816 h2,
    ... 
    {
        font-size: 0.85rem !important; 
        line-height: 1.3 !important;
    }
    */
}

div#wpcs_content_main_816.is_open { 
    right: 0 !important; 
}

/* --- End of Content Pane Zoom & Responsive Issues --- */

/* ========================================================================== */
/* Quinton's ADA Fixes for WP Contact Slider - INTERNAL CONTENT RESPONSIVENESS */
/* Targeting issues when slider is open and page is zoomed / text resized    */
/* ========================================================================== */

/* Ensure the main inner container allows content to breathe */
div#wpcs_content_inner_816 {
    padding: 20px 15px !important; /* Add some padding back, adjust as needed */
    margin: 0px !important;        /* Remove side margins if they cause issues with vw width */
    box-sizing: border-box;      /* Ensures padding doesn't add to width */
    width: 100%;                 /* Take full width of its parent (wpcs_content_main_816) */
}

/* Make the form's decorative border responsive */
div#wpcs_content_inner_816 .form-border {
    margin: 40px 5px 0px 5px !important; /* Reduce side margins */
    padding: 15px !important; /* Reduce padding */
    width: auto; /* Allow it to shrink */
    box-sizing: border-box;
}

/* Make the "Keep in Touch" title INSIDE the slider responsive */
div#wpcs_content_inner_816 .form-border h2 {
    width: auto !important; /* Remove fixed width */
    max-width: 90%;         /* Allow it to be slightly less than container for padding */
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: -30px !important; /* Adjust as needed if padding changes */
    margin-bottom: 20px !important; /* Adjust as needed */
    font-size: clamp(1.1rem, 4vw, 1.6rem) !important; /* Fluid font size: min, preferred, max */
    line-height: 1.3 !important;
    padding: 5px 10px !important; /* Add some padding to the background */
    box-sizing: border-box;
    word-break: break-word; /* Ensure long words can break */
}

/* Make the logo INSIDE the slider form responsive */
div#wpcs_content_inner_816 .formlogo {
    width: auto !important; /* Remove fixed width */
    max-width: 150px !important; /* Max width for the logo container, adjust as needed */
    margin-bottom: 15px !important;
}

div#wpcs_content_inner_816 .formlogo img {
    max-width: 100% !important; /* Image scales with its container */
    height: auto !important;    /* Maintain aspect ratio */
    border-radius: 50%;      /* If you want it to remain circular */
}

/* General text elements within the slider for word wrapping */
div#wpcs_content_inner_816 p,
div#wpcs_content_inner_816 label {
    word-break: break-word;
    max-width: 100%; /* Ensure they don't overflow their containers */
}

/* Ensure form fields and textareas are responsive */
div#wpcs_content_inner_816 input[type="text"],
div#wpcs_content_inner_816 input[type="email"],
div#wpcs_content_inner_816 input[type="tel"],
div#wpcs_content_inner_816 textarea {
    width: 100% !important; /* Make them take full available width of their parent */
    max-width: 100% !important;
    box-sizing: border-box !important; /* Include padding/border in width calculation */
}

/* Make the submit button responsive */
div#wpcs_content_inner_816 .wpcf7-submit {
    width: 90% !important;   /* Make it responsive */
    max-width: 220px !important; /* But cap it at its original max width */
    /* margin: 0px auto 0px auto; (already centered by display:block and auto margins) */
}

/* --- End of Internal Content Fixes --- */