body{font-family: 'Open Sans', sans-serif; font-weight:normal; font-size:16px; line-height:1.7; color:#333; overflow-x: hidden;}
a{ color:#dc0000; text-decoration:none}
a:hover{ color:#000 ; text-decoration:none}
a:focus{ outline:none}
ul{ list-style:none; padding:0}
.heading, .sub-heading{font-size:34px; line-height:1.5; font-weight:600; color:#00018b; margin:0 0 20px; text-align:center}
.sub-heading{font-size:24px; color: #000;}

.heading .heading, .heading .sub-heading{ margin-bottom:5px;}

.fancy-font{font-family: 'Lobster', cursive; font-weight:normal}

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

.box{border: solid 1px #ccc; padding:0 20px 1px; margin-bottom:30px;}
.box .heading{background:#00018b; padding:10px 20px; text-align:center; color:#fff; margin:0 -20px 30px; font-size:22px;}
.box .bullet-group{margin-bottom:20px;}

.financing-btn{text-align: center; margin-bottom: 50px;}
.financing-btn img{height: 140px!important;}

p{font-size:16px; line-height:1.7;}
p, .mb{ margin-bottom:30px;}
.style{margin:0 0 20px 0;}
.style li{list-style:disc; margin:0 0 10px 20px; line-height:20px}
ol.style li{list-style:decimal;}
.style ul{ margin-top:10px}
.style li a{ text-decoration:underline;}
.style li a:hover{ text-decoration:none}
.style .style li{list-style:circle;}

img.left, img.right{max-width:42%}
img.right{float: right;margin: 5px 0 20px 15px;}
img.left{float: left; margin: 5px 20px 5px 0;}
img{ max-width:100%}
.container{ max-width:1170px;}
section{ padding:60px 0px 30px}
section p a{ text-decoration:underline}
section p a:hover{ text-decoration:noe}

.social{margin-bottom:30px;}
.social a{margin:0 2px; display:inline-block;}

.modal-content .btn-close{position:absolute; top:-10px; right:-10px; font-size:12px; font-weight:bold; line-height:1; background:#fff; height:35px; width:35px; opacity:1; border-radius:50%;}
.modal-content .contact-form, .contact-page .contact-form{text-align:center; background:#00018b; color:#fff; padding:15px 20px;}
.modal-content .contact-form .heading, .modal-content .contact-form a, .contact-page .contact-form .heading, .contact-page .contact-form a{color:#fff;}

.review-icons{ text-align:center}
.review-icons .heading, .review-icons .heading .heading, .review-icons .sub-heading{font-size:26px; margin-bottom:10px;}
.review-icons .sub-heading{ font-size:22px; color: #353535; font-weight: bold }
.review-icons .heading .sub-heading{font-size:20px; color: #353535; font-weight: bold}
.review-icons .mb{ margin-bottom:10px}
.review-icons .mb a{margin: 10px 20px; display: inline-block;}
.review-icons a{ margin:0; color:#353535}

.contact-container-page p{ font-size:22px; margin-bottom:40px}

/* Start Header */
header{ position:relative;}
.top-row{ background:#073674; color:#fff; padding:8px 10px;}
.top-row .social{ margin:0;}
.top-row .social strong{display:none;}
.top-row .social img{max-height:28px;}
.top-row .header-tag{text-align:center;}
.top-row .header-tag .sub-heading{ font-size:16px; color:#fff; margin-bottom:0}
.top-row .header-tag .sub-heading span{ background:url(../img/bullet-white-s.png) left center no-repeat; display:inline-block; padding:0px 5px 0px 18px;}
.top-row .header-tag .sub-heading span:first-child{ padding-left:0; background:none}

.main-header{ padding:10px 0; background:#fff; border-bottom:solid 1px #ccc; box-shadow:0 5px 10px 0px #a1a1a1;}
.logo a{ display:inline-block;}
.logo a img{max-height:100px; min-height:60px}
.header-contact{ display:table; position:absolute; top:0; right:15px; background:#dc0000; color:#fff; padding:10px 10px 10px 30px; clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%); text-align:right}
.header-contact .heading{ font-size:20px; line-height:1; color:#fff; margin-bottom:3px; text-align:right}
.header-contact a{ background:url(../img/phone-white-icon.png) left center no-repeat; padding:2px 0px 2px 25px; display: inline-block;}
.header-contact .schedule{ background:url(../img/clock-white-icon.png) left center no-repeat; padding-left:25px; font-weight:bold; cursor:pointer; margin-bottom:0; font-size:16px; line-height:20px}

.navbar{ margin-top:45px; margin-bottom:20px}
.navbar-nav{margin:0 0 0 auto;}

.yellow-box{ position:absolute; bottom:-20px; right:15px; background:#1a7efc; padding:6px 15px; border-radius:5px; z-index:2; color:#fff}
/* End Header */

/* Start Menu css */
.navbar-dark{ padding:0; background: #fff;}
.navbar-dark .navbar-toggler{ border:none; color:#fff; }
.navbar-dark .navbar-toggler-icon{background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.99)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.navbar-dark .navbar-toggler:focus{box-shadow: none}
.navbar-dark .navbar-toggler .open-menu{ font-size:15px;}
.navbar-dark .navbar-brand{ display:none}
.navbar-dark .navbar-nav .nav-item .nav-link{ font-weight:bold; text-align:center; color:#073674; font-size:14px; line-height:17px; padding:10px 10px;}
.navbar-dark .navbar-nav .nav-item .nav-link:hover, .navbar-dark .navbar-nav .nav-item.current-parent .nav-link, .navbar-dark .navbar-nav .nav-item.current-parent .nav-link.current{ color:#dc0000;}

.dropdown-toggle::after { display: none}

.dropdown-item{ font-size:14px; line-height:16px; padding:10px 1rem; }
.dropdown-item:current, .dropdown-item:hover{ color:#000; background:none!important}
.dropdown-item.current{ background:#dc0000!important; color:#fff!important;}
/* End Menu css */

/* Start Sticky Header */
.main-header.sticky{ position: fixed; top:0px; left:0; right:0; box-shadow:0 5px 10px 0px #adadad; transition:all .3s ease-in-out; z-index:1005}
.main-header.sticky .header-contact{ padding:2px 15px 2px 25px }
.main-header.sticky .header-contact .heading, .schedule{ font-size:15px; margin-bottom:0;}
.main-header.sticky .header-contact a, .main-header.sticky .header-contact .schedule{ background-size:15px; line-height:19px}
.main-header.sticky .header-contact .schedule{ font-size:15px; line-height:18px}
.main-header.sticky .header-contact a img{ height:15px}
.main-header.sticky .navbar-dark .navbar-nav .nav-item .nav-link{ padding-top:5px; padding-bottom:5px;}
.main-header.sticky .navbar{ margin-top:60px; margin-bottom:15px}
/* Start Sticky Header */


.red-btn{background:#fac40b; text-transform: uppercase; color:#000; font-size: 18px; font-weight:bold; text-align:center; min-width:250px; padding:10px 25px; border-radius:10px; text-decoration:none;transition:all .3s ease-in-out; display:inline-block;}
.red-btn:hover{ background:#0072ff; color:#fff;}

.banner{ background:url(../img/ac-heating-professionals.webp) center no-repeat; min-height:550px; padding:100px 0; position:relative;}
.banner::after{content:''; background:rgba(0,0,0,.3); position:absolute; display:block; top:0; bottom:0; width:100%;}
.banner img{ width:100%}
.banner .banner-text{color:#fff; text-shadow:0px 3px 3px #000; padding:40px 20px; max-width:53%; position:relative; z-index:1;}
.banner .banner-text .heading, .banner .banner-text .sub-heading{ text-align:left; font-weight:bold; font-size:40px; color:#fff; margin-bottom:10px; line-height:1.3}
.banner .banner-text .sub-heading{ font-size:24px; margin-bottom:20px}
.banner .banner-text .bdr-text{border-bottom:solid 2px #fac40b; display:inline-block; padding-bottom:5px;}
.banner .banner-text p{font-size:18px; font-weight:600; margin-bottom:20px;}
.banner .banner-text .red-btn{margin:10px; padding:8px 15px; font-size:15px; min-width:180px; text-shadow:none;}
.banner .banner-text .red-btn:hover{ background:#fff; color:#000}

.banner-inner{background:url(../img/banner-inner.webp) center no-repeat; background-size:cover; position:relative; padding:0;}
.banner-inner .banner-text{background: rgba(0,0,0,.65); padding: 80px 100px 80px 20px; max-width:45%; clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);}
.banner-inner .banner-text .heading{ font-size:26px; font-weight:bold; text-align:left; color:#fff; padding-bottom: 5px; margin-bottom: 8px; border-bottom: 2px solid #fac40b; display: table;}
.banner-inner .banner-text .sub-heading{ font-size:20px;text-align:left; color:#fff}
.banner-inner .banner-text .red-btn:hover{ background:#000386; color:#fff}

.banner-ac-installation-replacement{background:url(../img/air-conditioning-installation.webp) center no-repeat; background-size:cover;}
.banner-ac-repair-service{background:url(../img/air-conditioning-repair-service.webp) center no-repeat; background-size:cover;}
.banner-hvac-maintenance{background:url(../img/ac-heating-maintenance.webp) center no-repeat; background-size:cover;}
.banner-heater-furnace-installation{background:url(../img/heater-furnace-replacement.webp) center no-repeat; background-size:cover;}
.banner-heater-furnace-repair-service{background:url(../img/furnace-heating-system-service.webp) center no-repeat; background-size:cover;}
.banner-ductless-systems{background:url(../img/mini-split-system-installation.webp) top center no-repeat; background-size:cover;}
.banner-commercial-hvac{background:url(../img/commercial-ac-heating-contractor.webp) center no-repeat; background-size:cover;}

.main-container{ padding:40px 0 30px}
.bg-gray{ background:#f1f1f1}


.main-service{ padding-bottom:0}
.main-service .heading{margin-bottom:90px; color:#131111; text-align:center}
.service{ margin-bottom:60px;}
.service div{text-align:center; background:#1982fe; color:#fff; display:block; border-radius:10px; padding:20px; position:relative; margin-bottom:30px;}
.service div i{ display:table; background:#fff; width:150px; height:150px; border-radius:50%; border:8px solid #1982fe; line-height:120px; text-align:center; margin:-80px auto 20px}
.service div i img{ max-width:60%; transition: all .3s ease-out;}
.service:hover div i img{ max-width:75%}
.service div .sub-heading{ font-family: 'Lobster', cursive; font-weight:normal; font-size:24px; color:#fff; margin-bottom:10px}

.service:nth-child(2) div, .service:nth-child(4) div{ background:#000089;}
.service:nth-child(3) div, .service:nth-child(5) div{ background:#01012b}
.service:nth-child(2) div i, .service:nth-child(4) div i{ border:8px solid #000089;}
.service:nth-child(5) div i, .service:nth-child(3) div i{ border:8px solid #01012b;}

/* CSS for arow below boxes
.service div:before{ position: absolute; content:""; width: 0; height: 0; bottom:-20px; left:50%; margin-left:-20px; border-left: 20px solid transparent; border-right: 20px solid transparent; border-top: 20px solid #1982fe;}
.service:nth-child(2) div:before, .service:nth-child(4) div:before{ border-top: 20px solid #000089;}
.service:nth-child(3) div:before, .service:nth-child(6) div:before{ border-top: 20px solid #01012b}*/

.service div .red-btn{ background:#fac40b; padding:10px 15px; border-radius:10px; display: table; margin:0px auto 10px;}
.service div .red-btn:hover{ background:#dc0000;}

.icon-group{text-align: center;}
.icon-group .col{margin-bottom:20px;}
.icon-group .heading{margin-bottom:50px;}
.icon-group strong{color: #000; line-height: 1.3; display: block; margin-bottom: 30px;}
.icon-group img{display: block; margin: 0 auto 10px; max-width: 60px;}

.reviews-section{ background:#000089 url(../img/grand-slam-logo.webp) center no-repeat; color:#fff; border-radius: 60%/100px 100px 0 0; padding:100px 0 50px;}
.reviews-section .heading{ color:#fff; font-size:30px; padding-bottom:10px; margin-bottom:30px; position:relative}
.reviews-section .heading:before{ content:""; position:absolute; left:0; width:60%; bottom:0; height:1px; background:#fff;}
.reviews-section .review-social{text-align:left; background:url(../img/5star.png) top left no-repeat; margin-bottom:30px;}
.reviews-inner .review-social{text-align:center; background:url(../img/5star.png) top center no-repeat;}
.reviews-inner .heading:before{left:0; right:0; width:60%; margin:0 auto;}
.reviews-section .review-heading{ border-bottom:none; margin-bottom:10px; padding-bottom:0; font-size:22px;}

.review-social{ background:url(../img/5star.png) top right no-repeat; text-align:right; padding-top:18px; font-weight:600; margin-bottom:5px}

.testi{border: 1px solid #ddd;padding:15px 20px 10px; margin: 0 5px 30px; background:#FFFFFF;box-shadow: 0 1px 5px rgba(0,0,0,0.2);border-radius: 18px;clear: both;}
.testi p{margin-bottom:20px; line-height:1.5;}

.review-heading{border-bottom: solid 1px #ccc; padding-bottom: 10px; margin-bottom: 15px; font-weight:600; font-size:20px;}

.coupons-group .col { margin-bottom:30px}
.coupons-group img{ border:1px solid #ccc; box-shadow: 0 0 8px #ccc; padding:10px;}

.coupon{ padding: 80px 0}
.coupon-slider > div{ padding-left:30px; padding-right:30px}
.coupon-slider img{border:1px solid #ccc; box-shadow: 0 0 8px #ccc; padding:10px;}

/*--Gallery--*/
.gallery-page .sub-heading{ background:#0055AA; color:#fff; margin-bottom:30px; padding:10px;}
.gallery-page.sticky-gallery { padding-top:300px;}
.demo{max-width: 800px; margin:0px auto 60px;}
ul.image-gallery li{ position:relative;}
ul.image-gallery li img, ul.recent-projects li img{ width:100%; position:relative; z-index:400}
ul.image-gallery li .comment, ul.recent-projects li .comment{ display:block; padding:8px 10px; margin-bottom:0; color:#fff; background: rgba(0,0,0,.9); position:absolute; bottom:0px; left:0; right:0; z-index:500; font-size: 14px; line-height: 20px;}
.shortcontent{ display:inline}
ul.image-gallery li .comment span{ display:inline-block}
ul.image-gallery li .comment a{text-decoration:underline; color:#fff;}
ul.image-gallery li .comment a:hover{ text-decoration:none}
ul.image-gallery li .comment strong, ul.recent-projects li .comment strong{ display:block; margin-bottom:3px;}


.lSPager{width: auto!important; transform: translate3d(0px, 0px, 0px)!important;}
.lSPager li{width:18%!important; margin: 1%!important;background: #000;}
.lSPager li a{ opacity: .5;}
.lSPager li:hover a{opacity: .7;}
.lSPager li.active a{opacity: 1;}


ul.recent-projects{ margin-bottom:20px;}
ul.recent-projects li{ list-style:none; padding:0; position:relative; font-weight:normal}
ul.recent-projects li img{ width:100%;}
a.viewall-btn{ font-weight:bold; background:#2b384a; color:#fff; padding:10px 25px; text-decoration:none; transition:all .3s ease-in-out}
a.viewall-btn:hover{ background:#1b2a40}
/*--Gallery--*/

.contact-form{margin-bottom:30px; min-height:700px}
.contact-form .heading{font-size:30px; margin-bottom:0;}
.contact-form p{ margin-bottom:0}

.home-contact{ background:#ddd url(../img/contact-grand-slam.webp) center no-repeat fixed; padding:60px 0; position:relative}
.home-contact:before{ content:""; position:absolute; background:rgba(0, 0, 0, .5); top:0; width:100%; bottom:0; z-index:1}
.home-contact > div{ z-index:2; position:relative; color:#fff;}

.home-contact .heading{ color:#fff; font-size:32px; position:relative; padding-bottom:10px; text-align:left}
.home-contact .heading:before{ content:""; position:absolute; left:0; bottom:0; width:150px; height:1px; background:#fff}
.home-contact a{ color:#fff;}

.home-contact-form{ padding:40px 20px 20px; background:rgba(220, 0, 0, .85);}

.footer-contact{ background: url(../img/contact-ac-company.webp) top center no-repeat; background-size:cover; padding:40px; font-size:20px; position:relative;}
.footer-contact:before{ content:""; position:absolute; left:0; bottom:0; width:100%; height:100%; background:rgba(0, 0, 137, .8)}
.footer-contact > div{z-index:2; position:relative; color:#fff;}
.footer-contact .sub-heading{color:#fff;}

.callout{ background:#000 url(../img/call-out.png) bottom left no-repeat; padding:60px 0px;}
.callout .heading, .callout .sub-heading{ color:#fff; margin-bottom:10px; text-align:left; font-size:32px;}
.callout .sub-heading{ text-transform:inherit; font-weight:normal; font-size:18px;}

.service-area .style li{font-size:15px; line-height:18px;}

.google-map{ padding:0; background:url(../img/service-area.webp) center no-repeat; min-height:460px; position: relative; margin-bottom:30px;}
.google-map::before{content: ""; background: url(../img/grand-slam-hvac-rating.webp) center no-repeat; width: 210px; height: 77px; position: absolute; left: 10px; top: 10px; box-shadow: 0 0 3px rgba(0,0,0,0.5);}
.google-map a{ display:block; height:100%; width: 100%; z-index: 2; position: absolute; top: 0; left: 0;}

footer{background:#000; color:#fff; font-size: 14px; padding: 10px 0;}
footer a{text-decoration: none; font-size: 14px; color:#ddd;}
footer a:hover{color:#fff;}
footer .col-lg-5{text-align: right; margin-top: 0;}
footer .col-lg-5 a{ text-decoration:underline}
footer .col-lg-5 a:hover{ text-decoration:none}

.red-button{ position:fixed; bottom:15%; right:0; z-index:1000}
#back-to-top{position:fixed; bottom:4%; right:2%; background:#344fa1; padding:5px; transition:.5s; z-index:1000}
#back-to-top:hover{background: #2c4284;}


@media (max-width: 1199.98px) {
.heading{font-size:32px;}
.sub-heading{ font-size:22px;}

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

.top-row .header-tag .sub-heading{ font-size:14px;}
.top-row .header-tag .sub-heading span{ padding:0px 0px 0px 12px}

/* Start Menu css */
.navbar-dark .navbar-nav .nav-item .nav-link{ font-size:13px; line-height:16px; padding:10px 7px;}
.dropdown-item{ font-size:15px; line-height:18px}
/* End Menu css */

.banner .banner-text{max-width:48%;}
.banner .banner-text .heading{ font-size:30px}
.banner .banner-text .sub-heading{ font-size:20px}
.banner .banner-text br{display:none;}

.banner-inner .banner-text .heading{font-size:22px;}
.banner-inner .banner-text .sub-heading{font-size:18px;}
}

@media (max-width: 991.98px) {
.heading{font-size:30px;}
.sub-heading{ font-size:20px;}

section{ padding:30px 0 0;}

.social a{margin:0 1px;}
.top-row .social img{max-height:24px;}

.main-header{ position:relative; padding:10px 0 0;}
.logo a{ display: table;}
.logo a img{ max-height:80px}

.header-contact{ padding:0; clip-path:none; background:none; margin:5px 0;}
.header-contact a{ background: url(../img/phone-small-icon.png) left center no-repeat}
.header-contact .schedule{ background:url(../img/schedule-appointment.png) left center no-repeat}
.header-contact .heading, .header-contact .schedule{ font-size:15px; color:#000}

.yellow-box{ background:#dc0000; position:relative; bottom:0px; right:0; font-size:14px; line-height:17px; display:table; margin:0 0 0 auto; color:#fff; padding:6px 10px;}


.navbar-nav{margin:0 auto;}
.navbar, .main-header.sticky .navbar{ margin:10px 0 0;}
.main-header.sticky .logo img{max-height:60px;}





.banner{ padding:50px 0; min-height:360px}
.banner .banner-text .heading{ font-size:28px}
.banner .banner-text .sub-heading{ font-size:18px;}

.banner-inner .banner-text .heading{font-size:20px;}
.banner-inner .banner-text .sub-heading{font-size:17px;}

.red-btn{ max-width:100%!important; min-width:200px}

.service div i{ width:120px; height:120px; line-height:100px}
.service div .red-btn{min-width:auto;}

.reviews-section{padding:80px 0 20px;}
.reviews-section .heading{ font-size:22px;}

.service-area .google-map{min-height:720px;}

.home-contact-form, .footer-contact{ padding:30px 30px 15px;}

.social img{max-width:30px;}

.callout .heading{ font-size:26px;}
.callout .sub-heading{ font-size:17px;}

footer, footer .col-lg-5{text-align: center;}
footer .col-lg-5{padding-top:10px; margin-top:10px; border-top:solid 1px #363636;}
}


@media (max-width: 767.98px) {
img.right, img.left {float: none; margin: 0px auto 20px; display:table; max-width:90%;}

.logo a{ margin:10px auto 0}
.main-header{ padding:0}

.cta{ background:#dc0000; text-align:center; padding-top:3px}
.cta .sub-heading{ color:#fff; margin-bottom:0px; font-size:15px; line-height:1.1}
.cta a{ display:block; margin:0px auto 3px}
.cta a img{ max-height:16px}
.cts{ background:#000; text-align:center; font-size:15px; line-height:18px; font-weight:bold}
.cts a{ color:#fff; display:table; margin:5px auto 10px;}
.cta:hover,.cts:hover { background:#02439a;}

/* Start Menu css */
.navbar{ background:#073674; margin:5px -12px 0}
.navbar-toggler{ padding:.50rem .75rem}
.navbar-dark .navbar-brand{ display:block}
.navbar-dark .navbar-nav .nav-item .nav-link{ font-size:14px; line-height:16px; padding:10px 12px; border-bottom:1px solid #959595; text-align:left}
.navbar-dark .navbar-nav .nav-item .nav-link br{display:none;}

.dropdown-toggle::after { display: inline-block}
.dropdown-item br{ display:none}

.navbar-dark .navbar-nav{ background:#ddd;}
.navbar-dark .navbar-nav .nav-item:last-child .nav-link{ border-bottom:none;}
/* End Menu css */

/* Start Sticky Header */
.main-header.sticky{ box-shadow:none; border:none;}
.main-header.sticky .logo a img{ max-height:75px}
.main-header.sticky .navbar{margin:5px -12px 0}
/* End Sticky Header */

.banner{padding:0; background:none;}
.banner .banner-text{max-width:100%; background:#000;}
.banner .banner-text .heading{ font-size:26px}
.banner .banner-text .red-btn{font-size:15px; padding:8px 15px; min-width:120px}

.banner-inner{ background:none}
.banner-inner .banner-text{padding:20px 20px 30px; background:#000; max-width:100%; clip-path: none;}
.banner-inner .banner-text .heading{font-size:22px;}
.banner-inner .banner-text .sub-heading{font-size:17px;}
.banner-inner .banner-text .red-btn{ font-size:14px}

.main-container{ padding:30px 0 10px}
.service:nth-child(6){ margin-bottom:0}

.reviews-section{background:#000089 url(../img/grand-slam-logo.webp) center 30% no-repeat; border-radius:0; padding:30px 0px 0}

.contact-container-page p{ font-size:20px; margin-bottom:30px}

.home-contact{ padding:0; background:#000}

.home-contact-form, .footer-contact{ padding:30px 20px 15px;}

.google-map{background:url(../img/hvac-service-area.webp) center no-repeat;}
.service-area .google-map{min-height:420px;}

.social strong{display:block;}

.callout{ padding:30px 0px 60px;}
.callout .heading, .callout .sub-heading{ text-align:center}
}

