/*
 Theme Name:   GeneratePress Child
 Theme URI:    http://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Thomas Usborne
 Author URI:   http://edge22.com
 Template:     generatepress
 Version:      0.1
 Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, fluid-layout, responsive-layout, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, featured-images, theme-options, light, white, dark, black, blue, brown, gray, green, orange, pink, purple, red, silver, tan, yellow
*/

/* *************************************************************

Slide Menu Styles

************************************************************* */
#generate-slideout-menu.main-navigation ul ul{
  /* display: block !important; */
	left: 0;
  top: 0;
  position: relative;
	pointer-events: auto;
  opacity: 1;
  height: auto;
  background: transparent;
  box-shadow: none;
  margin-bottom: 15px;

}
#generate-slideout-menu li.menu-item-has-children{
  position: relative;
  padding-right: 20px;
  display: block;
  width: 100%;
  float: left;
}
#generate-slideout-menu li{
  display: block;
  width: 100%;
	float: left;
}
.submenu-toggler{
  position: absolute;
  top: 2px;
  right: 10px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100
}
.submenu-toggler svg{
  fill: #1D1D20;
  width: 18px;
  transition: .2s;
}
.li-menu-open .submenu-toggler svg{
  transform: rotate(180deg);
}
.li-menu-open .sub-menu{
  display: block !important;
	visibility: visible !important;
}
/* *************************************************************

 END Slide Menu Styles

************************************************************* */


.site-header{
	filter: drop-shadow(3px 3px 15px rgba(0, 0, 0, 0.1));
	z-index: 100;
}
.nav-float-right .inside-header .main-navigation{
	width: 75.2%;
}
#primary-menu{
	float: right;
}
.heading-contacts-inline{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.heading-phone{
	display: flex !important;
	align-items: center;
	font-size: 16px !important;
	margin-left: 16px;
}
.heading-phone svg{
	margin-right: 10px;
}
.heading-request-service{
	font-size: 16px !important;
	color: #0700df !important;
	display: flex !important;
	align-items: center;
	margin-left: 42px;
}
.heading-request-service svg{
	margin-right: 8px;
}
.heading-text{
	font-size: 14px !important;
}
.heading-contacts-wrapper{
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	padding-bottom: 13px;
}


#menu-top-menu > li > a{
	position: relative;
}
#menu-top-menu > li > a:after{
	position: absolute;
	content: "";
	display: block;
	height: 4px;
	background: #d80117;
	bottom: 0;
	left: 50%;
	width: 0;
	transform: translate(-50%, 0);
	transition: .3s;
}
#menu-top-menu li:last-child a{
	padding-right: 0;
}
#menu-top-menu > li:last-child > a:after{
	left: calc(50% + 12px);
}
#menu-top-menu > .current-page-parent > a:after,
#menu-top-menu > .current-menu-item > a:after,
#menu-top-menu > li > a:hover:after{
	width: 50px;
}
.buttons-container{
	width: 100%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.buttons-container .btn:nth-child(2) {
  margin-left: 16px;
}
.button, .btn {
    font-family: 'Montserrat',sans-serif;
    font-weight: bold;
    font-size: 16px;
    line-height: 130%;
    text-transform: uppercase;
    color: #FFF;
    background: #0700df;
    padding: 18px 25px 18px;
    text-transform: capitalize;
    overflow: hidden;
    position: relative;
    display: inline-flex;
		transition: .3s;
		align-items: center;
		text-align: center;
		justify-content: center;
}
.button:hover, .btn:hover{
	opacity: .7;
	color: #fff;
}
.btn-red{
	background: #d80117;
}
.btn-with-phone{
	padding-top: 18px;
	padding-bottom: 18px;
}
.btn-with-phone svg{
	margin-right: 13px;
}
.btn-with-calendar{
	padding-top: 16px;
	padding-bottom: 16px;
}
.btn-with-calendar svg{
	margin-right: 13px;
}
.btn-with-marker{

}
.btn-with-marker svg{
	margin-right: 21px;
}
.homepage-banner .banner-left-side{
    padding-bottom: 155px;
}
.homepage-banner{
	margin-bottom: -163px;
}
.kt-btn-wrap .kt-button:not(.kb-btn-global-inherit){
	line-height: 1.5 !important;
}
.kt-inside-inner-col .wp-block-image{
	margin-bottom: 0;
	line-height: 0;
}
.slick-dots{
	display: flex;
	align-items: center;
	margin: 0;
	justify-content: center;
	width: 100%;
	list-style-type: none;
}
.slick-dots button{
	padding: 0;
	font-size: 0;
	line-height: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-left: 5px;
	margin-right: 5px;
	background: #71727530
}
.slick-dots .slick-active button{
	background: #717275;
}
.footer-widget-1{
	text-align: center;
}
.footer-description{
	font-size: 14px;
	line-height: 145%;
	margin-top: 11px;
}
.footer-call-title{
	color: ;
	text-transform: capitalize;
	font-size: 16px;
	line-height: 130%;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	margin-top: 8px;
}
.footer-phone{
	color: #FFFFFF;
	font-weight: bold;
	font-size: 25px;
	line-height: 130%;
	font-family: 'Montserrat', sans-serif;
	margin-top: 8px;
	display:block;
	text-align: center;
}
.footer-btn{
	background: #fff;
	color: #0700df !important;
	margin-top: 13px;
	padding-top: 16px;
	padding-bottom: 16px;
}
.footer-btn svg{
	margin-right: 15px;
}
#footer-widgets .menu li::marker{
	content: "•";
	color: #d80117;
}
#footer-widgets .menu li{
	padding-left: 14px;
	margin-bottom: 10px;
}
#footer-widgets .menu a{
	line-height: 155%;
}
.footer-widget-2 aside{
	padding-left: 110px !important;
}
.footer-action-block{
	background: rgba(255,255,255,.1);
	padding: 24px 20px 20px 19px;
	border: 1px dashed #d80117;
}
.footer-media{
	display: flex;
	align-items: center;
	padding-left: 24px;
}
.footer-media-object{
	margin-right: 9px;
}
.footer-media-body{
	text-transform: uppercase;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2em;
	font-family: 'Montserrat', sans-serif;
	padding: 10px 0 10px 0px;
	color: #d80117;
	display: flex;
  align-items: center;
}
.footer-media-body svg{
 	margin-right: 30px;
	flex: 0 0 60px;	
}
.footer-action-title{
	font-weight: bold;
	font-size: 15px;
	line-height: 145%;
	margin-top: 14px;
	text-align: center;
}
.footer-action-text{
	font-size: 15px;
	line-height: 145%;
	text-align: center;
	margin-top: 17px;
}
.footer-action-text span{
	font-weight: bold;
}
body a.footer-coupon-link{
	color: #fff;
	text-align: center;
	text-transform: capitalize;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.2em;
	font-family: 'Montserrat', sans-serif;
	display: block;
	margin-top: 12px;
	padding: 10px;
	background: #d80117;
}

