/*~~~~~~~~~~~~~~~~~~~~ Primary CSS Start Here ~~~~~~~~~~~~~~~~~~~~~~~~*/
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
*{margin:0px;padding:0px;box-sizing:border-box;}
body,html{margin:0px;padding:0px;box-sizing:border-box;}
h1,h2,h3,h4,h5,h6,p,ul,li,ol,a{margin:0px;padding:0px;}
img{max-width:100%;vertical-align:top !important;}
body{overflow-x:hidden;}
a,button,input,textarea,select,a:hover,a:focus,button:hover,button:focus,input:hover,input:focus,textarea:hover,textarea:focus,select:hover,select:focus{ text-decoration:none;box-shadow:none;outline:none;transition:0.4s ease all; }
h1,h2,h3,h4,h5,h6{ font-family: "Plus Jakarta Sans", sans-serif; }
body{ font-family: "DM Sans", sans-serif; }
/*~~~~~~~~~~~~~~~~~~~~ Primary CSS End Here ~~~~~~~~~~~~~~~~~~~~~~~~*/

/*~~~~~~~~~~~~~~~~~~~~ All Pages CSS Start Here ~~~~~~~~~~~~~~~~~~~~~~~~*/

.lft_icon-mobHeader { display: flex; }
.para_header-div p { display: flex; align-items: center; gap: 10px; }
.para_header-div p span.fnt_wt-hd { font-size: 20px; line-height: 26px; font-weight: 800; }
.eml_div-hdr svg { width: auto !important; height: auto !important; }
.social_icon-dv svg { width: auto; height: auto; transition: 0.4s ease all; }
.social_icon-dv svg path,.hd_btn-div a span.elementor-button-icon svg path{ transition: 0.4s ease all;}
.social_icon-dv svg:hover path { fill:#F83839!important; }
.social_icon-dv a { display: flex; width: auto !important; height: auto !important; }
.srch_icon-divHeader .elementor-icon-wrapper { display: flex; }
.menu_header-div nav { width: 100%!important; position: inherit !important; }
.hd_btn-div a:hover span.elementor-button-icon svg path { stroke: #F83839 !important; }
.phone-icon-lt .elementor-icon-wrapper { display: flex; }
.contact_info-list-tp:hover .call_title-main h6 {color: rgb(255 255 255 / 80%) !important;}
.contact_info-list-tp .call_title-main h6 { transition: 0.4s ease all; }
.roofing-in-montana { padding-left: calc((100% - 1320px)/ 2); } 
.roofing_rt-col .roofing_rt-img img { min-width: 1091px; float: right; }
.area-serve-map,.area-serve-map .elementor-custom-embed { height: 100%; }
.social_list-footer ul li { margin: 0 !important; } 
.social_list-footer ul li a { display: flex; gap: 15px; } 
.social_list-footer ul li a span.elementor-icon-list-text { padding: 0 !important; } 
.social_list-footer ul { gap: 15px; }
/*~~~~~~~~~~~~~~~~~~~~ All Pages CSS End Here ~~~~~~~~~~~~~~~~~~~~~~~~*/
/* review section css start here */
.testi_rev-div .uc_quote_info  .uc_author { order: 1; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
.testi_rev-div .uc_quote_info .uc_author .ue-image-spacing { display: none; }
.testi_rev-div .uc_quote_info  .ue-text { order: 3; } 
.testi_rev-div .uc_quote_info  .uc_stars { order: 2; }
.testi_rev-div .uc_quote_info .uc_stars .ue_rate { display: flex; }
.testi_rev-div .owl-nav .owl-prev:hover{ background-color: transparent !important; }
.testi_rev-div .owl-nav .owl-next:hover{ background-color: transparent !important; }
.testi_rev-div .owl-nav .owl-prev { top: 50% !important; transform: translateY(-50%); left: -77px !important; width: auto !important; height: auto !important; } 
.testi_rev-div .owl-nav .owl-next { top: 50% !important; transform: translateY(-50%); right: -77px !important; width: auto !important;height: auto !important; } 
.testi_rev-div .owl-nav .owl-prev i::before,.testi_rev-div .owl-nav .owl-next i:before{ content: unset !important; } 
.testi_rev-div .owl-nav .owl-prev i { background-image: url(/wp-content/uploads/2025/12/rev_left-icon.svg); width: 47px; height: 22px; background-size: 47px 22px !important; background-repeat: no-repeat; background-position: center; }
.testi_rev-div .owl-nav .owl-next i { background-image: url(/wp-content/uploads/2025/12/rev_right-icon.svg); width: 47px; height: 22px; background-size: 47px 22px !important; background-repeat: no-repeat; background-position: center; }
/* review section css end here */
.mail_call-divCta .contact_info-list-tp:hover .call_title-main h6 {
    color: #F83839 !important;
}
.fly_roof-bnnr-h { padding-left: calc((100% - 1520px)/ 2); }




.marquee_outer-cntr { position: relative; display: flex; overflow: hidden; user-select: none;}
.marquee_ct-col { flex-shrink: 0 !important; display: flex;min-width: 100%; animation: scroll 20s linear infinite; width: max-content; }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-100% - 90px)); } }
.marquee_ct-col { flex-wrap: nowrap; }
.marquee_ct-col .ct_text {white-space: nowrap;} 
.marquee_ct-col .hd_mar-firs:after { position: absolute; right: -70px; left: unset; width: 1px; height: 100%; background: #FFFFFF; content: ''; top: 0; opacity: 1 !important; }



/* Faq page css start here */
.faq_sec-pg .global-para-ct { display: flex; flex-direction: column; gap: 10px; } 
.faq_sec-pg .global-para-ct p strong{
	color: #000 !important;
}
.faq_sec-pg .global-para-ct ul,.faq_sec-pg .global-para-ct ol,.faq_sec-pg ul{ padding-left: 25px; display: flex; flex-direction: column; gap: 5px; }







/*~~~~~~~~~~~~~~~~~~~~ Media Queries CSS Start Here ~~~~~~~~~~~~~~~~~~~~~~~~*/

 @media only screen and (min-width: 1367px) and (max-width: 1600px){
	.roofing_lt-col { width: 700px; }
	.roofing_rt-col { width: calc(100% - 730px); }
	.roofing_rt-col .roofing_rt-img img { min-width: 1000px; float: right; }
	.cnt_btnheader-div { gap: 20px; } 
	.logo_img-header img { max-width: 250px !important; } 
	.menu_header-div nav ul li { margin-right: 40px !important; }
	.menu_header-div nav ul li:last-child { margin-right: 0 !important; }
	.image_bg-ctaFly img { width: 100vw !important; max-width: 100vw !important; padding: 0 20px; }
	.fly_roof-bnnr-h { padding-left: 20px !important; }
	.fr_rt-col-bnnr {  width: calc(50% - 25px) !important; }
    .fly_roof-bnnr-h { gap: 50px !important; } 
	.fr_lt-col-bnnr { width: calc(50% - 25px) !important; }
}

@media (max-width:1366px){
	.roofing-in-montana { padding-left: 20px !important; }
	.roofing_rt-col .roofing_rt-img img { min-width: 800px; float: right; }
	.testi_rev-div .uc_carousel { position: relative; padding-bottom: 50px; }
	.testi_rev-div .owl-nav .owl-next { top: unset !important; transform: unset  !important; right: calc(50% - 52px) !important; width: auto !important; bottom: 0; }
    .testi_rev-div .owl-nav .owl-prev { transform: unset !important; right: unset !important; width: auto !important; left: calc(50% - 52px) !important; top: unset !important; bottom: 0; }
	.image_bg-ctaFly img { width: 100vw !important; max-width: 100vw !important; padding: 0 20px; }
	.fly_roof-bnnr-h { padding-left: 20px !important; }
}

@media (max-width:1200px){
.para_header-div p { gap: 6px; }
.para_header-div p span.fnt_wt-hd { font-size: 18px; line-height: 22px; }
.social_list-footer ul li a { display: flex; gap: 10px; } 
.social_list-footer ul { gap: 10px; }
.marquee_ct-col .hd_mar-firs:after {right: -35px; }

}
@media (max-width:1024px){
.menu_header-div .nav_menu-header nav { top: 100% !important; left: 0 !important; width: 100% !important; position: absolute !important; }
.menu_header-div, .menu_header-div .nav_menu-header, .menu_header-div .nav_menu-header .elementor-widget-container, .menu_header-div .nav_menu-header .elementor-widget-container .hfe-nav-menu { position: initial !important; }
.nav_menu-header .hfe-active-menu .hfe-nav-menu-icon svg { width: 25px; height: 25px; }
.nav_menu-header .hfe-nav-menu-icon { display: flex; padding: 0 !important; }
.footer_nav-div ul { display: flex; flex-direction: column; gap: 10px; }
.footer_nav-div ul:after,.footer_nav-div ul:before { content: unset; }
.footer_nav-div .hfe-nav-menu:before,.footer_nav-div .hfe-nav-menu:after{ content: unset; } 
}

@media (max-width:991px){
	.trust_list-title .elementor-icon-list-text { padding: 0px !important; }
	.roofing_rt-col .roofing_rt-img img { min-width: 100%; }
	.estimate_sec-main::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to left, #f6f6f600 0%, #f6f6f6 50%); }
	.testi_rev-div .owl-nav .owl-prev i { width: 40px; height: 18px; background-size: 40px 18px !important; }
	.testi_rev-div .owl-nav .owl-next i { width: 40px; height: 18px; background-size: 40px 18px !important; }
	.testi_rev-div .owl-nav .owl-next { right: calc(50% - 45px) !important;}
    .testi_rev-div .owl-nav .owl-prev {  left: calc(50% - 45px) !important;}
	.insurance_lt-img img { aspect-ratio: 4/3; object-fit: cover; object-position: center; }
	.marquee_ct-col .hd_mar-firs:after {right: -20px; }
}

@media (max-width:767px){
	.trusted_full-img img, .trusted_half-img img { aspect-ratio: 3/2; }
	.roofing-in-montana { padding-left: 15px; }
	.certified_lt-img img { aspect-ratio: 3/2; object-fit: cover; object-position: top center; }
	.certified_installer-lt-col,.insurance_lt-col { display: block; }
	.estimate_sec-main::before { background: linear-gradient(to left, #f6f6f6 0%, #f6f6f67d 100%); }
	.nav_menu-header .hfe-active-menu .hfe-nav-menu-icon svg { width: 20px; height: 20px; }
	.para_header-div p span.fnt_wt-hd { font-size: 14px; line-height: 18px; }
	.testi_rev-div .uc_carousel { padding-bottom: 40px; }
	.fly_roof-bnnr-h { padding-left: 15px !important; }
	.marquee_ct-col .hd_mar-firs:after {right: -15px; }
	.marquee_outer-cntr { flex-wrap: nowrap !important; }
}

@media (max-width:575px){
	.estimate_sec-main::before { background: linear-gradient(to left, #f6f6f6f2 0%, #f6f6f67d 100%); }
	.menu_footer-main{ width: 100% !important; }
	.mail_footer-main{ width: 100% !important; }
}

@media (max-width:480px){
	.trusted_full-img, .trusted_half-img { width: 100% !important; }
	.top_header-div { display: none; }
}

@media (max-width:414px){
	.support_listing-widget { width: 100% !important; }
}
@media (max-width:375px){
	.footer_nav-div{ width: 100% !important; }
}

/*~~~~~~~~~~~~~~~~~~~~ Media Queries CSS End Here ~~~~~~~~~~~~~~~~~~~~~~~~