body{font-family: "Open Sans", sans-serif; font-weight:500; font-size:16px; line-height:1.6; color:#040404; overflow-x: hidden;}

html{scroll-padding-top:120px;}
a{ color:#021da6; text-decoration:underline;}
a:hover{ color:#040404; text-decoration: none;}
a:focus{ outline:none;}

.bullet-group{ margin-bottom:30px;}
.bullet-group .style{ margin-bottom:0 !important;}

.heading, .sub-heading, .sub-heading2{font-family: "League Spartan", sans-serif; font-size:34px; line-height:1.3; color:#000; margin:0 0 20px; font-weight:600;}
.sub-heading, .sub-heading2{font-size:30px; font-weight: 600;}
.sub-heading2{font-size:26px;}

.heading .heading, .heading .sub-heading{ margin-bottom:0;}

.heading.bg-orange, .sub-heading.bg-orange, .sub-heading2.bg-orange{background: #E4590D;
background: linear-gradient(90deg, rgba(228, 89, 13, 1) 0%, rgba(239, 105, 32, 1) 100%); color: #fff; clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%); line-height: 1.2; padding: 10px 35px 10px 25px;}

hr.bdr{ border:none; height:3px; background:#ddd; opacity:1; width:60%; margin:50px auto}

b, strong{font-weight: 700;}

p{ font-size:16px; line-height:1.6}
p, .mb, .img-wrapper{ margin-bottom:30px;}

.modal{z-index: 9999; background: #00000099;}
.modal-content{padding: 20px;}
.modal .btn-close{position: absolute; top:10px; right: 10px; width: .3em; height: .3em;}

.grid-image-item{margin-bottom: 25px;}

.style{margin:0 0 30px 0; padding-left: 10px;}
.style li{list-style:disc; margin:0 0 10px 20px; line-height:26px}
.style ul{ margin-top:10px}
.style li a{ text-decoration:underline;}
.style li a:hover{ text-decoration:none}
.style .style li{list-style:circle;}
ol.style li{list-style:decimal;}
ol.style li ul li{list-style:disc;}

.text-left{text-align: left;} .text-right{text-align: right;} .text-center{text-align: center;}

.left{float: left; margin-right: 20px;} .right{float: right; margin-left: 20px;}

img.right {float: right; margin: 5px 0 20px 15px;}
img.left {float: left; margin: 5px 15px 20px 0;}
img, video, iframe{ max-width:100%}

.map{background: #ddd; border: solid 1px #b4b4b4; padding: 10px;}

.container-xl{ max-width:1240px;}
section{ padding:100px 0px 60px;}
.padding{padding:60px 40px 30px;}


.button{ background: #021DA6; background: linear-gradient(90deg, rgba(2, 29, 166, 1) 0%, rgba(19, 47, 191, 1) 100%); color: #fff; display:inline-block; text-decoration: none; font-size: 14px; line-height: 1.2; padding:12px 35px 12px 12px; text-align:center; transition:all .3s ease-in-out; font-weight:600; margin: 5px; border-radius: 8px; position: relative;}
.button::after{content: ""; position: absolute; background: url("../img/icon-button.png") no-repeat; width: 16px; height: 12px; right: 12px; top: 14px;}
.button:hover{ background: #E4590D; background: linear-gradient(90deg, rgba(228, 89, 13, 1) 0%, rgba(239, 105, 32, 1) 100%)!important; color: #fff!important;}
.button.orange{background: #E4590D; background: linear-gradient(90deg, rgba(228, 89, 13, 1) 0%, rgba(239, 105, 32, 1) 100%)!important;}
.button.orange:hover{background: #021DA6; background: linear-gradient(90deg, rgba(2, 29, 166, 1) 0%, rgba(19, 47, 191, 1) 100%)!important;}
.button.outline{background: none!important; border: solid 2px #fff; padding-top: 10px; padding-bottom: 10px;}
.button.outline:hover{background: #fff!important; color: #000!important;}

.accordion-item:not(:first-of-type){border: solid 1px#ccc!important;}
.accordion-item{margin-bottom: 25px; border: solid 1px#ccc!important;}
.accordion-button{cursor: pointer; font-size: 18px; font-weight: bold;}
.accordion-button:not(.collapsed){color: #fff; background: #ef6920;}
.accordion-collapse{padding: 15px 20px 1px;}

.bullets span{background: url("../img/bullet.png") left center no-repeat; padding-left: 20px; margin-left: 5px; display: inline-block;}
.bullets span:first-child{background: none; padding: 0;}

.box{border: solid 4px #ef6920; margin: 0 4% 70px; padding: 10px;}
.box .heading{background: #ef6920; color: #fff; text-align: center; margin: -10px -10px 30px;}
.box ul{list-style: none;}

.social{ text-align: center; margin: 20px 0;}
.social a{margin:0 2px;}
.social img{ max-height:50px; width: auto; transition:all .3s ease-in-out;}

.contact-page .social{text-align: left;}
.contact-page .social strong{display: block;}
.contact-page .social img{ max-height:38px;}

header{background: #fff; color: #000; position: fixed; top: 0; -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -o-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4); transition: all 0.3s ease-in-out; width: 100%; z-index: 9999;}
.top-row{background: #132FBF; background: linear-gradient(90deg, rgba(19, 47, 191, 1) 0%, rgba(2, 29, 166, 1) 100%); color: #fff; padding: 8px 10px; transition:all .3s ease-in-out;}
.top-row .row div:last-child{text-align: right;}

.logo-area{padding: 15px 0 0; text-align: right; transition:all .3s ease-in-out;}
.logo-area .logo{text-align: left;}
.logo-area .logo a{display: inline-block;}
.logo-area .logo a img{height: 140px; transition:all .3s ease-in-out;}
.head-contact{margin-bottom: 40px;}
.head-contact .sub-heading{font-size: 19px; font-weight: 500; line-height: 1.2; margin-bottom: 0; transition:all .3s ease-in-out;}
.head-contact .phone{display: inline-block; background: url("../img/icon-phone.png") left center no-repeat; background-size: 34px; padding-left: 40px; font-size: 36px; line-height: 1.1; font-weight: bold; color: #ef6920; text-decoration: none; transition:all .3s ease-in-out;}
.head-contact .phone:hover{color: #000;}

/* Start Menu css */
.main-navigation{margin-top: -40px;}
.navbar-expand-md .navbar-nav{margin: 0 0 0 auto;}
.navbar .navbar-toggler{ border:none; color:#000; }
.navbar .navbar-toggler:focus{box-shadow: none}
.navbar .navbar-toggler .open-menu{ font-size:20px;}
.navbar .navbar-brand{ display:none}
.navbar .navbar-nav .nav-item .nav-link{font-family: "Open Sans", sans-serif; text-align:center; color:#333333; font-size:16px; line-height:1.3; font-weight:600; padding:10px 12px; transition:all .3s ease-in-out;}
.navbar .navbar-nav .nav-item .nav-link:hover, .navbar .navbar-nav .nav-item.current-parent .nav-link, .navbar .navbar-nav .nav-item.current-parent .nav-link.current{ color:#ef6920;}

/*.dropdown-toggle::after { display: none}*/
.dropdown-menu{ min-width:12rem; background: #021DA6; background: linear-gradient(90deg, rgba(2, 29, 166, 1) 0%, rgba(19, 47, 191, 1) 100%); }
.dropdown-menu .nav-item.dropdown .nav-link{text-transform:none; font-size:14px; text-align:left; padding:5px 1rem; color:#fff}
.dropdown-item, .nav-item .dropdown .dropdown-toggle{ line-height:1.3; padding:8px 1rem 10px!important; font-size:18px!important; font-weight: 400!important; border-bottom: solid 1px #011b9b; color: #fff;}
.dropdown-item:hover, .dropdown-item:focus, .dropdown-menu .nav-item.dropdown .nav-link:hover{ background:#ef6920!important; color:#fff;}
.dropdown-item.current{ background:#ef6920!important; color:#fff!important;}
.dropdown .submenu{left: 90%; top: -2px;}
/* End Menu css */

/* Start Sticky Header */
.header-up{ transition:all .3s ease-in-out;}
.header-up .top-row{margin-top: -42px;}
.header-up .logo-area{padding: 10px 0 0;}
.header-up .logo-area .logo a img{height: 100px;}
.header-up .head-contact .phone{font-size: 30px; background-size: 28px; padding-left: 32px;}
.header-up .head-contact .sub-heading{font-size: 17px;}

.headerclear{ margin-top:210px}
/* End Sticky Header */

.banner{background-size: cover; position: relative; padding: 100px 20px 300px; min-height: 480px; overflow: hidden;}
.banner::before{position:absolute; content:""; background: #000000; background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%); width: 100%; height: 100%; top: 0; left: 0;}
.banner svg{position: absolute; left: 0; bottom: 0;}
.banner .banner-text{position: relative; color: #fff; z-index: 1;}
.banner .banner-text .heading{font-size: 42px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 10px;}
.banner .banner-text .heading span{font-size: 36px; font-weight: 500; display: block;}
.banner .banner-text .heading span strong{font-size: 46px; font-weight: 500;}
.banner .banner-text .sub-heading2{font-family: "Open Sans", sans-serif; font-size: 22px; font-weight: 500; color: #fff;}
.banner .banner-text .button{font-size: 16px; padding: 14px 20px;}
.banner .banner-text .button::after{display: none;}
.banner .banner-text .button.outline{padding-top: 12px; padding-bottom: 12px; margin-left: 10px;}

.banner-inner{padding: 40px 20px 160px; min-height: 400px; margin-bottom: -80px;}

.main-services{position: relative; text-align: center; padding-top: 50px; margin-top: -30px; background: #ffffff; background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(233, 233, 233, 1) 100%);}
.main-services::before{position:absolute; content:""; background: url("../img/main-services-bg.webp") bottom repeat-x; width: 100%; height: 100%; bottom: 0; left: 0;}
.main-services .row{position: relative; z-index: 1;}
.main-services .heading{font-size: 36px; line-height: 1.2; margin-bottom: 10px;}
.main-services .sub-heading2{font-weight: 400;}
.main-services .col{margin-bottom: 20px;}
.main-services .col img{border-radius: 50%; margin: 20px auto; border: solid 3px #939393; max-height: 200px; transition:all .3s ease-in-out;}
.main-services .col .sub-heading{font-size: 20px; line-height: 1.2; font-weight: 700; color: #021da6; margin-bottom: 10px; transition:all .3s ease-in-out;}
.main-services .col p{font-size: 15px;}
.main-services .col:hover img{margin: 15px auto; border: solid 3px #525252; max-height: 210px;}
.main-services .col:hover .sub-heading{color: #000;}

.content-block{position: relative; overflow: hidden; padding-bottom: 0;}
.content-block::after{position:absolute; content:""; background: url("../img/graphic-arrow-dots.png") bottom right no-repeat; width: 250px; height: 150px; bottom: 30px; right: 0;}
.content-block .block-img{position: absolute; z-index: -1; top: 0; bottom: 0; right: -25%; max-width: 90%; height: 100%; object-fit:cover;}
.content-block .padding{background: #fff;}

.optimus-works{text-align: center; font-size: 22px;}
.optimus-works span{display: inline-block; margin: 0 auto 15px; background: #dedede;; padding: 20px; border-radius: 50%;}
.optimus-works span img{max-height: 45px;}
.optimus-works strong{display: block; color: #ef6920;}

.why-choose ul{margin-bottom: 0;}
.why-choose li{display: inline-flex; font-size: 18px; line-height: 1.2; margin-bottom: 20px;}
.why-choose li img{margin-right: 5px;}

.feed-wrapper{position: relative; overflow: hidden; font-size: 15px; line-height: 1.3; background: #000;}
.feed-wrapper img, .feed-wrapper .comment{transition: all .3s ease-in-out;}
.feed-wrapper .comment{position: absolute; top: -999px; padding: 20px; z-index: 1; color: #fff;}
.feed-wrapper:hover img{opacity: .2;}
.feed-wrapper :hover .comment{top: 0;}


.review-block{position: relative; background: url("../img/hvac-technicians-members.webp") top center no-repeat; background-size: cover; text-align: center; padding: 80px 0 100px;}
.review-block::before{position:absolute; content:""; width: 100%; height: 100%; bottom: 0; left: 0; background: #03049C; background: linear-gradient(90deg, rgba(3, 4, 156, 0.9) 0%, rgba(0, 1, 140, 0.9) 100%);}
.review-block .row{position: relative;}
.review-block .heading{color: #fff; margin-bottom: 50px; background: url("../img/5star-l.png") bottom center no-repeat; padding-bottom: 45px;}

.review-icons{text-align: center;}
.review-icons .sub-heading{color: #505968; font-size: 24px; line-height: 28px; font-weight: normal; margin: 10px 0 15px;}
.review-icons a{text-decoration: none;}
.review-icons a img{margin: 10px 20px; display: inline-block;}

.review-social{background: url("../img/5star.png") top center no-repeat; padding-top: 22px; text-align: center;}
.review-social strong{display: block;}
.review-social.nostar{background:none!important; padding: 0!important;}
.review-social span{display:block; font-weight: bold; font-size: 16px; line-height: 20px; margin-bottom: 5px;}
.review-social p{font-size: 14px!important; margin-bottom: 0;}
.review-social img{display: inline!important;}

.reviews{padding: 15px 20px 5px; margin: 0 0 30px; text-align: center; -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -o-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4); -webkit-border-radius: 18px; -khtml-border-radius: 18px; -moz-border-radius: 18px; -o-border-radius: 18px; border-radius: 18px;}
.reviews:before, .reviews:after {content: " "; display: table;} .reviews:after {clear: both; }
.reviews p{font-size: 20px; line-height: 1.6; margin-bottom: 15px; color: #323232;}

.review-heading{font-size: 24px; line-height: 1.2; font-weight: 500; color: #323232; margin: 0 0 20px; text-transform: uppercase;}

.review-page .reviews{text-align: left;}
.review-page .review-social{background: url("../img/5star.png") top right no-repeat; text-align: right;}
.review-page .reviews p{font-size: 16px;}

.review-slider .reviews{padding: 20px 1.5%; background: #fff;}
.review-slider .review-heading{margin-bottom: 15px; font-weight: 600; color: #000;}
.review-slider .reviews p{font-size: 17px;}
.review-slider .review-social{background: none; padding-top: 0; font-size: 15px; font-weight: 700;}
.review-slider .review-social span{font-size: 18px;}

.recent-projects{border: solid 3px #112dbd; border-radius: 30px; padding: 30px;}
.recent-projects a.venobox{border-radius: 30px; display: block; overflow: hidden; margin-bottom: 20px;}
.recent-projects p{text-align: left;}

.contact-form{background: #132FBF; background: linear-gradient(90deg, rgba(19, 47, 191, 1) 0%, rgba(2, 29, 166, 1) 100%); color: #fff; border-radius: 30px; padding: 30px 50px;}
.contact-form .heading, .contact-form .sub-heading, .contact-form .sub-heading2{color: #fff;}
.modal .contact-form, .contact-page .contact-form{padding: 20px;}

.google-map{background: url(../img/office-address-map.webp) center no-repeat; position: relative; min-height: 390px;}
.google-map::before{content: ""; background: url(../img/google-ratings.webp) center no-repeat; width: 217px; height: 114px; position: absolute; left: 10px; top: 10px; box-shadow: 0 0 3px rgba(0,0,0,0.5);}
.google-map a{display: block; position: absolute; content: ""; width: 100%; top: 0; bottom: 0;}


.service-area-section{margin-top: 30px;}
.area-served{background: #000 url("../img/hvac-services-van.webp") bottom center no-repeat; background-size: cover; position: relative; color: #fff; padding: 80px 20px 50px;}
.area-served::before{position:absolute; content:""; background: #161515; background: linear-gradient(90deg, rgba(22, 21, 21, 0.8) 0%, rgba(27, 27, 27, 0.8) 100%); left:0; top:0; width:100%; height:100%;}
.area-served .row{position: relative;}
.area-served .sub-heading{position: relative; font-size: 22px;}
.area-served .heading, .area-served .sub-heading, .area-served a{color: #fff;} 
.area-served .style{padding: 0;}
.area-served .style li{list-style: none; margin: 0 0 7px 10px; background: url("../img/arrow-bullet.png") left center no-repeat; padding-left: 15px;}

footer{background: #fff; color: #0a0a0a; padding: 10px; font-size: 14px;}
footer p{margin-bottom: 0; font-size: 15px;}
footer a{text-decoration: none; color: #0a0a0a;}
footer a:hover{color: #000;}

.copyright{text-align: right;}

#back-to-top{position:fixed; bottom:10%; right:2%; background:#021da6; padding:5px; transition:.5s; display:none; z-index:1000}
#back-to-top:hover{background:#122fbf;}


@media (max-width: 1199.98px) {
.heading, .sub-heading, .sub-heading2{font-size:32px;}
.sub-heading, .sub-heading2{font-size:28px;}
.sub-heading2{font-size:24px;}

.padding{padding:40px 30px;}

.banner{padding: 80px 20px 260px;}
.banner .banner-text .heading{font-size: 38px;}
.banner .banner-text .heading span{font-size: 32px;}
.banner .banner-text .heading span strong{font-size: 44px;}
.banner .banner-text .sub-heading2{font-size: 20px;}

.banner-inner{padding: 30px 20px 140px; margin-bottom: -40px;}

.main-services{margin-top: -20px;}


}

@media (max-width: 991.98px) {
.heading, .sub-heading, .sub-heading2{font-size:30px;}
.sub-heading, .sub-heading2{font-size:26px;}
.sub-heading2{font-size:22px;}

.heading br, .sub-heading br, .sub-heading2 br{ display:none}

hr.bdr{ margin:30px auto 40px}
section{ padding:70px 0px 40px;}

.logo-area .logo a img{height: 110px;}
.head-contact{margin-bottom: 0;}
.head-contact .sub-heading{font-size: 17px;}
.head-contact .phone{background-size: 30px; padding-left: 35px; font-size: 32px;}

.main-navigation{margin-top: 0;}
.navbar{padding: 0;}
.navbar-expand-md .navbar-nav{margin: 0 auto;}
.navbar .navbar-nav .nav-item .nav-link{padding:12px 7px;}

.header-up .top-row{margin-top: -32px;}
.header-up .logo-area .logo a img{height: 90px;}
.header-up .navbar .navbar-nav .nav-item .nav-link{padding:6px 7px;}
.header-up.head-contact .phone{background-size: 25px; padding-left: 30px; font-size: 28px;}

.banner .banner-text .heading{font-size: 28px;}
.banner .banner-text .heading span{font-size: 26px;}
.banner .banner-text .heading span strong{font-size: 30px;}
.banner .banner-text .sub-heading2{font-size: 18px;}
.banner .banner-text .button{font-size: 15px; padding: 12px 15px;}
.banner .banner-text .button.outline{padding-top: 10px; padding-bottom: 10px;}

.main-services .heading{font-size: 30px;}

.why-choose li{font-size: 17px;}
.why-choose li img{width: 50px; height: 32px;}

.review-block{padding: 60px 0 70px;}

.google-map{min-height: 350px;}
.area-served{padding: 60px 15px 30px;}
}

@media (max-width: 767.98px) {
.heading, .sub-heading, .sub-heading2{font-size:26px;}
.sub-heading, .sub-heading2{font-size:22px;}
.sub-heading2{font-size:19px;}

.padding{padding:30px 20px;}

.left, .right{float: none; margin:0 0 20px;}

.box{margin: 0 4% 50px;}

.top-row{font-size: 13px;}
.logo-area .logo a img{height: 100px;}
.head-contact .sub-heading{font-size: 16px;}
.head-contact .phone{background-size: 24px; padding-left: 30px; font-size: 28px;}

.header-up .top-row{margin-top: -32px;}
.header-up .logo-area .logo a img{height: 90px;}
.header-up .navbar .navbar-nav .nav-item .nav-link{padding:6px 7px;}
.header-up .head-contact .sub-heading{font-size: 15px;}
.header-up .head-contact .phone{background-size: 25px; padding-left: 30px; font-size: 28px;}

.headerclear{ margin-top:195px}

/* Start Menu css */
.navbar-toggler{ padding:.50rem .75rem}
.navbar .navbar-brand{ display:block}
.navbar .navbar-nav .nav-item .nav-link{ font-size:17px; line-height:22px; padding:10px 15px; border-top:1px solid #ccc; text-align:left; color: #fff;}
.navbar .navbar-nav .nav-item:hover, .navbar .navbar-nav .nav-item:hover .nav-link{ background: #ef6920; color: #fff;}
.dropdown-toggle::after { display: inline-block}
.dropdown-item{ font-size:15px;}
.navbar .navbar-nav{ background: #021DA6; background: linear-gradient(90deg, rgba(2, 29, 166, 1) 0%, rgba(19, 47, 191, 1) 100%);}
.navbar .navbar-nav .nav-item:last-child .nav-link{ border-bottom:none;}
/* End Menu css */

.banner{padding: 60px 20px 140px; min-height: 360px;}
.banner .banner-text .heading{font-size: 22px;}
.banner .banner-text .heading span{font-size: 20px;}
.banner .banner-text .heading span strong{font-size: 24px;}
.banner .banner-text .sub-heading2{font-size: 16px;}

.banner-inner{padding: 30px 20px 140px;}

.main-services{margin-top: -10px;}
.main-services .heading{font-size: 26px;}

.content-block .padding{background: #ffffff;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 239, 1) 100%);}
.content-block::after{top: 10%; background-size: 200px;}
.content-block .block-img{position: relative; right: inherit; margin: 0 auto; display: block;}

.why-choose ul{padding-left: 1rem;}

footer{text-align: center; line-height: 1.8;}
footer .copyright{text-align: center; margin-top: 10px;}
}

@media (max-width: 575.98px) {
.top-row, .top-row .row div:last-child{text-align: center;}
.logo-area, .logo-area .logo{text-align: center;}

.header-up .top-row{margin-top: -46px;}
.header-up .logo-area{padding: 5px 0 0;}

.headerclear{ margin-top:270px}

.banner{background: #E4590D!important; background: linear-gradient(90deg, rgba(228, 89, 13, 1) 0%, rgba(239, 105, 32, 1) 100%)!important; padding: 0 0 80px;}
.banner::before{display: none;}
.banner .banner-text{margin-top: 15px;}
.banner .banner-text .button{background: none!important; border: solid 2px #fff; padding: 10px 15px;}

.banner-inner{background: #021DA6!important; background: linear-gradient(90deg, rgba(2, 29, 166, 1) 0%, rgba(19, 47, 191, 1) 100%)!important;}
}