body a.footer-coupon-link:hover{ background: #fff; color: #d80117; }

.footer-widget-4 aside{
	padding-left: 32px !important;
}
.site-info .inside-site-info{
	border-top: 1px solid #f7f7f730;
	padding-top: 34px;
}
.site-info{
	text-align: left;
}
.copyright-bar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.header-image.is-logo-image:hover{
	opacity: .7;
}
.footer-logo{
	transition: .3s;
}
.footer-logo:hover{
	opacity: .7;
}

.reviews-carousel{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.review-column{
	flex: 0 0 33.333%;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}
.review-container{
	background: #FFFFFF;
	box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 48px 45px;
}
.review-section .slick-list{
	padding: 40px 15px;
}
.review-section .slick-slide:not(.slick-active) .review-container{
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
}
.review-body{
	color: #717275;
	font-size: 16px;
	line-height: 155%;
}
.review-title{
	color: #1D1D20;
	text-transform: capitalize;
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	font-size: 16px;
	line-height: 130%;
	margin-top: 24px;
}
.review-bottom img{
	margin: 24px auto 0;
}
.text-center{
	text-align: center;
}
.archive-reviews-description{
	color: #717275;
	font-size: 18px;
	line-height: 150%;
	margin-bottom: 40px;
}
.archive-reviews-title{
	margin-bottom: 8px;
}
.review-column{
	margin-bottom: 32px;
}
.archive-review-column{
	max-width: 830px;
	margin-left: auto;
	margin-right: auto;
}
#mobile-header{
	filter: drop-shadow(3px 3px 15px rgba(0, 0, 0, 0.1));
}
.coupon-column .kt-inside-inner-col{
	border-style: dashed;
}
.kt-svg-icon-list-text br:first-of-type + strong{
	margin-top: -12px;
	display: block;
}
.list-hours span.has-inline-color{
	margin-left: 20px;
}
.gform_wrapper select,
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
	background: #FFFFFF;
	border: 1px solid #333;
	height: 45px;
	padding: 11px 16px !important;
	font-size: 15px !important;
	line-height: 145%;
	color: #333;
	width: 100%;
}
.gform_wrapper li.hidden_label input{
	margin-top: 0 !important;
}
.gform_wrapper textarea{
	height: 117px !important;
	background: #FFFFFF;
	border: 1px solid #333;
	padding: 11px 16px !important;
	font-size: 15px !important;
	line-height: 145% !important;
	color: #333;
}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file])::placeholder,
.gform_wrapper textarea::placeholder {
	color: #333;
}
.gform_footer.top_label{
	text-align: center;
}
.gform_footer.top_label input[type='submit']{
	font-size: 16px !important;
	line-height: 130%;
	padding: 16px 24px !important
}
.gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type=text], .gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select{
	margin-bottom: 0 !important;
}
body .ginput_container_address .address_line_1#input_3_10_1_container input{
	margin-bottom: 16px !important;
}
.ginput_container_date{
	margin-top: 0 !important;
	position: relative;
}
body.page .gform_wrapper img.ui-datepicker-trigger{
	position: absolute;
	top: 10px;
	right: 16px;
	width: 24px !important;
	height: 24px !important;
}
.hide-checkbox input{
	display: none !important;
}
.hide-checkbox label{
	float: right;
	color: #1D1D20;
	font-size: 15px !important;
	line-height: 145% !important;
	padding-right: 16px !important;
	max-width: 100% !important;
	position: relative;
	top: 5px;
}
.hidden-other-appliance .ginput_container.ginput_container_text{
	margin-top: 0 !important;
}
.ui-datepicker-title select{
	padding: 10px 10px;
}
.post-type-archive-reviews .site-content,
.post-type-archive-reviews{
	background: #f7f7f7;
}

