@charset "UTF-8";
/*
Theme Name: Portillo Construction
Author: Webdesign 309
Author URI: http://www.webdesign309.com/
Description: We are a full service webdesign and development company delivering high end design and development solution for our clients and delivering best solutions to attract more visibility and customization to your website.
Version: 3.0.0
Tags: peoria web development, chicago web development, custom wordpress development, advertising agency solutions, florida webdesign, chicago webdesign, illinois webdesign, custom webdesign development
*/

@font-face { font-family: 'ITC-Avant-Garde-Gothic-bold'; src: url('fonts/AvantGarde-Bold.eot'); src: url('fonts/AvantGarde-Bold.eot?#iefix') format('embedded-opentype'), url('fonts/AvantGarde-Bold.woff2') format('woff2'), url('fonts/AvantGarde-Bold.woff') format('woff'), url('fonts/AvantGarde-Bold.ttf') format('truetype'), url('fonts/AvantGarde-Bold.svg#AvantGarde-Bold') format('svg'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: 'ITC-Avant-Garde-Gothic-book'; src: url('fonts/AvantGardeCE-Book.eot'); src: url('fonts/AvantGardeCE-Book.eot?#iefix') format('embedded-opentype'), url('fonts/AvantGardeCE-Book.woff2') format('woff2'), url('fonts/AvantGardeCE-Book.woff') format('woff'), url('fonts/AvantGardeCE-Book.ttf') format('truetype'), url('fonts/AvantGardeCE-Book.svg#AvantGardeCE-Book') format('svg'); font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'ITC-Avant-Garde-Gothic-Medium'; src: url('fonts/AvantGarde-Medium.eot'); src: url('fonts/AvantGarde-Medium.eot?#iefix') format('embedded-opentype'), url('fonts/AvantGarde-Medium.woff2') format('woff2'), url('fonts/AvantGarde-Medium.woff') format('woff'), url('fonts/AvantGarde-Medium.ttf') format('truetype'), url('fonts/AvantGarde-Medium.svg#AvantGarde-Medium') format('svg'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Avenir-black'; src: url('fonts/AvenirLTPro-Black.eot'); src: url('fonts/AvenirLTPro-Black.eot?#iefix') format('embedded-opentype'), url('fonts/AvenirLTPro-Black.woff2') format('woff2'), url('fonts/AvenirLTPro-Black.woff') format('woff'), url('fonts/AvenirLTPro-Black.ttf') format('truetype'), url('fonts/AvenirLTPro-Black.svg#AvenirLTPro-Black') format('svg'); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Helvetica-Neue-bold'; src: url('fonts/HelveticaNeue-Bold.eot'); src: url('fonts/HelveticaNeue-Bold.eot?#iefix') format('embedded-opentype'), url('fonts/HelveticaNeue-Bold.woff2') format('woff2'), url('fonts/HelveticaNeue-Bold.woff') format('woff'), url('fonts/HelveticaNeue-Bold.ttf') format('truetype'), url('fonts/HelveticaNeue-Bold.svg#HelveticaNeue-Bold') format('svg'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: 'Helvetica-Neue-Medium'; src: url('fonts/HelveticaNeue-Medium.eot'); src: url('fonts/HelveticaNeue-Medium.eot?#iefix') format('embedded-opentype'), url('fonts/HelveticaNeue-Medium.woff2') format('woff2'), url('fonts/HelveticaNeue-Medium.woff') format('woff'), url('fonts/HelveticaNeue-Medium.ttf') format('truetype'), url('fonts/HelveticaNeue-Medium.svg#HelveticaNeue-Medium') format('svg'); font-weight: 500; font-style: normal; font-display: swap; }


:root {
--body-color: #333333;
--primary-color: #bc6c25;
--sec-color: #f5f3e9;
--white-color: rgba(255, 255, 255, 1);
--black-color: rgb(0, 0, 0);
--footer-color: #283618;
--btn-color: #DBBB70 ;


--body-font: 'ITC-Avant-Garde-Gothic-book';
--btn-font: 'ITC-Avant-Garde-Gothic-bold';
--heading-font:'ITC-Avant-Garde-Gothic-bold';
--Medium-font:'Helvetica-Neue-Medium';
--primary-font:'Avenir-black';
--sec-font:'Helvetica-Neue-bold';
}


*:focus {
outline: none;
}

/* 1. Create a Clean Base
------------------------------------------------------------------------------*/
html, body, br, hr, div, span, a, object, iframe, ul, ol, dl, li, dt, dd, h1, h2, h3, h4, h5, h6, p, blockquote, q, address, small, big, cite, dfn, ins, del, i, em, b, strong, sup, sub, strike, pre, code, samp, kbd, var, tt, form, fieldset, legend, label, input, textarea, option, .nobox { background: transparent; border: 0; font-size: 100%; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

blockquote { quotes: none; }
br { height: 0; }
ul, ol, dl, li { margin: 0; padding: 0; list-style-type: none; }
ul, ol { margin: 0 0 0 0px; }
html, body { appearance: none; -webkit-appearance: none; border: none; -webkit-text-size-adjust: none; }


/* 2. Define Base Typography
------------------------------------------------------------------------------*/
body { padding: 0; margin: 0; font-family: var(--body-font); font-size: 20px; color: var(--body-color); line-height: 32px; box-sizing: border-box; overflow-x: hidden; }
/* section { overflow: hidden; } */
*, *:after, *:before { box-sizing: border-box; }

/* Create the Default Headers  */
h1, h2, h3, h4, h5, h6 { margin: 0; color: var(--black-color); line-height: 1.2; font-weight: normal; font-family: var(--heading-font); text-transform: capitalize; }

/* Specific Header Settings */
h1, .h1 { font-size: 60px; }
h2, .h2 { font-size: 45px; }
h3, .h3 { font-size: 40px; }
h4, .h4 { font-size: 35px; }
h5, .h5 { font-size: 30px; }
h6, .h6 { font-size: 24px; }
p { word-wrap: break-word; margin-bottom: 24px; font-size: 24px; line-height: 32px; }


/* Other Typo */
strong { font-weight: bold; }
hr { border: 0 #000 solid; border-top-width: 1px; clear: both; height: 0; }
ol { list-style: decimal; }
ul { list-style: disc; }


/* Remove border around linked images */
img { max-width: 100%; border: 0; border-style: none; height: auto; }

/* 4. Links
------------------------------------------------------------------------------*/

/* Default Link Types */
a { text-decoration: none; transition: 0.5s; color: var(--btn-color); display: inline-block; font-size: 20px; line-height: 25px; }
a:hover { color: var(--body-color); }
/* 5. Forms
------------------------------------------------------------------------------*/
.button, a.button, button, html input[type="button"], input[type="reset"], input[type="submit"] { font-family: var(--btn-font); font-weight: normal; margin: 0 0 0 0; padding: 8px 45px; border-radius: 28px; background-color: var(--btn-color); border: 2px solid var(--body-color); display: inline-block; vertical-align: middle; letter-spacing: 2%; font-size: 20px; color: var(--black-color); line-height: 25px; position: relative; outline: none; box-shadow: none; text-align: center; text-decoration: none; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; overflow: hidden; position: relative; z-index: 0; cursor: pointer; text-transform: capitalize; }
.button::after, a.button::after{ content: ''; position: absolute; width: 100%; height: 100%; background-color: var(--btn-color); right: 0; top: 0; transition: all 0.3s; z-index: -1; }
.button:hover::after, a.button:hover::after{ width: 0; }

.button:hover, a.button:hover, button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { color: var(--white-color) !important; background-color: var(--body-color); border-color: white; }

input[type="search"], input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea { color: #1C1D21; padding: 10px 24px; font-family: var(--body-font); font-size: 18px; letter-spacing: 0; line-height: 27px; outline: none !important; width: 100%; appearance: none; resize: none; caret-color: var(--btn-color); background: rgba(255, 255, 255, 1) 0% 0% no-repeat padding-box; box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26); border: 1px solid rgba(255, 255, 255, 1); border-radius: 8px; /* float: left; */ /* margin: 0 5px 15px 5px; */ }

textarea {width: 100%; padding: 10px 24px; min-height: 100px; background: rgba(255, 255, 255, 1); resize: none; margin: 0 0 15px; }

input[type="submit"]:hover{ color: var(--red-color); }

input::-webkit-input-placeholder { color:var(--body-color); opacity: 37%; }
input:-moz-placeholder { color:var(--body-color); /*opacity: 0,8;*/ }
input::-moz-placeholder { color:var(--body-color); opacity: 37%; }
input:-ms-input-placeholder { color:var(--body-color); opacity: 37%; }
textarea::-webkit-input-placeholder { color:var(--body-color); opacity: 37%; }
textarea:-moz-placeholder { color:var(--body-color); opacity: 37%; }
textarea::-moz-placeholder { color:var(--body-color); opacity: 37%; }
textarea:-ms-input-placeholder { color:var(--body-color); opacity: 37%; }

/* container */
.container { max-width: 1750px; width: 100%; padding: 0 50px; margin: 0 auto; }
.col-1 { width: 100%; }
.col-2 { width: 49.3% ;}
.col-3 { width: 33.33%; }
.col-4 { width: 25%; }

.d-flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.justify-content-start { justify-content: flex-start; }
.justify-content-center { justify-content: center; }
.justify-content-end { justify-content: flex-end; } 
.justify-content-between { justify-content: space-between; }
.align-items-start { align-items: flex-start; }
.align-items-center { align-items: center; }
.align-items-end { align-items: flex-end; }
.row-reverse { flex-direction: row-reverse; }
.text-center { text-align: center; } 
.text-left { text-align: left; }
.text-right { text-align: right; }

/* svg path, svg circle { transition: 0.5s; }
.white-btn{ border-color: var(--white-color) !important; color: var(--header) !important; }
.white-btn::after{ background-color: var(--white-color) !important; }
.white-btn:hover{ color: var(--white-color) !important; }
.black-btn:hover{ color: var(--header) !important; } */
/* ------------------------------------------------- */

/* sub - menu css */
ul li ul.sub-menu { padding-left: 0 !important; gap: 0 ; white-space: nowrap; background-color: var(--primary_color); display: block; border-radius: 3px; flex-direction: column; gap: 0; position: absolute; margin: 0; z-index: 3; margin-top: 11px; text-align: center; transform: scaleY(0); /* Hidden initially */ transition: all 0.3s ease; transform-origin: top; box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(255, 255, 255, 0.3) 0px 3px 7px -3px; }
ul li:hover > ul.sub-menu { transform: scaleY(1); }
ul li ul.sub-menu li a { padding: 7px 15px !important; display: block; min-width: 200px; line-height: normal; border-bottom: solid 1px #ffffff !important; transition: all 0.4s ease-in-out; font-size: 20px; text-align: left; line-height: 26px; color: #fff; }
ul li ul.sub-menu li:last-child a { border-bottom: 0 !important; }
ul li ul.sub-menu li { margin: 0; display: block; }
ul li ul.sub-menu li a:hover { color: var(--red-color); }
ul.sub-menu li > ul.sub-menu { position: absolute; left: 100%;  top: 12px;  margin: 0; transform: scaleY(0);  transform-origin: top; transition: transform 0.3s ease-in-out; z-index: 9999;  }
ul.sub-menu li > ul.sub-menu li a::before{ width: 100%; }
ul.sub-menu li > ul.sub-menu li.current-menu-item > a{ color: var(--white-color); }
ul.sub-menu li:hover > ul.sub-menu { transform: scaleY(1); }
ul.sub-menu li > ul.sub-menu { visibility: hidden; /* Hide by default */ opacity: 0; }
ul.sub-menu li:hover > ul.sub-menu { visibility: visible; opacity: 1; transform: scaleY(1); transition: transform 0.3s ease, visibility 0s 0s, opacity 0.3s ease-in-out; }
ul li ul.sub-menu li a::after{ right: 10px !important; }
ul li ul.sub-menu li a::before{ display: none; }
ul li ul.sub-menu li{ padding: 0; }
ul li ul.sub-menu li::before{ display: none; }


/* slider css */
/* .slider_inr .slider_box { margin: 0 0 0 270px; padding: 40px 0 65px; }
.slider_inr .slider_box .star_img { padding: 0 0 0 10px; }
.slider_inr .slider_box p{ margin: 0; }
.slider_inr .slider_box p strong{ font-family: var(--black_font); } */
/* slider css */

/* ----------------------------------------------------- def-page --------------------------------------------------------------- */
/* def-page */ 
.def-page{padding: 50px 0;}
.def-page p { font-family: var(--body_font); color: var(--body_color); font-style: normal; font-weight: 400; margin: 0 0 15px; font-size: 20px; }
.def-page .right-img{float:right; margin:0 0 15px 40px; position: relative; z-index: 0; line-height: 0;}
.def-page .left-img{float:left; margin:0 40px 15px 0; position: relative; line-height: 0;}
.def-page .right-img img{border-radius: 10px; position: relative; width: 100% ; height: auto;}
.def-page .left-img img{border-radius: 10px; position: relative; width: 100% ; height: auto;}
.def-page h2, .def-page h3, .def-page h4, .def-page h5, .def-page h6 { margin: 0 0 15px 0; line-height: 25px; font-family: var(--heading-font); padding: 0px; color: var(--btn_color2); }
/* .def-page h1{ font-size: 72px; line-height: 86px;}  */
.def-page h2{ font-size: 45PX; line-height: 55px;}
.def-page h3{ font-size: 40px; line-height: 45px;}
.def-page h4{ font-size: 35px; line-height: 40px;}
.def-page h5{ font-size:30px; line-height:35px; }
.def-page h6{font-size: 24px; line-height: 30px;}
.privacy-page > div > p{ padding-bottom: 0; }


.def-page ul {margin: 0; padding-bottom: 15px; overflow: hidden; max-width: inherit; width: inherit; padding-left: 0; }
.def-page ul li { list-style: none; font-size: 20px; color: var(--body-color); position: relative; padding: 8px 32px; }
.def-page ul li:before { content: ''; position: absolute; top: 10px; left: 0; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 24px; height: 24px; border-radius: 0; }
.def-page ol{padding-left: 0; padding-bottom: 15px;}
.def-page ol li {list-style-type:none;counter-increment:item;font-size: 20px; color: var(--body-color); padding: 5px 0; }
.def-page ol li:before {display:inline-block; content: counter(item) ".";  color: var(--body-color);  padding-right:10px;}
.def-page ul.col-2, .def-page ul.col-3 { overflow: hidden }
.def-page ul.col-2 li {width: 50%;float: left;}
.def-page ul.col-3 li {width: 33.33%;float: left;}
.privacy-page ol { margin-bottom: 25px;}
.privacy-page ol>li:before { padding-right: 05px;}
.privacy-page .privacy-inner{ padding-left: 30px; margin-bottom: 20px;}
.privacy-page .privacy-inner ul{ margin-top: 05px; }
.privacy-page ul,.privacy-page ol{ margin-left:20px;}
.privacy-page ol li{padding: 5px 0px;}
.pagenotfound {width: 100%;display: block; padding: 70px 0px 80px; text-align: center;}
.pagenotfound h2 {font-size: 50px;font-weight: 600;}
.pagenotfound p{font-size: 16px;}
.thankyou {text-align: center;}
.thankyou h3 strong {font-size: 46px;}
.clearfix:after { clear: both; display: block; visibility: hidden; content: ""; }
.fl{float:left}.fr{float:right}.cl,.clear,.clr,.social_share{clear:both}
.clearfix:after{clear:both;display:block;visibility:hidden;content:""}
.def-page a { color: var(--btn-color); display: inline; }
.def-page a:hover { color: var(--body-color); }
.def-page strong { font-size: 20px; }

/* validation */
form  .wpcf7-not-valid-tip{ display: none !important; }
.wpcf7-not-valid{ border: 1px solid #dc3232 !important; }
form .cf7sr-recaptcha .wpcf7-not-valid-tip{ display: block !important; font-size: 15px; }
.submit-captcha { margin-top: -5px; display: flex; /* width: 100%; */ align-items: flex-start; justify-content: flex-start; }
.submit-captcha .input-fild:last-child{ margin-top: 17px; } 
.wpcf7 form .wpcf7-response-output { margin: 0.5em auto; padding: 0.2em 1em; border: 2px solid #ffb900; width: 100%; text-align: center; font-size: 16px; line-height: 25px; }
.wpcf7-spinner{ display: none !important;}
/* validation */
/* ----------------------------------------------------- def-page --------------------------------------------------------------- */

/*---------- header section css ----------*/
header { background-color: var(--body-color); box-shadow: 0px 3px 6px #00000029; position: sticky; width: 100%; top: 0; z-index: 2; }
header .header_logo { line-height: 0; padding: 15px 0px; max-width: 450px; margin: 0 auto; }
header .header_menu ul {gap: 72px; padding: 0px 0 20px;}
header .header_menu ul li { text-transform: uppercase; }
header .header_menu ul li a{ color: var(--white-color); }
header .header_menu ul li a:hover{ color: var(--btn-color) }
/*---------- header section css ----------*/
/*---------- banner section css ----------*/
.banner .banner_inr h1{ font-size: 90px;} 
.banner .banner_inr h1 { font-family: var(--body-font); color: var(--body-color); font-size: 80px; line-height: 1; }
section.banner { position: relative; }
.banner .banner_img { line-height: 0; position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
.banner .banner_img img{ width: 100%; height: 100%; object-fit: cover; }
.banner .banner_inr { position: relative; padding: 50px 0; }
.banner .banner_inr p { font-size: 25px; line-height: normal; padding: 20px 0; margin-bottom: 0; }
.banner .banner_form { width: 880px; background: #ffffff80; border: 1px solid #707070; border-radius: 8px; opacity: 1; backdrop-filter: blur(45px); -webkit-backdrop-filter: blur(45px); padding: 14px 37px 22px 27px; }
.banner .banner_form h2 { line-height: 1; padding: 0 0 20px; font-size: 40px; }
.banner .form-row { display: flex; gap: 15px; } /* margin-bottom: 15px; */
.banner .submit_btn input[type="submit"]{ width: 100%; }
/*---------- banner section css ----------*/
/*---------- service section css ----------*/
section.service{ background: #EAEAEA; box-shadow: 0px 3px 6px #00000046; padding: 50px 0;}
.service h2 { padding: 0 0 30px; color: var(--body-color);}
.service .service_inr  {gap: 10px;}
.service .service_box { max-width: 49%; width: 100%; transition: 0.5s all; padding: 0 0 55px;gap: 24px;}
.service .service_box:nth-child(5) { padding: 0;}
.service .service_box:last-of-type { padding: 0;}
.service .service_box:hover .service_img { transform: scale(1.2) }
.service .service_box a {display: flex; gap: 24px; align-items: center;}
.service .service_img { transition: 0.5s all; line-height: 0; max-width: 101px; width: 100%; }
.service .service_content strong { font-family: var(--heading-font); font-size: 30px; line-height: 39px; color: var(--body-color); }
.service .service_content p {margin-bottom: 0; font-size: 24px; line-height: 32px; color: var(--body-color); }
/*---------- service section css ----------*/
/*---------- public section css ----------*/
section.public { background-color: var(--body-color); padding: 50px 0; }
.public .public_inr { gap: 46px;}
.public .public_right_img { line-height: 0; padding: 0 0 10px;}
.public .public_left { max-width: 66%; width: 100%;}
.public .public_left h2 {color: var(--white-color); padding: 0 0 30px;}
.public .public_left p {color: var(--white-color);}
.public .public_left p:last-of-type {margin-bottom: 0;}
.public .public_right { max-width: 34%; width: 100%;}
.public .public_right_content span { color: var(--white-color);}
/*---------- public section css ----------*/
/*---------- projects section css ----------*/
section.projects {padding: 50px 0;}
.projects .projects_inr > p { padding: 12px 0 26px;}
.projects .projects_inr p:last-of-type {margin-bottom: 0;}
.projects .projects_img { line-height: 0; position: relative; }
.projects .projects_img::before { content: 'BEFORE'; position: absolute; bottom: 20px; left: 20px; color: white; }
.projects .projects_img:last-of-type::before { content: 'AFTER'; position: absolute; bottom: 20px; left: 20px; color: white; }
.projects .projects_box { gap: 82px;}
.projects_details h2 { padding: 47px 0 20px;}
.projects_details ul { column-count: 2; column-gap: 159px; }
.projects_details ul strong { position: relative; font-size: 24px; line-height: 32px; display: block; font-family: var(--heading-font); color: var(--black-color); margin: 0 0 0px 50px; }
.projects_details ul strong::after { content: ''; position: absolute; top: 0; left: -50px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 35px; height: 24px; }
.projects_details ul li {padding: 0 0 30px;  font-size: 24px; line-height: 32px; color: var(--black-color); }
.projects_details ul li:last-of-type {padding:0px;}
.projects_details ul li:nth-child(3) {padding:0px 0 1px;}
.projects_details p,
.projects_details .projects_details_btn {text-align: center;}
.projects_details p { padding: 46px 0 30px;}
/*---------- projects section css ----------*/
/*---------- faq section css ----------*/
.faq { /* position: relative; */ padding:50px 0; overflow: hidden; }
.faq h2 { text-align: center; padding: 0 0 30px; color: var(--black-color); }
.faq > * { position: relative; z-index: 1; }
.faq-container { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 50px 16px; }
.accordion-item { position: relative; max-width: 49%; width: 100%; overflow: hidden; transition: 0.7s ease-in-out; height: min-content; background: #FFFFFF; border: 3px solid #182A3D; border-radius: 8px; cursor: pointer; }
.accordion-header { position: relative; font-family:var(--primary-font); transition: 0.3s all; opacity: 1; padding: 7px 20px; font-size: 20px; line-height: 27px; text-align: center; }
.accordion-content { padding: 0px 20px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.accordion-content .content-section p  { margin-bottom: 15px; font-size: 18px; }
.accordion-item::after { content: ""; position: absolute; right: 18px; top: 15px; background-image: url(images/arrow.png); background-repeat: no-repeat; background-position: center; transition: transform 0.3s ease, color 0.3s ease; width: 10px; height: 10px; }
.accordion-item.active::after { transform: translateY(-50%) rotate(180deg); }
/*---------- faq section css ----------*/
/*---------- map section css ----------*/
section.service_area { background: #EAEAEA; box-shadow: 0px 3px 6px #00000046; padding: 50px 0; }
.service_area .service_area_inr h2 { padding: 0 0 30px; }
.service_area .service_content { display: flex; align-items: center; justify-content: center; gap: 154px; }
.service_area .area_list li { font-size: 30px; font-family: var(--sec-font); color: var(--body-color); list-style-type: disc; }
.service_area .service_content .map iframe{width: 815px; height: 250px;}

/*---------- map section css ----------*/
/*---------- footer section css ----------*/
footer { background: #333333; color: #ffffff; padding: 50px 0; }
.footer_top{ gap: 32px;  padding-bottom: 16px;  }
.footer_top .footer_heading h2 { font-size: 57px; line-height: 75px; color: var(--white-color); }
.footer_logo { line-height: 0; max-width: 350px;}
.footer_logo a { line-height: 0;}
.footer-bottom ul {padding: 12px 0 10px; gap: 100px;}
.footer-bottom ul li { font-size: 23px; line-height: 29px; font-family: var(--heading-font); position: relative; }
.footer-bottom ul li::before { content: ''; position: absolute; top: 3px; right: -50px; width: 3px; height: 22px; background-color: var(--white-color); transform: translateX(-50%); }
.footer-bottom ul li:last-of-type:before {display: none;}

.footer_center > div { max-width: fit-content; width: 100%;}
.footer_center > .footer_center_sec { max-width: 28.5%; width: 100%; }
.footer_center p, .footer_center a, .footer_center li { font-size: 20px; line-height: 38px; color: var(--white-color); }
.footer_center a:hover { color: var(--btn-color);}
.footer_center  h6{ color: var(--white-color); font-size: 20px; line-height: 27px; margin: 0 0 20px;}
.footer_center  .footer_center_first p{margin-bottom: 0; }
.footer_center  .footer_center_first .footer_contact ul li { list-style-type: disc; margin: 0 0 0 20px; }
.footer_center  .footer_center_first .footer_contact ul li a { color: var(--white-color); }
.footer_center  .footer_center_first .footer_contact ul li a:hover { color: var(--btn-color) }
.footer_center  .footer_center_sec p {font-family: var(--body-font); margin: 0; }
.footer_center { padding: 0 0 33px; border-bottom: 1px solid; }
.footer_center .social-icons{ gap: 18px; padding: 6px 0 0;}
.footer_center .social-icons > div > a { line-height: 0;}
.footer_center .social-icons > div { line-height: 0; border: 4px solid var(--white-color); border-radius: 50%;}
.footer_center .footer_center_fourth ul li{ list-style-type: disc; margin: 0 0 0 20px;}
.footer_center .footer_center_fourth ul li a{color: var(--white-color);}
.footer_center .footer_center_fourth ul li a:hover{color: var(--btn-color)}
.footer_center .footer_center_third h6,
.footer_center .footer_center_fourth h6{max-width: fit-content; width: 100%; border-bottom: 1px solid var(--white-color) ;}
.footer-bottom { font-family: var(--sec-font);}
.footer_center .footer_center_third ul li,
.footer_center .footer_center_fourth ul li a { text-transform: uppercase;}
footer .footer-bottom a { color: var(--white-color); }
footer .footer-bottom a:hover { color: var(--btn-color) }
/*---------- footer section css ----------*/
section.inr_bnr { padding: 120px 0 80px; }
section.faq_home { padding: 10px 0 50px 0; }
/*-------------------------------- faq page css ------------------------*/
/*-------------------------------- contact page css ------------------------*/
section.contact { padding: 50px 0; }
.contact h1{ padding:0 0 30px; }
.contact p:last-of-type{ margin: 0; }
section.contact_options { padding: 50px 0; background: #333; }
.contact_options .contact_options_inr { gap: 30px; align-items: self-start; }
.contact_options .contact_options_inr a {color: var(--body-color); }
.contact_options .contact_options_inr .contact_box:first-of-type{ max-width: 27%; width: 100%;}
.contact_options .contact_options_inr .contact_box:last-of-type{ max-width: 73%; width: 100%;}
.contact_options .contact_options_inr .contact_box { background: #f5f5f5; padding: 30px; border-radius: 6px; }
.contact_options .contact_options_inr .contact_box h2 {padding: 0 0 30px; }
.contact_options .contact_options_inr .contact_box input[type="submit"] {width: fit-content;}
form#contactForm { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0 21px; }
section.process { padding: 50px 0; }
.process h2 { padding: 0 0 30px; }
.process ul {gap: 20px;}
.process ul li { padding: 15px; max-width: 48%; width: 100%; background: #eaeaea; border-radius: 8px; }
.process_text { padding: 20px 0 0; text-align: center; }
section.authority { padding: 50px 0; background: #333333; }
.authority h2 {color: var(--white-color);}
.authority ul,
.authority p {color: var(--white-color);}
.authority ul li { list-style-type: disc; margin: 0px 10px 10px 20px; font-family: var(--Medium-font);}
.authority ul li:last-of-type { margin: 0px 10px 0px 20px;}
.authority p:last-of-type {margin: 0;}
.authority ul { padding: 20px 0; gap: 50px; }
section.contact_area {padding: 50px 0;}
.contact_area ul { gap:50px; padding: 20px 0;}
.contact_area ul li a {font-family: var(--Medium-font);color: var(--body-color);}
.contact_area ul li a:hover {color: var(--btn-color);}
.contact_area p {margin: 0;}
form input, form select, form textarea { width: 100%; margin-bottom: 15px; color: #bebebe; padding: 10px 24px; font-family: var(--body-font); font-size: 18px; letter-spacing: 0; line-height: 27px; outline: none !important; appearance: auto; resize: none; caret-color: var(--btn-color); background: rgba(255, 255, 255, 1) 0% 0% no-repeat padding-box; box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26); border: 1px solid rgba(255, 255, 255, 1); border-radius: 8px; }
section.contact_btn { text-align: center; padding: 50px 0; }
.contact_btn h2 { padding: 0 0 30px; }
.contact_btn p { padding: 0 0 30px; }
.contact_btn p:last-of-type { margin: 0 ;}
.contact_btn  a:hover{ color: var(--white-color);}
/*-------------------------------- contact page css ------------------------*/
/*-------------------------------- about page css ------------------------*/
/* about_quote */
section.about_quote { padding: 50px 0; text-align: center; }
.about_quote .about_quote_inr p:last-of-type { color: var(--body-color); position: relative; font-family: var(--sec-font);}
.about_quote .about_quote_inr p:last-of-type::before { content: ''; position: absolute; top: 90px; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: var(--body-color); }
/* about_quote */
/* about_roofing */
section.about_roofing { padding: 50px 0; background: #EAEAEA; }
.about_roofing .about_roofing_inr h2 { padding:0 0 25px; color: var(--body-color); }
.about_roofing .about_roofing_inr p { margin-bottom: 40px; }
/* .about_roofing .about_roofing_inr p:last-of-type { margin-bottom: 0px; } */
.about_roofing .about_roofing_content { gap: 40px; }
.about_roofing .about_roofing_box { border: 1px solid var(--body-color); padding: 30px; border-radius: 8px; background: white; box-shadow: 0 4px 6px rgba(0,0,0,0.02); max-width: 50%; width: 100%; }
.about_roofing .about_roofing_box h5{ margin-bottom: 20px; }
.about_roofing .about_roofing_box ul li { margin: 0 0px 12px 50px; position: relative;}
.about_roofing .about_roofing_box ul li::after { content: ''; position: absolute; top: 0; left: -50px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 35px; height: 24px; }
.about_roofing .about_roofing_text { max-width: 50%; width: 100%;}  
ul.col-2 li { width: 47%; float: left; }
/* about_roofing */
/* owned */
section.owned{ padding: 50px 0;}
.owned .owned_inr { gap: 40px;}
.owned h2 {padding: 0 0 30px;}
.owned .owned_left,
.owned .owned_right{max-width: 50%; width: 100%;}
.owned .owned_left .owned_img { /* background: #edf2f7; */  border-radius: 8px; position: relative; overflow: hidden; aspect-ratio: 16/9; }
.owned .owned_left .owned_img img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; }
.owned .owned_left .owned_img_label { position: absolute; text-align: center; font-weight: bold; color: #4a5568; background: rgba(255,255,255,0.8); padding: 10px; width: 100%; bottom: 0; }
.owned .owned_right strong { color: var(--black-color); padding: 0 0 25px; display: block; }
.owned .owned_right .owned_right_btn { background: #e5e5e5; border: 1px solid #333333; padding: 15px; margin-top: 20px; font-size: 14px; border-radius: 8px; }
/* owned */
/* weather */
section.weather{ background: var(--body-color); color: #cbd5e0; padding: 50px 0px; }
.weather .weather_inr {gap: 40px; }
.weather .weather_left,
.weather .weather_right{ max-width: 50%; width: 100%;}
.weather .weather_left h2,
.weather .weather_right h2 { color: white; padding: 0 0 20px; }
.weather .weather_left ul { margin: 20px 0; }
.weather .weather_left ul li { font-size: 24px; margin: 0 0px 12px 50px; position: relative;}
.weather .weather_left ul li::after { content: ''; position: absolute; top: 0; left: -50px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 35px; height: 24px; }

.weather_right_box { margin: 20px 0; }
.weather_right_item {position: relative; padding: 15px 20px 15px 60px; font-weight: bold; color: #000; background: #e5e5e5; margin: 0 0 15px; border-radius: 8px; }
.weather_right_item::after { content: ''; position: absolute; top: 15px; left: 12px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 35px; height: 24px; }


.weather_right p:last-child { margin: 0; }
/* weather */
/* about_service */
section.about_service{ padding: 50px 0;}
.about_service .about_service_inr{gap: 40px; position: relative;}
.about_service .about_service_inr::before{content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1px; height: 80%; background-color: var(--body-color);}   
.about_service .about_service_left h2,
.about_service .about_service_right h2{padding: 0 0 30px;}
.about_service .about_service_left,
.about_service .about_service_right { max-width: 50%; width: 100%;}
.about_service .about_service_left ul li{ list-style: none; padding: 0; margin: 20px 0;  margin-bottom: 10px; padding-left: 20px; position: relative; font-weight: 600; }
.about_service .about_service_left ul li::before { content: "•"; color: var(--body-color); position: absolute; left: 0; font-weight: bold; }
.about_service .about_service_left ul li::before { content: "•"; color: var(--body-color); position: absolute; left: 0; font-weight: bold; }
/* .about_service .about_service_btn { background: #f0f7ff; border: 1px solid #bee3f8; padding: 15px; margin-top: 20px;  border-radius: 8px; } */
.about_service .about_service_btn { background: #e5e5e5; border: 1px solid #333333; padding: 15px; margin-top: 20px; font-size: 14px; border-radius: 8px; }
.about_service .about_service_btn span {font-size: 24px; }
.about_left_link{ margin-top: 20px; gap: 10px; }
.about_left_link .left_tag { background: #f0fff4; color: #2f855a; padding: 10px; border: 1px solid #c6f6d5; border-radius: 4px; font-weight: bold; }
.about_service_left ul,
.about_service_right ul{ padding: 0 0 15px;}
.about_service_right ul li { padding: 5px 0; position: relative; margin-bottom: 10px; padding-left: 20px; font-weight: 600; padding-left: 20px;}
.about_service .about_service_right ul li::before { content: "•"; color: var(--body-color); position: absolute; left: 0; font-weight: bold; }
/* about_service */
/* choose */
section.choose { background: var(--body-color); color: white; padding: 50px 0; text-align: center; }
.choose h2 {color: var(--white-color);}
.choose p:last-of-type {margin: 0;}
.choose .pc-icon-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin: 40px 0; }
.choose .pc-icon-item p{margin: 0;}
.pc-icon-item { display: flex; flex-direction: column; align-items: center; }
.pc-icon-circle { max-width: 35px; margin-bottom: 15px; line-height: 0; width: 100%; }
/* choose */
/* serving_dtl */
section.serving_dtl { padding: 50px 0; }
.serving_dtl .serving_dtl_inr > p { padding: 20px 0 0px; margin: 0; }
.serving_dtl .serving_cities { font-size: 18px; font-weight: 800; color: #2b6cb0; margin: 15px 0; }
.serving_dtl .serving_cities ul {justify-content: space-evenly; }
.serving_dtl .serving_cities ul li {list-style-type: disc; color: var(--body-color); }
/* serving_dtl */
/* about_contact_btn */
section.about_contact_btn { background-color: #EAEAEA; }
.about_contact_btn p{padding: 0; margin: 0;}
.about_contact_btn a{margin: 20px 0;}
/* about_contact_btn */
/*-------------------------------- about page css ------------------------*/
/*-------------------------------- roofing page css ------------------------*/
/* roofing_hero */
section.roofing_hero { padding: 50px 0; background-color: #efefef; }
.roofing_hero .roofing_hero_inr {gap: 40px;}
.roofing_hero .roofing_hero_inr h1{padding: 0 0 20px;}
.roofing_hero .roofing_hero_text{max-width: 60%; width: 100%;}
.roofing_hero .hero_img {max-width: 40%; width: 100%; line-height: 0;}
.roofing_hero .hero_img img{border-radius: 10px;}
/* roofing_hero */
/*-------------------------------- roofing page css ------------------------*/
/* roofing_ser */
.roofing_ser { padding: 50px 0; }
.roofing_ser .roofing_ser_inr { gap: 40px;}
.roofing_ser .roofing_content { max-width: 70%; width: 100%; }
.roofing_ser .roofing_content h2 { margin-bottom: 15px; }
.roofing_ser .roofing_content h4,
.roofing_ser .roofing_content h3
 { color: var(--body-color); margin-bottom: 15px; }
/* .roofing_ser .roofing_dtl { display: flex; gap: 40px; margin-bottom: 25px; } */
.roofing_ser .roofing_content ul { margin-bottom: 25px; max-width: 100%; width: 100%; float: left; }
.roofing_ser .roofing_content li { position: relative; margin: 0 0 12px 20px; color: #333; list-style-type: disc; }
.roofing_ser .roofing_image_box { border-radius: 10px; max-width: 40%; width: 100%; line-height: 0; overflow: hidden; }
/* roofing_ser */
/* roofing_box_sec */
.roofing_box_sec .about_roofing_content {padding: 0 0 30px;}
/* roofing_box_sec */
/* materials */
.materials{ padding: 50px 0; }
.materials h2{ padding:0 0 25px; }
.materials .materials_inr { gap: 40px;}
.materials .materials_img { border-radius: 10px; max-width: 40%; width: 100%; line-height: 0; overflow: hidden; }
.materials .material_card { max-width: 60%; width: 100%; }
.materials .material_card h3,
.materials .material_card h4 { color: var(--black-color); margin-bottom: 15px; }
.materials ul.pill-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
.materials ul.pill-grid li{ border: 1px solid #cbd5e1; padding: 10px; border-radius: 6px; }
/* materials */
/* insurance */
section.insurance { padding: 50px 0; background-color:#EAEAEA;}
.insurance_inr h2 { padding: 0 0 25px;}
.insurance_info_box { background-color: white; padding: 25px; border-radius: 8px; max-width: 70%; width: 100%; margin: 0px auto 25px; }
.insurance_info_box h4{ border-bottom: 1px solid #333; padding: 0 0 15px; }
.insurance_info_box ul{ padding:15px 0 0; }
.insurance_info_box ul li { padding: 10px; max-width: 46%; width: 100%; position: relative; margin: 0 0 0 40px; }
.insurance_info_box ul li::after { content: ''; position: absolute; top: 10px; left: -40px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 35px; height: 24px; }
/* insurance */
/* homeowners */
section.homeowners{ padding: 50px 0;}
.homeowners h2{ padding:0 0 25px; }
.homeowners .homeowners_dtl { padding: 0 0 20px; }
.homeowners .homeowners_dtl ul{ padding: 30px 0;}
.homeowners .homeowners_dtl ul li { max-width: 29.33%; width: 100%; margin: 0 0px 20px 50px; position: relative;}
.homeowners .homeowners_dtl ul li::after { content: ''; position: absolute; top: 0px; left: -50px; background: url(images/pro-icon.webp) no-repeat center; background-size: 100%; width: 30px; height: 22px; }
.homeowners .homeowners_img { line-height: 0;}
.homeowners .homeowners_item { max-width: 33.33%; width: 100%; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px; margin: 0 0 30px; }
.homeowners p:last-of-type { font-family: var(--sec-font);}
/* homeowners */
/* testimonial */
section.testimonial{ padding: 50px 0; background-color: #EAEAEA;}
.testimonial h2{ padding: 0 0 25px;}
.testimonial .testimonial_box { width: 100%; background-color: white; border-radius: 10px; padding: 20px; margin: 0 15px; height: 100%; display: flex !important; flex-direction: column; justify-content: space-between;}
.testimonial .testimonial_inr {gap: 40px; }
.testimonial .slick-slide > div {padding: 0 15px; }
.testimonial .serving_btn { padding: 10px 0 0 ;}
.testimonial .slick-track { display: flex !important; }
.testimonial .slick-slide { height: inherit !important; }
.testimonial .slick-slide > div { height: 100%; }

ul.slick-dots { display: flex; align-items: center; justify-content: center; padding: 30px 0 0; gap: 20px; }
ul li button{ padding: 0; font-size: 0; width: 15px; height: 15px; }
ul li.slick-active button{ color: var(--white-color) !important; background-color: var(--body-color); border-color: white; }



/* testimonial */
/* roofing_cont*/
section.roofing_cont{background-color: var(--body-color);}
.roofing_cont h2{ color: var(--white-color);}
.roofing_cont p{padding: 0 ; color: var(--white-color);}
.roofing_cont p:last-of-type{ padding: 20px 0 0;}
/* roofing_cont*/



.projects_content { display: flex; margin: 0 -15px; flex-wrap: wrap; }
.projects_content .about_projects_card { max-width: 25%; width: 100%; padding: 15px; }
.projects_content .about_projects_card .about_projects_box { border-radius: 7px; height: 390px; overflow: hidden; line-height: 0; }
.projects_content .about_projects_card .about_projects_box a { height: 100%; width: 100%; position: relative; }
.projects_content .about_projects_card .about_projects_box a img { width: 100%; height: 100%; object-fit: cover; }
.projects_content .about_projects_card .about_projects_box a::after { content: ''; position: absolute; display: block; width: 100%; height: 100%; left: 0; top: 0; transform: scale(0); -webkit-transform: scale(0); transform-origin: center; background: url(images/zoom.svg) center no-repeat rgba(0, 0, 0, 0.3); transition: .5s; background-size: 36px; }
.projects_content .about_projects_card .about_projects_box a:hover:after { transform: scale(1); -webkit-transform: scale(1); }


.pagination-wrapper { width: 100%; margin-top: 40px; text-align: center; }
.pagination-wrapper .page-numbers { display: inline-flex; align-items: center; gap: 10px; padding: 0; margin: 0; list-style: none; }
.pagination-wrapper .page-numbers li { display: inline-blocsk; }
.pagination-wrapper .page-numbers .current { background-color: var(--black-color); color: var(--white-color); border-color: var(--black-color); cursor: default; }
.pagination-wrapper .page-numbers a,.pagination-wrapper .page-numbers span { display: flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 14px; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 6px; border: 1px solid #ddd; color: #333; background-color: var(--white-color); transition: all 0.3s ease; }


.ptb_50{padding: 50px 0;}
.bg_gray{background: #EAEAEA;}
.bg_white{background: #ffffff;}
textarea { margin-bottom: 5px !important; }
.submit_btn { padding: 10px 0 0; }
.whatsapp_img { line-height: 0; max-width: fit-content; width: 100%; position: fixed; bottom: 20px; right: 20px; z-index: 9; transition: opacity 0.3s ease, transform 0.3s ease; } 
.whatsapp_img a { line-height: 0;} 
.whatsapp_img img:last-child {display: none;} 
.whatsapp_img:hover img:first-of-type{display: none; } 
.whatsapp_img:hover img:last-child {display: block; } 
.contact_form { display: flex; flex-direction: row; flex-wrap: wrap; gap: 15px; align-items: center; }
.contact_form .contact_box input[type="search"],
.contact_box input[type="text"],
.contact_box input[type="email"], 
.contact_box input[type="password"],
.contact_box input[type="tel"],
.contact_box input[type="number"], .contact_box select, .contact_box textarea{ margin-bottom: 0 !important;}
.contact_box .col-1{ line-height: 0;}

/* section p:last-of-type{ margin-bottom: 0;} */



section.process { padding: 50px 0; }
.process .process_heading { color: var(--body-color); text-align: center; }
.serve .process_heading { padding: 0 0 80px 0; }

.process .process_heading h2{ padding: 0 0 15px ; }

.process .our_process_text ol { flex-wrap: wrap; margin: 0 -20px; position: relative; display: flex; justify-content: center; }
.process .our_process_text ol li { max-width: 16.66%; padding: 20px; text-align: center; position: relative; counter-increment: section; color: var(--body-color); }
.process .our_process_text ol li::before { content: counter(section); left: 0; top: 6px; font-weight: bold; display: flex; align-items: center; justify-content: center; border-radius: 50%; margin: 0 auto 12px; position: unset; color: var(--body-color); background: var(--btn-color); border: 2px solid var(--body-color); width: 55px; height: 55px; font-size: 22px; }
.process .our_process_text ol li strong { line-height: normal; color: var(--body-color); font-weight: normal; display: block; font-family: var(--heading-font); font-size: 22px; padding-bottom: 10px; }
.process .our_process_text ol li::after { content: ""; position: absolute; width: 52px; height: 52px; top: 16px; right: -8%; background-image: url(./images/right_arrow.svg); filter: brightness(0) saturate(0%) invert(4%) sepia(3%) saturate(0) hue-rotate(341deg) brightness(591%) contrast(101%); background-repeat: no-repeat; background-size: 52px; }
.process .our_process_text ol li:last-of-type:after {display: none;}
.process .process_inr p { padding:  0 0 15PX; text-align: center; color: var(--body-color); }
.process .process_inr p:last-child {margin-bottom: 0; }
/* .page-template-primary-pillar section.roofing_cont a{ color: var(--btn-color);}
.page-template-primary-pillar section.roofing_cont a:hover{ color: var(--white-color);} */

.mfp-gallery img.mfp-img {max-height: 80vh !important;}

/* 25-02-2026 */
.header_inr { position: relative; }
.header_btn { position: absolute; right: 8%; top: 28%; }
.contact_options .contact_options_inr a{ font-size: 27px; font-family: var(--heading-font); }
.contact_options .contact_options_inr a:hover{ color: var(--btn-color); }