body{
    font-family: 'Open Sans', Arial, sans-serif;
	font-size:15px;
	line-height: 24px;
	color: black;
	/*overflow-x: hidden;*/
}


.weightLight{
	font-weight: 300;
}

.weightNormal{
	font-weight: 400;
}

.weightBold{
	font-weight: 700;
}

.weightBlack{
	font-weight: 900;
}

.fontLineHeight1{
	line-height: 0.7em;
}

.fontLineHeight2{
	line-height: 1.1em;
}

.fontLineHeight3{
	line-height: 1.3em;
}

.fontLineHeight4{
	line-height: 1.9em;
}
.fontLineHeight5{
	line-height: 2.9em;
}


.alignleft{
	float:left;
	margin:0px 15px 15px 0px;
}

a{
	text-decoration: none;
}

a:hover{
	color:red;
}


h1, h2, h3, h4, h5, h6{
	color: blue;
	margin:0px;
	padding: 0px;
	font-weight: 600;
	display: block;
}

strong, b{
	font-weight: 700;
}

@media (max-width : 1359px) {
}

@media (max-width : 1200px) {

}

@media (max-width : 991px) {

}

@media  (max-width : 767px) {

}

/***** GLOBAL FONT (match old site: Open Sans) *****/
body,
button, input, select, textarea{
    font-family: 'Open Sans', Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6{
    font-family: 'Open Sans', Arial, sans-serif;
}

/***** HEADER / FOOTER *****/
.theHeader .mainMenu.navbar-default{
    background: #fff;
    border: 0;
    margin-bottom: 0;
    min-height: 120px;
    box-shadow: none;
}
.theHeader .divLogo{
    float: left;
    padding: 46px 0 30px;
}
.theHeader .divLogo img{
    max-width: 300px;
    width: 100%;
    height: auto;
}
/* Emergency service block (far right of header) */
.theHeader .header-emergency{
    float: right;
    margin: 26px 0 0 25px;
    text-align: left;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
    color: #333;
}
.theHeader .header-emergency a{
    color: #333;
    font-weight: 700;
    text-decoration: none;
}
.theHeader .header-emergency a:hover{
    color: #333;
    text-decoration: none;
}

/***** MENU/NAVIGATION *****/
.theHeader .menu-items{
    float: right;
}
.theHeader .navbar-nav.mainmenu{
    margin-top: 45px;
}
.theHeader .navbar-nav.mainmenu > li > a{
    color: #666;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    padding: 10px 14px;
}
.theHeader .navbar-nav.mainmenu > li > a:hover,
.theHeader .navbar-nav.mainmenu > li > a:focus{
    color: #666;
    background: rgba(0,0,0,0.03);
    opacity: 0.7;
}
.theHeader .navbar-nav.mainmenu > li.active > a,
.theHeader .navbar-nav.mainmenu > li.active > a:hover,
.theHeader .navbar-nav.mainmenu > li.active > a:focus,
.theHeader .navbar-nav.mainmenu > li.current-menu-item > a,
.theHeader .navbar-nav.mainmenu > li.current-menu-parent > a,
.theHeader .navbar-nav.mainmenu > li.current-menu-ancestor > a{
    color: #474c4f;
    background: transparent;
    box-shadow: none;
    opacity: 1;
}

/***** HEADER: MOBILE *****/
@media (max-width: 767px){
    .theHeader .navbar-header{ float: none; }
    .theHeader .divLogo{ float: left; padding: 14px 0; }
    .theHeader .divLogo img{ max-width: 200px; }
    .theHeader .navbar-toggle{ display: block; float: right; margin: 22px 0 0; }
    /* Emergency text: full width below the logo/toggle row */
    .theHeader .header-emergency{ float: none; clear: both; margin: 0 0 12px; text-align: left; font-size: 16px; }
    .theHeader .mainMenu.navbar-default{ min-height: 0; }
    /* Collapsed menu spacing */
    .theHeader .menu-items{ float: none; }
    .theHeader .navbar-nav.mainmenu{ margin-top: 0; }
    .theHeader .navbar-nav.mainmenu > li{ float: none; }
}

/***** FOOTER *****/
.site-footer .footer-col{ overflow-wrap: break-word; word-wrap: break-word; }
.site-footer .footer-col a{ overflow-wrap: break-word; word-break: break-word; }
.site-footer{
    margin-top: 40px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.7;
}
/* Dark part of the footer */
.site-footer .footer-top{
    background: #474C4F;
    color: #ffffff;
    padding: 70px 0 30px;
}
.site-footer a{ color: #c9c9c9; text-decoration: none; }
.site-footer a:hover{ color: #fff; text-decoration: underline; }
.site-footer h4{
    color: #fff;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 23px;
    font-weight: 700;
    margin: 0 0 18px;
}
.site-footer .footer-col{ margin-bottom: 30px; }
.site-footer .footer-col ul{ list-style: none; padding: 0; margin: 0; }
.site-footer .footer-links ul li{ margin-bottom: 4px; line-height: 1.4; }
.site-footer .footer-affiliations img{ max-width: 230px; height: auto; margin: 4px 0 12px; }
.site-footer .footer-menu .navbar-nav{ float: none; margin: 0; }
.site-footer .footer-menu .navbar-nav > li{ float: none; display: block; }
.site-footer .footer-menu .navbar-nav > li > a{ color: #cfcfcf; padding: 4px 0; }
.site-footer .footer-menu .navbar-nav > li > a:hover{ color: #fff; background: transparent; }
.site-footer .footer-bottom{
    background: #ffffff;
    color: #666666;
    padding: 14px 0;
    margin-top: 0;
    font-size: 13px;
}
.site-footer .footer-bottom .container{ overflow: hidden; }
.site-footer .footer-bottom-logo{ text-align: left; }
.site-footer .footer-bottom-logo{ margin-top: 10px; }
.site-footer .footer-bottom-logo img{ max-width: 310px; height: auto; }
.site-footer .footer-bottom-copy{
    text-align: center;
    margin-top: 30px;
    color: #666666;
    font-size: 16px;
    font-weight: 400;
}
@media (max-width: 767px){
    .site-footer .footer-bottom-logo{ text-align: center; margin: 10px 0; }
    .site-footer .footer-bottom-copy{ margin-top: 20px; }
}

/***** WPBAKERY *****/
/* Full-size source images scale down responsively to their container */
.site-content img{ max-width: 100%; height: auto; }
/* Our Products images: full width on mobile */
@media (max-width: 767px){
    body.page-id-99 .site-content .wpb_single_image img{ width: 100%; }
}

/* Content headings match old Divi site: Open Sans, weight 500, #333 */
.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6{
    color: #333333;
    font-family: 'Open Sans', Arial, sans-serif;
    font-weight: 500;
    line-height: 1.2;
}
/* Heading scale matches live Divi site exactly */
.site-content h1{ font-size: 26px; font-weight: 500; }
.site-content h2{ font-size: 23px; font-weight: 500; }
.site-content h3{ font-size: 19px; font-weight: 700; }
.site-content h4{ font-size: 18px; font-weight: 500; }
.site-content h5{ font-size: 16px; font-weight: 500; }
.site-content h6{ font-size: 15px; font-weight: 500; }

/* Content body text — matches live site: Open Sans 16px / 500 / #666 */
.site-content,
.site-content p,
.site-content li,
.site-content .wpb_text_column,
.site-content .wpb_text_column p,
.site-content .wpb_text_column li{
    font-size: 16px;
    font-weight: 500;
    color: #666666;
    line-height: 23.8px;
}
/* Visible separation between text blocks via spacing (not <br>) */
.site-content .wpb_text_column p{ margin: 0 0 16px; }
.site-content .wpb_text_column p:last-child{ margin-bottom: 0; }
.site-content .wpb_text_column ul,
.site-content .wpb_text_column ol{ margin: 0 0 16px; padding-left: 22px; }
.site-content .wpb_text_column h1,
.site-content .wpb_text_column h2,
.site-content .wpb_text_column h3,
.site-content .wpb_text_column h4{ margin-top: 24px; margin-bottom: 12px; }
.site-content .wpb_text_column > *:first-child{ margin-top: 0; }
/* intro emphasis matches live (black bold) */
.site-content .wpb_text_column p > strong{ color: #000000; }
/* content links use the live accent blue; heading links keep heading color */
.site-content a{ color: #2ea3f2; }
.site-content a:hover{ color: #2ea3f2; text-decoration: underline; }
.site-content h1 a, .site-content h2 a, .site-content h3 a,
.site-content h4 a, .site-content h5 a, .site-content h6 a{ color: inherit; }

/* Work gallery pages: uniform 3-col grid with captions (matches live) */
.site-content .work-gallery{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 22px;
    margin: 10px 0 20px;
}
.site-content .work-gallery .wg-item{ display: block; }
.site-content .work-gallery .wg-thumb{
    display: block;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #eee;
}
.site-content .work-gallery .wg-thumb img{
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .35s ease;
}
.site-content .work-gallery .wg-item:hover .wg-thumb img{ transform: scale(1.05); }
.site-content .work-gallery .wg-cap{
    margin-top: 5px;
    font-size: 17px;
    font-weight: 400;
    color: #333333;
    line-height: 1.3;
}
@media (max-width: 767px){
    .site-content .work-gallery{ grid-template-columns: repeat(2, 1fr); }
}
.site-content .work-gallery .wg-thumb{ cursor: pointer; }

/* Magnific Popup zoom/fade animation (mfp-with-zoom), same as the original site */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg{ opacity: 0; -webkit-backface-visibility: hidden; transition: all .3s ease-out; }
.mfp-with-zoom.mfp-ready .mfp-container{ opacity: 1; }
.mfp-with-zoom.mfp-ready.mfp-bg{ opacity: 0.85; }
.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg{ opacity: 0; }
/* Arrows use FontAwesome chevrons (Divi's CSS references its ETmodules font, which we don't load) */
.mfp-arrow-left:after,
.mfp-arrow-right:after{ font-family: FontAwesome !important; font-size: 44px !important; }
.mfp-arrow-left:after{ content: "\f104" !important; }
.mfp-arrow-right:after{ content: "\f105" !important; }

/* Buttons match old Divi "Read More": outline #474c4f, subtle hover + arrow slide */
.site-content .briggs-btn a.vc_general.vc_btn3,
.site-content a.vc_general.vc_btn3.briggs-btn{
    background: transparent !important;
    color: #474c4f !important;
    border: 2px solid #474c4f !important;
    border-radius: 3px !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 6px 20px !important;
    text-transform: none !important;
    transition: all .3s ease !important;
    position: relative;
    overflow: hidden;
}
.site-content .briggs-btn a.vc_general.vc_btn3:hover,
.site-content a.vc_general.vc_btn3.briggs-btn:hover{
    background: rgba(0,0,0,.05) !important;
    color: #474c4f !important;
    padding-right: 34px !important;
}
.site-content .briggs-btn a.vc_general.vc_btn3:after,
.site-content a.vc_general.vc_btn3.briggs-btn:after{
    content: "\f105"; /* FontAwesome angle-right (chevron) */
    font-family: FontAwesome;
    font-size: 18px;
    line-height: 1;
    position: absolute;
    right: 20px;
    opacity: 0;
    transition: all .3s ease;
}
.site-content .briggs-btn a.vc_general.vc_btn3:hover:after,
.site-content a.vc_general.vc_btn3.briggs-btn:hover:after{
    opacity: 1;
    right: 14px;
}

/***** PAGES *****/
/* Full-bleed home hero (matches old full-width header image) */
.site-content .home-hero{
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}
.site-content .home-hero .wpb_column,
.site-content .home-hero .vc_column-inner,
.site-content .home-hero .wpb_wrapper,
.site-content .home-hero .wpb_single_image,
.site-content .home-hero figure,
.site-content .home-hero .vc_single_image-wrapper,
.site-content .home-hero .vc_figure{ margin:0 !important; padding:0 !important; width:100%; }
.site-content .home-hero img{ width:100%; height:auto; display:block; }

/* Dark page-title bar (matches old Divi interior pages) */
.site-content .page-title-bar{
    background: #474c4f;
    margin-top: 49px;
    margin-left: 0;   /* align dark bar with content edge (cancel vc_row -15px overshoot) */
    margin-right: 0;
    height: 90px;
    padding-top: 11px;
    overflow: hidden;
    margin-bottom: 30px;
}
.site-content .page-title-bar .wpb_column > .vc_column-inner{ padding: 14px 0; }
.site-content .page-title-bar h2{
    color: #ffffff !important;
    padding-left: 64px;
    margin: 0;
    font-weight: 700;
}
@media (max-width: 767px){
    .site-content .page-title-bar h2{ padding-left: 20px; }
}

/* Prevent long strings (e.g. email addresses) from overflowing columns */
.site-content .wpb_text_column{ overflow-wrap: break-word; word-wrap: break-word; }

/* Single service template: intro + 3/4 content + 1/4 "Services" side nav */
.site-content .service-intro{ margin-bottom:28px; }
.site-content .service-intro p{ margin:0 0 6px; font-size:16px; font-weight:700; color:#000; }
.site-content .service-intro p:last-child{ margin-bottom:0; }
/* Service name heading (below the "Our Services" bar) */
.site-content .service-single .service-name{ font-size:30px; font-weight:400; color:#333; margin:0 0 22px; line-height:1.1; }
/* Service body text is 14px on the live site (smaller than other pages) */
.site-content .service-single .service-main,
.site-content .service-single .service-main p,
.site-content .service-single .service-main li{ font-size:14px; }
/* Breathing room to the right of the media text */
.site-content .service-single .service-main .vc_row-o-content-middle .wpb_text_column{ padding-right: 100px; }
/* Media image fills its half-column (matches the live media/text split) */
.site-content .service-single .service-main .wpb_single_image,
.site-content .service-single .service-main .wpb_single_image .vc_figure,
.site-content .service-single .service-main .wpb_single_image .vc_single_image-wrapper{ display:block; width:100%; }
.site-content .service-single .service-main .wpb_single_image img{ width:100%; height:auto; }
/* Service side navigation (WPBakery component wpb_service_nav) */
.site-content .service-side-nav .ssn-title{ font-size:18px; font-weight:400; color:#333; margin:0 0 14px; }
.site-content .service-side-nav ul{ list-style:none; margin:0; padding:0; }
.site-content .service-side-nav li{ margin:0 0 12px; line-height:1.35; }
.site-content .service-side-nav a{ color:#666; font-size:14px; }
.site-content .service-side-nav a:hover{ color:#2ea3f2; text-decoration:none; }
.site-content .service-side-nav li.current a{ color:#2ea3f2; }

/* Contact form honeypot (hidden off-screen) */
.briggs-hp-wrap{ position: absolute !important; left: -9999px !important; top: -9999px !important; }

/* Contact form: captcha + submit on one row, right-aligned */
.site-content .wpcf7 .briggs-form-actions{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    position: relative;
}
/* Keep the CF7 ajax spinner out of the flex flow so it doesn't push the Submit
 * button left or cause a layout shift. Submit then aligns to the textarea's right edge. */
.site-content .wpcf7 .briggs-form-actions .wpcf7-spinner{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}
.site-content .wpcf7 .briggs-captcha .wpcf7-quiz-label{ font-size: 16px; font-weight: 400; margin-right: 12px; }
.site-content .wpcf7 input.wpcf7-quiz{
    display: inline-block !important;
    width: 50px !important;
    height: 44px !important;      /* match the Submit button height */
    margin-bottom: 0 !important;
    padding: 0 8px !important;
    text-align: center;
}
@media (max-width: 600px){
    .site-content .wpcf7 .briggs-form-actions{ flex-wrap: wrap; }
}

/* Contact Form 7 — matches live site (filled gray fields, blue outline submit) */
.site-content .wpcf7 .briggs-form-row{ display:flex; gap:22px; }
.site-content .wpcf7 .briggs-form-row .half{ flex:1; display:block; }
.site-content .wpcf7 .briggs-form-row .wpcf7-form-control-wrap{ display:block; }
@media (max-width:600px){ .site-content .wpcf7 .briggs-form-row{ display:block; } }
.site-content .wpcf7 input[type=text],
.site-content .wpcf7 input[type=email],
.site-content .wpcf7 textarea{
    display:block; width:100%;
    background:#eeeeee; border:0; border-radius:0;
    padding:16px; margin-bottom:22px;
    font-family:'Open Sans',Arial,sans-serif; font-size:14px; color:#333333;
    box-sizing:border-box;
}
.site-content .wpcf7 input::placeholder,
.site-content .wpcf7 textarea::placeholder{ color:#757575; opacity:1; }
.site-content .wpcf7 textarea{ min-height:200px; }
.site-content .wpcf7 input[type=submit]{
    background:transparent; color:#2ea3f2;
    border:2px solid #2ea3f2; border-radius:3px;
    padding:6px 20px; font-size:20px; font-weight:400; line-height:1.4;
    font-family:'Open Sans',Arial,sans-serif; cursor:pointer;
    transition:background .3s ease;
}
.site-content .wpcf7 input[type=submit]:hover{ background:rgba(0,0,0,.05); }
@media (max-width:600px){ .site-content .wpcf7 .briggs-form-row{ display:block; } }