@media only screen and (min-width: 641px){
	.gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container),
	.gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container) {
		margin-top: 0 !important;
	}
}



@media(max-width: 1199px){
	.footer-btn{
		padding: 16px;
	}
	.footer-action-block{
		padding: 20px 10px 15px 10px;
	}
	.footer-media{
		padding-left: 0;
	}
	.main-navigation .main-nav ul li a{
		padding-left: 13px;
		padding-right: 13px;
		font-size: 14px;
	}
	.menu-item-has-children .dropdown-menu-toggle {
    padding-right: 12px;
	}
}
@media(max-width: 1024px){
	.services-columns .kt-row-column-wrap {
		max-width: 590px !important;
	}
	#footer-widgets .menu li::marker{
		display: none;
		content: "";
	}
	#footer-widgets .menu li{
		padding-left: 0;
		text-align: center;
	}
	.footer-widget-2 aside {
    padding-left: 40px !important;
	}
	.footer-media{
		max-width: 200px;
		margin-left: auto;
		margin-right: auto;
	}
	.main-navigation .main-nav ul li a{
		padding-left: 10px;
		padding-right: 10px;
	}
	.nav-float-right .inside-header .main-navigation {
    width: 80%;
	}
	.site-header .header-image {
    max-width: 165px;
	}

}
@media(max-width: 960px){
	.inside-header {
    padding: 12px 15px 0px 15px;
	}
	.header-image.is-logo-image{
		max-width: 150px;
	}
	.heading-phone{
		margin-left: 10px;
		font-size: 13px !important;
	}
	.heading-request-service{
    margin-left: 10px;
		font-size: 14px !important;
	}
	.heading-text {
    font-size: 13px !important;
	}

	.advantage-section .kt-blocks-info-box-media{
		max-width: 55px !important;
	}
	.nav-float-right .inside-header .main-navigation{
		width: 100%;
	}
	.heading-contacts-inline{
		justify-content: center;
	}
	#primary-menu{
		float: left;
	}

}
@media(max-width: 768px){
	.footer-widget-2 aside {
    padding-left: 0px !important;
	}
	.footer-widget-4 aside {
    padding-left: 0px !important;
	}
	.site-logo.mobile-header-logo img{
		padding: 5px 0 !important;
		height: 67px !important;
	}
	.menu-toggle:before{
		font-size: 24px;
		color: #d80117;
		position: relative;
		top: 3px;
	}
	.mobile-heading-contacts {
    order: 4;
    flex: 0 0 calc(100% + 15px);
    margin-left: -15px;
    margin-right: -15px;
    box-sizing: border-box;
    display: flex;
    text-align: center;
    border-top: 1px solid #ededed;
	}
	.mob-header-phone {
    flex: 0 0 50%;
    color: #000;
    box-sizing: border-box;
    padding: 7px 5px !important;
	}
	.mob-header-phone svg {
    position: relative;
    top: 3px;
    margin-right: 5px;
	}
	.mobile-quote-btn {
    flex: 0 0 50%;
    color: #fff;
    background: #d80117;
    padding: 7px 5px !important;
    box-sizing: border-box;
	}
	.mobile-quote-btn svg {
    position: relative;
    top: 3px;
    margin-right: 5px;
	}
	.main-navigation a{
		font-size: 16px;
	}
	.main-navigation li{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.main-navigation ul ul {
    width: 220px;
	}
}
@media(max-width:767px){
	.services-columns .kt-row-column-wrap {
	    max-width: 380px !important;
	}
	.homepage-banner {
    margin-bottom: 0px;
	}
	body .ginput_container_address .address_line_1#input_3_10_1_container input {
    margin-bottom: 0px !important;
	}
	.ginput_right.address_zip,
	.ginput_left.address_city{
		padding-top: 16px;
	}
}
@media(max-width: 641px){
	.ginput_right.address_zip,
	.ginput_left.address_city{
		padding-top: 6px;
	}
}
@media(max-width: 575px){
	.kt-btn-wrap {
    width: 100%;
	}
	.btn {
		width: 100%;
		max-width: 320px;
		box-sizing: border-box;
		text-align: center;
		margin-bottom: 10px;
	}
	.buttons-container{
		box-sizing: border-box;
    text-align: center;
	}
	.buttons-container .btn:nth-child(2) {
    margin-left: 0px;
		margin-top: 10px;
	}
	.kt-btn-wrap-1{
		margin-top: 10px;
	}
	.footer-payments{
		flex: 100%;
		text-align: center;
		margin-top: 15px;
	}
	.review-section .slick-list{
		padding: 20px 0;
	}
	.review-container{
		padding: 28px 25px;
	}
}
