/*
Theme Name:     Divi HomeRoof Child Theme
Theme URI:      https://roofing.divicoded.com/
Description:    HomeRoof is a new Industrial & Residential Roofing Services Divi Child Theme with an engaging and informative design.
Author:         DiviCoded
Author URI:     https://divicoded.com/
Template:       Divi
Version:        1.0.0
*/


:root {--color1: #F45C20; --color2: #FEF7F5;} 


/* Header */
.et_pb_sticky.roof-header  {
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
.roof-header .et_pb_menu .et_pb_menu__wrap {
	justify-content: end;
}
.roof-header .et_pb_menu .et-menu {
	column-gap:37px;
	margin:0!important;
}
.roof-header .et_pb_menu .et-menu li a {	
	font-family: 'Montserrat';
	font-weight: 500;
	font-size: 16px;
	line-height: 20px;
	color: #151515;
	position:relative;
	transition:all .5s ease;
}
.roof-header .et_pb_menu .et-menu > li > a:before {
	content:'';
	background: var(--color1);
	width:9px;
	height:9px;
	position:absolute;
	border-radius:30px;
	left: 0;
	right: 0;
	margin: auto;
	transition:all .5s ease;
	opacity:0;
	top:18px;	
}
.roof-header .et_pb_menu .et-menu li > a:hover {
	opacity:1;
	color:var(--color1);
	background-color:transparent;
}
.roof-header .et_pb_menu .et-menu > li > a:hover:before {
	opacity:1;
	top:0;
}
.roof-header .et_pb_menu .et-menu > li a,
.roof-header .et_pb_menu .et-menu > li {
	padding:0;
}
.roof-header .et_pb_menu .et-menu li .sub-menu {
	border-color:var(--color1);
	transition: all .5s ease;
}
.roof-header .et_pb_menu .et-menu li .sub-menu li {
	padding:10px 20px;
}
.roof-header .et_pb_menu .et-menu li.roof-header-btn a {
	background: var(--color1);
	border-radius: 3px;
	padding: 13px 38px 13px 20px;
	font-family: 'Montserrat';
	font-weight: 500;
	font-size: 16px;
	line-height: 20px;
	color: #FFFFFF;
	position:relative;
}
.roof-header .et_pb_menu .et-menu li.roof-header-btn a:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #151515;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.3s ease;
}
.roof-header .et_pb_menu .et-menu li.roof-header-btn a:after {
	content: "\35";
	font-family: "ETModules";
	font-size: 18px;
	font-weight: 900;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 15px;
	transition: all .3s cubic-bezier(0.86, 0, 0.07, 1);
}
.roof-header .et_pb_menu .et-menu li li.menu-item-has-children>a:first-child:after {
	top:0;
}
.roof-header .et_mobile_menu a.mobile-toggle-icon {
	height: 47px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: transparent!important;
	border: 0;
}
.roof-header .et_mobile_nav_menu>.mobile_nav>ul>li.menu-item-has-children a:after {
	font-family: ETmodules;
	font-weight: 600;
	position: absolute;
	font-size: 18px;
	content: '\33';
	top: 11px;
	transform: rotate(0);
	right: 13px;
	transition: all .5s ease 0s;
}
.et-db #et-boc .roof-header .et_mobile_nav_menu .mobile_nav .mobile_menu_bar:before {
	color:var(--color1)!important;
}
.roof-header .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}
.roof-header .et_mobile_menu .menu-item-has-children {
	position: relative;	
}
.roof-header .et_mobile_menu {
	padding:0;
	top: 130%;
	border-color:var(--color1);
}
.roof-header .et_mobile_menu ul.sub-menu {
	display: none!important;
	visibility: hidden!important;
	transition: all 1.5s ease-in-out;
}
.roof-header .et_mobile_menu li>a {
	background-color:transparent!important;
	border:0;
}
.roof-header .et_mobile_menu .mobile-toggle-open>a {
	color:var(--color1);
}
.roof-header .et_mobile_menu .mobile-toggle-open ul.sub-menu.visible {
	display: block!important;
	visibility: visible!important;
	opacity: 1;
	color: var(--color1);
}
.roof-header .et_pb_menu .et-menu > li.menu-item-has-children > a {
	padding-right:20px;
}

@media(max-width:1220px) {
	.roof-header .et_pb_menu .et-menu {
		column-gap: 18px;
	}
	.roof-header .et_pb_menu .et-menu li a {
		font-size: 15px;
	}
	.roof-header .et_pb_menu .et-menu li.roof-header-btn a {
		padding: 10px 30px 10px 10px;
		font-size: 15px;
	}
	.roof-header .et_pb_menu .et-menu li.roof-header-btn a:after {
		right: 10px;
	}
	.roof-header .et_pb_menu img {
		max-width:150px;
	}
}

/* Footer */
.roof-footer-section .et_pb_video .et_pb_video_overlay_hover:hover {
	background: transparent;
}
.roof-footer-section .et_pb_video .et_pb_video_overlay_hover a {
	width: 132px;
	height: 132px;
	background: #FFFFFF;
	line-height: 132px;
	border-radius: 50%;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}
.roof-footer-section .et_pb_video .et_pb_video_overlay_hover a:before {
	content: '\45';
	color: var(--color1);
	font-size: 50px;
	width: 59px;
	height: 59px;
	border: 3px solid var(--color1);
	border-radius: 50%;
	position: absolute;
	line-height: 59px;
	top: 50%;
	left: 0;
	right: 0;
	margin: auto;
	transform: translateY(-50%);
}
.roof-footer-section > .et_pb_row{
	display:flex;
	align-items:flex-end;
}
.roof-footer-social.et_pb_social_media_follow li a.icon:before {
	color:#151515;
	transition:all .5s ease;
}
.roof-footer-social.et_pb_social_media_follow li a.icon:hover:before {
	color:#fff;
}

@media(max-width:1350px) {
	.roof-footer-section > .et_pb_row {
		display:block;
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-column {
		width: 100%!important;
		margin: 0 0 -100px!important;
		z-index: 9;		
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-column .et_pb_module {
		width:auto;
		margin:auto 50px;
		border-radius:0;
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-column-second {
		width:100%!important;
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-row {
		padding-top:200px!important;
		border-radius: 0;
	}
}
@media(max-width:980px) {
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-column .et_pb_module {
		margin: auto 30px;
		border-radius: 0;
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-row {
		padding-top: 180px!important;
	}
}
@media(max-width:767px) {
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-row {
		padding-top: 160px!important;
	}
	.roof-footer-section .et_pb_video .et_pb_video_overlay_hover a {
		width: 100px;
		height: 100px;
		line-height: 100px;
	}
	.roof-footer-section .et_pb_video .et_pb_video_overlay_hover a:before {
		font-size: 35px;
		width: 45px;
		height: 45px;
		line-height: 45px;
	}
	.et-db #et-boc .roof-footer-section > .et_pb_row .roof-footer-column .et_pb_module {
		margin: auto 20px;
	}
	.roof-footer-section .et_pb_video .et_pb_video_overlay_hover a {
		width: 80px;
		height: 80px;
		line-height: 80px;
	}
}

/* About Us Hero Section */
.soof-about-hero .et_pb_text_inner h1{
	color:var(--color1);
	padding:0 0 10px;
	margin:0;
}
.soof-about-hero span.et-pb-icon{
	color:var(--color1);
}
.soof-about-hero .et_pb_blurb_content .et_pb_blurb_container {
	padding-left:5px;
}
.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description {
	margin-left:-37px;
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 24px;
	margin-top:10px;
}
.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description a {
	margin-top:10px;
	display:block;
}
.soof-about-hero .roof-hero-box .et_pb_text_inner {
	background-color:#fff;
	padding:15px 22px 15px 23px;
	display: inline-block;
	color: var(--color1);
	border-radius: 8px 8px 0 0;
}
.soof-about-hero .roof-hero-box .et_pb_text_inner a {
	font-family: 'Montserrat';
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;	
	color: var(--color1);
}
.soof-about-hero .roof-hero-box .et_pb_text_inner a:first-child {
	color: #151515;
}
.soof-about-hero .roof-hero-contact .et_pb_blurb_content {
	max-width:260px;
	margin-right: 65px;
}
@media(max-width:980px) {
	.soof-about-hero .roof-hero-contact {
		max-width:320px;
	}
	.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description,
	.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description a {
		font-size:18px!important;
		line-height:28px!important;
	}
}
@media(max-width:767px) {
	.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description,
	.soof-about-hero .et_pb_blurb_content .et_pb_blurb_description a {
		font-size:16px!important;
		line-height:26px!important;
	}
}

/* Who We Are */
.roof-subtitle .et_pb_blurb_content {
	display:flex;
	max-width: max-content;
	align-items: center;
}
.roof-subtitle .et_pb_blurb_content .et_pb_main_blurb_image {
	margin:0;
	width: auto;
}
.roof-subtitle.roof-subtitle-side .et_pb_blurb_content{
	margin-left:0;
}
.roof-subtitle .et_pb_main_blurb_image span.et-pb-icon {
	color: var(--color1);
}
.roof-subtitle.roof-subtitle-color .et_pb_main_blurb_image span.et-pb-icon {
	color:#fff;
}
.roof-subtitle .et_pb_blurb_content h4 {
	padding:0;
}
.roof-subtitle .et_pb_blurb_content .et_pb_blurb_container {
	padding-left:12px;
}
.roof-who-section .roof-who-icon span.et-pb-icon {
	width: 32px;
	height: 32px;
	line-height:32px;
	color:#fff;
	background: var(--color1);
	border-radius: 30px;
	text-align: center;
}
.roof-who-section .roof-who-counter .percent span.percent-value{
	color: var(--color1)!important;
}
@media(max-width:1199px) {
	.roof-who-section .roof-who-counter {
		padding:40px 30px 30px !important;
	}
}

/* Why Choose Us */
.roof-why-section .roof-why-number .et_pb_promo_description{
	display:flex;
	column-gap:24px;
	align-items: center;
}
.roof-why-section .roof-why-number .et_pb_promo_description h3 {
	order:2;
	padding:0;
	transition:all .5s ease;
	color:#151515!important;
	font-size:24px;
	line-height: 29px;
}
.roof-why-section .roof-why-number:hover .et_pb_promo_description h3,
.roof-why-section .roof-why-number:hover .et_pb_promo_description div {
	color: var(--color1)!important;
}
.roof-why-section .roof-why-number .et_pb_promo_description div {
	order:1;
	position:relative;
	padding-left:21px;
	transition:all .5s ease;
	color:#151515;
	font-size:40px!important;
	line-height: 49px!important;
}
.roof-why-section .roof-why-number .et_pb_promo_description div:before {
	content:'';
	background: #151515;
	opacity: 0.1;
	position:absolute;
	left:0;
	top:0;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	transition:all .5s ease;
}
.roof-why-section .roof-why-number:hover .et_pb_promo_description div:before {
	background:var(--color1);
}
@media(max-width:1199px) {
	.roof-why-section .roof-why-number.et_pb_module {
		padding:20px!important;
	}
	.roof-why-section .roof-why-number .et_pb_promo_description div {
		font-size:34px!important;
		line-height: 43px!important;
	}
	.roof-why-section .roof-why-number .et_pb_promo_description h3 {
		font-size: 20px!important;
		line-height: 25px!important;
	}
}

/* Project Section */
.roof-project-filter .et_pb_ajax_pagination_container,
.roof-project .et_pb_portfolio_items {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
}
.roof-project-filter .project,
.roof-project .et_pb_portfolio_item {
	text-align: center;
	border-radius:5px;
	transition:all .5s ease;
	overflow:hidden;
	margin:0;
}
.roof-project-filter .project:hover,
.roof-project .et_pb_portfolio_item:hover {
	box-shadow: 0px 7px 30px rgba(100, 100, 111, 0.05);
	opacity:1;
}
.roof-project-filter .project .et_pb_module_header ,
.roof-project .et_pb_portfolio_item .et_pb_module_header {
	padding:19px 5px 0;
	margin:0;
}
.roof-project-filter .project .et_portfolio_image,
.roof-project .et_pb_portfolio_item .et_portfolio_image {
	position:relative;
	transition:all .5s ease;
}
.roof-project-filter .project .et_portfolio_image:before,
.roof-project .et_pb_portfolio_item .et_portfolio_image:before {
	content:'\4c';
	font-family:ETmodules;
	position: absolute;
	width: 70px;
	height: 70px;
	line-height:70px;
	background: #FFFFFF;
	top:50%;
	left:0;
	right:0;
	transform:translatey(-50%);
	opacity:0;
	transition:all .5s ease;
	margin:auto;
	border-radius:50%;
	color:var(--color1);
	font-size:26px;
	z-index:9;
}
.roof-project-filter .project:hover .et_portfolio_image:before,
.roof-project .et_pb_portfolio_item:hover .et_portfolio_image:before {
	opacity:1;
}
.roof-project-filter .project .et_portfolio_image:after,
.roof-project .et_pb_portfolio_item .et_portfolio_image:after {
	content:'';
	position:absolute;
	background: #151515;
	opacity: 0;
	left:0;
	top:0;
	right:0;
	bottom:0;
	transition:all .5s ease;
}
.roof-project-filter .project:hover .et_portfolio_image:after,
.roof-project .et_pb_portfolio_item:hover .et_portfolio_image:after {
	opacity:0.5;
}
.roof-project-filter .project a,
.roof-project .et_pb_portfolio_item a {
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: #151515;
	transition:all .5s ease;
}
.roof-project-filter .project:hover .et_pb_module_header a,
.roof-project .et_pb_portfolio_item:hover .et_pb_module_header a {
	color:var(--color1);
}
.roof-project-filter .project .post-meta ,
.roof-project .et_pb_portfolio_item .post-meta {
	margin:0;
}
.roof-project-filter .project .post-meta a ,
.roof-project .et_pb_portfolio_item .post-meta a {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	text-transform: uppercase;
	padding:0 5px 24px;    
	display: block;
}
.roof-project .et_pb_portfolio_filters {
	margin: 0 0 30px;
}
.roof-project .et_pb_portfolio_filters ul {
	display:flex;
	gap:10px;
}
.roof-project .et_pb_portfolio_filters ul li a {
	border:0;
	background-color:var(--color2);
	color:#151515;
	transition:all .5s ease;
	border-radius:5px!important;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
}
.roof-project .et_pb_portfolio_filters ul li a.active,
.roof-project .et_pb_portfolio_filters ul li a:hover {
	background-color:var(--color1);
	color:#fff;
}
@media(max-width:980px) {
	.roof-project-filter .et_pb_ajax_pagination_container,
	.roof-project .et_pb_portfolio_items {
		grid-template-columns:repeat(2,1fr);
	}
}
@media(max-width:767px) {
	.roof-project-filter .et_pb_ajax_pagination_container,
	.roof-project .et_pb_portfolio_items {
		grid-template-columns:repeat(1,1fr);
	}
	.roof-project .et_pb_portfolio_filters ul {
		flex-direction:column;
	}
	.roof-project .et_pb_portfolio_filters ul li {
		width:auto!important;
		text-align:center;
	}
}

/* Team Section */
.roof-team .et_pb_team_member {
	border-radius:5px;
	overflow: hidden;
}
.roof-team .et_pb_team_member .et_pb_team_member_image {
	max-width:100%;
	margin:0;
	position:relative;
	text-align: center;
}
.roof-team .et_pb_team_member .et_pb_team_member_image img {
	width:100%;
}
.roof-team .et_pb_team_member .et_pb_team_member_image:before {
	content:'';
	background: #151515;	
	border-radius: 5px 5px 0px 0px;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	opacity:0;
	transition:all .5s ease;
}
.roof-team .et_pb_team_member:hover .et_pb_team_member_image:before {
	opacity: 0.5;
}
.roof-team .et_pb_team_member .et_pb_team_member_description {
	position:relative;
	padding:19px 10px 24px;
	text-align:center;
}
.roof-team .et_pb_team_member .et_pb_team_member_description h4 {
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: #151515;
	padding:0;
	transition:all .5s ease;
}
.roof-team .et_pb_team_member .et_pb_team_member_description p {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	text-transform: uppercase;
	color: #151515;
}
.roof-team .et_pb_team_member .et_pb_team_member_description ul {
	position:absolute;
	top:-60px;
	left:0;
	right:0;
	margin: auto;
	background-color:var(--color1);
	padding:14px 10px;
	opacity:0;
	transition:all .5s ease;
}
.roof-team .et_pb_team_member:hover {
	box-shadow: 0px 7px 30px rgba(100, 100, 111, 0.05);
}
.roof-team .et_pb_team_member:hover .et_pb_team_member_description ul {
	opacity:1;
}
.roof-team .et_pb_team_member .et_pb_team_member_description ul li a {
	background: #FFFFFF;
	width:32px;
	height:32px;
	line-height:32px;
	color:#151515;
	border-radius:30px;
	font-size: 14px;
}
.roof-team .et_pb_team_member .et_pb_team_member_description ul li a:hover,
.roof-team .et_pb_team_member:hover .et_pb_team_member_description h4 {
	color:var(--color1);
}
.roof-team .et_pb_team_member .et_pb_team_member_description ul a.et_pb_google_icon:before {
	content:'\e09a';
}
@media(max-width:980px) {
	.roof-team .et_pb_team_member {
		max-width: 500px;
		margin: auto;
	}
}

/* Client Review */
.roof-client-team .et_pb_team_member{
	align-items:center;
	background-color:#fff;
	border-radius:5px;
	overflow: hidden;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_image {
	margin-right:12px;
	height:100%;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_image img {
	height:100%;
	width:100%;
	max-width:210px;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description {
	padding:13px;
	transition: all .5s ease;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description h4 {
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: #151515;
	padding-bottom:14px;
	transition:all .5s ease;
}
.roof-client-team .et_pb_team_member:hover .et_pb_team_member_description h4 {
	color:var(--color1);
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description p.et_pb_member_position {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #151515;
	position:relative;
	padding:0 0 20px;
	margin:0 0 18px;
	transition: all .5s ease;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description p.et_pb_member_position:before {
	content:'';
	position: absolute;
	width: 30px;
	height: 3px;
	left:0;
	bottom:0;
	background: #151515;
	transition:all .5s ease;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description p {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #151515;
	transition: all .5s ease;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description ul {
	margin-top: 0;
	transform: scaleY(0);
	transition: all .5s ease;
	height:0;
}
.roof-client-team .et_pb_team_member:hover .et_pb_team_member_description ul {
	transform:scaleY(1);
	height:auto;
	transition: all .5s ease;
	margin-top:26px;
}
.roof-client-team .et_pb_team_member {
	transition:all .5s ease;
}
.roof-client-team .et_pb_team_member:hover {
	box-shadow: 0px 7px 30px rgba(100, 100, 111, 0.05);
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description ul a {
	background: #151515;
	width:32px;
	height:32px;
	line-height:32px;
	color:#fff;
	transition:all .5s ease;
	border-radius:30px;
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description ul a:hover,
.roof-client-team .et_pb_team_member:hover .et_pb_team_member_description p.et_pb_member_position:before {
	background: var(--color1);
}
.roof-client-team .et_pb_team_member .et_pb_team_member_description ul a.et_pb_google_icon:before {
	content:'\e09a';
}
@media(max-width:980px) {
	.roof-client-team .et_pb_team_member .et_pb_team_member_description h4 {
		font-size: 22px;
		line-height: 27px;
	}
}
@media(max-width:767px) {
	.roof-client-team .et_pb_team_member .et_pb_team_member_image {
		height: auto;
		max-width: 100%;
		margin: 0;
	}
	.roof-client-team .et_pb_team_member .et_pb_team_member_description h4 {
		font-size: 20px;
		line-height: 25px;
	}
	.roof-client-team .et_pb_team_member .et_pb_team_member_description {
		padding:20px;
	}
}

/* Appointment Section */
.roof-app-contact form select option {
	color:#000!important;
}
.roof-app-contact form {
	margin-left:-4%;
}
.roof-app-contact form .et_contact_bottom_container {
	margin:0;
	float:left;
	padding-left: 4%;
}
.roof-app-contact form .et_contact_bottom_container button {
	margin:0;
}
.roof-app-contact form p.et_pb_contact_field {
	margin:0 0 30px;
	padding: 0 0 0 4%;
}
.roof-app-contact form .et_contact_bottom_container button:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #fff;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.3s ease;
	visibility:visible;
	display:block;
}
.roof-app-contact form .et_contact_bottom_container button:hover {
	border:1px solid #fff;
}
.roof-app-contact form .input:focus {
	border-color:rgba(255,255,255,0.7);
}

/* Partner Section */
.roof-partner-logo .et_pb_column {
	display:grid;
	grid-template-columns:repeat(4,1fr);
}
.roof-partner-logo .et_pb_column .et_pb_module {
	margin:0;
	border:1px solid rgb(217 217 217 / 50%);
	border-width:0 1px 1px 0;
}
.roof-partner-logo .et_pb_column .et_pb_module:nth-child(5),
.roof-partner-logo .et_pb_column .et_pb_module:nth-child(6),
.roof-partner-logo .et_pb_column .et_pb_module:nth-child(7) {
	border-width:0 1px 0 0;
}
.roof-partner-logo .et_pb_column .et_pb_module:nth-child(4) {
	border-width:0 0 1px 0;
}
.roof-partner-logo .et_pb_column .et_pb_module:nth-child(8) {
	border-width:0;
}
@media(max-width:767px) {
	.roof-partner-logo .et_pb_column {
		display: grid;
		grid-template-columns: repeat(2,1fr);
	}
	.roof-partner-logo .et_pb_column .et_pb_module:nth-child(even){
		border-width:0 0 1px 0;
	}
	.roof-partner-logo .et_pb_column .et_pb_module:nth-child(odd) {
		border-width:0 1px 1px 0;
	}
	.roof-partner-logo .et_pb_column .et_pb_module:nth-child(7),
	.roof-partner-logo .et_pb_column .et_pb_module:nth-child(8) {
		border-bottom:0;
	}
}

/* Contact Page */
.roof-contact-details > .et_pb_row {
	display:flex;
	align-items:center;
}
.roof-contact-details .roof-contact-box .et-pb-icon {
	width: 70px;
	height: 70px;
	line-height:70px;
	border-radius:50%;
	color:#fff;
	background:#151515;
	transition:all .5s ease;
}
.roof-contact-details .roof-contact-box:hover .et-pb-icon {
	background:var(--color1);
}
.roof-contact-details .roof-contact-box .et_pb_main_blurb_image {
	margin-bottom:37px;
}
@media(max-width:980px) {
	.roof-contact-details > .et_pb_row {
		display:block;
	}
	.roof-contact-details .roof-contact-box .et_pb_main_blurb_image {
		margin-bottom:25px;
	}
}
/* contact Form */
.roof-contact-form form {
	margin-left:-4%;
}
.roof-contact-form form .et_contact_bottom_container {
	margin:0;
	float:left;
	padding-left: 4%;
}
.roof-contact-form form .et_contact_bottom_container button {
	margin:0;
	background-color :var(--color1);
}
.roof-contact-form form p.et_pb_contact_field {
	margin:0 0 30px;
	padding: 0 0 0 4%;
}
.roof-contact-form form .input:focus {
	border-color: rgba(244,104,59,0.7);
}
.roof-contact-form form .et_contact_bottom_container button:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #fff;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.3s ease;
	visibility:visible;
	display:block;
}
.roof-contact-form form .et_contact_bottom_container button:hover {
	border:1px solid #fff;
}
.roof-contact-form h2 {
	color :var(--color1);
}
@media(max-width:767px) {
	.roof-contact-form iframe {
		height:400px!important;
	}
}

/* Home Page */
.roof-counter-box .percent{
	height:auto!important;
	margin:0!important;
	color :var(--color1);
}
.roof-counter-box .percent .percent-value {
	color :var(--color1);
}
.roof-service-box .et_pb_blurb_content {
	max-width:500px;
	border-radius: 5px;
	overflow: hidden;
	background: #fff;
	padding-bottom:36px;
}
.roof-service-box .et_pb_blurb_content .et_pb_image_wrap {
	position:relative;
}
.roof-service-box .et_pb_blurb_content .et_pb_image_wrap:before {
	content: '\4c';
	font-family: ETmodules;
	position: absolute;
	width: 70px;
	height: 70px;
	line-height: 70px;
	background: #FFFFFF;
	top: 50%;
	left: 0;
	right: 0;
	transform: translatey(-50%);
	opacity: 0;
	transition: all .5s ease;
	margin: auto;
	border-radius: 50%;
	color: var(--color1);
	font-size: 26px;
	z-index: 9;
}
.roof-service-box:hover .et_pb_blurb_content .et_pb_image_wrap:before {
	opacity:1;
}
.roof-service-box .et_pb_blurb_content .et_pb_image_wrap:after {
	content: '';
	position: absolute;
	background: #151515;
	opacity: 0;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	transition: all .5s ease;
}
.roof-service-box .et_pb_blurb_content .et_pb_main_blurb_image,
.roof-service-box .et_pb_blurb_content .et_pb_main_blurb_image img {
	width:100%;
}
.roof-service-box:hover .et_pb_blurb_content .et_pb_image_wrap:after {
	opacity:0.5;
}
.roof-service-box .et_pb_blurb_content .et_pb_blurb_container .et_pb_module_header {
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: #151515;
	padding:0 10px ;
	transition: all .5s ease;
}
.roof-service-box:hover .et_pb_blurb_content .et_pb_blurb_container .et_pb_module_header {
	color: var(--color1);
}
@media(max-width:980px) {
	.roof-service-box .et_pb_blurb_content .et_pb_blurb_container .et_pb_module_header {
		font-size: 22px;
		line-height: 27px;
	}
}
@media(max-width:767px) {
	.roof-service-box .et_pb_blurb_content .et_pb_blurb_container .et_pb_module_header {
		font-size: 20px;
		line-height: 25px;
	}
}

/* Pricing Section */
.roof-pricing .et_pb_pricing_table  {
	padding:45px 20px;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_heading {
	order:1;
	padding:0;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_heading h2 {
	color:#151515;
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	padding:0;
	transition:all .5s ease;
	margin-bottom:34px;
}
.roof-pricing:hover .et_pb_pricing_table .et_pb_pricing_heading h2 {
	color: var(--color1);
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content_top {
	order:3;
	border:0;
	padding:16px 0 25px;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content_top .et_pb_et_price {
	color: #151515;
	font-family: 'Montserrat';
	font-weight: 400;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content_top .et_pb_dollar_sign {
	position:relative;	
	font-size: 24px;
	line-height: 29px;	
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content_top .et_pb_frequency {
	font-size: 16px;
	line-height: 20px;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content_top .et_pb_sum {
	font-weight: 700;
	font-size: 50px;
	line-height: 61px;
	color: #151515;
	padding:0 8px;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content {
	order:2;
	padding:0;
	text-align: center;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li span:before {
	content:none;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li {
	border-top:1px solid #D9E8FF;
	padding:12px 0!important;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li p {
	position:relative;
	padding-left:25px;
	display:inline-block;
	font-weight: 700;
	font-size: 16px;
	line-height: 19px;
	color: #151515;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li p:before {
	color: var(--color1);
	font-size:16px;
	font-family:ETmodules;
	position:absolute;
	left:0;
	top:0;
	font-weight: 600;
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li p.roof-pricing-true:before {
	content:'\4e';
}
.roof-pricing .et_pb_pricing_table .et_pb_pricing_content ul li p.roof-pricing-false:before {
	content:'\4d';
	color:#151515;
}
.roof-pricing .et_pb_pricing_table .et_pb_button_wrapper {
	order:4;
	padding:0;
}
.roof-pricing .et_pb_pricing_table .et_pb_button_wrapper a {
	color: #FFFFFF!important;
	border: 0px!important;
	font-size: 16px;
	background-color: #151515!important;
	border-radius: 3px!important;
	position: relative;
	transition: all 0.5s ease;
	padding:13px 38px 13px 20px!important;
}
.roof-pricing .et_pb_pricing_table .et_pb_button_wrapper a:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #151515;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.5s ease;
	visibility: visible!important;
	display: block!important;
}
.roof-pricing .et_pb_pricing_table .et_pb_button_wrapper a:after {
	content: "\35";
	color: #FFFFFF;
	margin-left: 0.3em;
	left: auto;
	font-size: 18px!important;
	font-weight: 900;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 15px;
	transition: all .3s cubic-bezier(0.86,0,0.07,1);
	visibility: visible;
	display: block;
	font-family: "ETModules";
	opacity:1!important;
}
.roof-pricing:hover .et_pb_pricing_table .et_pb_button_wrapper a {
	background-color:var(--color1)!important;
}
.roof-pricing .et_pb_module.et_pb_image span,
.roof-pricing .et_pb_module.et_pb_image span img {
	width:100%;
}

/* Blog Section */
.roof-blog .roof-blog-left .et_pb_ajax_pagination_container article {
	margin:0!important;
	background-color:#fff!important;
	border-radius:5px;
	overflow:hidden;
	position:relative;
	padding-bottom:25px;
}
.roof-blog-left .et_pb_ajax_pagination_container article a.entry-featured-image-url {
	margin:0!important;
	position:relative;
}
.roof-blog-left .et_pb_ajax_pagination_container article a.entry-featured-image-url:before {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background: #151515;
	opacity: 0.5;
}
.roof-blog-category .roof-blog-left .et_pb_ajax_pagination_container {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
}
.roof-blog-category.roof-blog-grid-2 .roof-blog-left .et_pb_ajax_pagination_container {
	grid-template-columns:repeat(2,1fr);
}
.roof-blog-category.roof-blog-grid-4 .roof-blog-left .et_pb_ajax_pagination_container {
	grid-template-columns:repeat(4,1fr);
}
.roof-blog.roof-blog-category .roof-blog-left .et_pb_ajax_pagination_container article {
	background-color: var(--color2)!important;
}
.roof-blog-left .et_pb_ajax_pagination_container article a.entry-featured-image-url img {
	width:100%;
}
.roof-blog-left .et_pb_ajax_pagination_container article h2 {
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: var(--color1);
	padding:20px 30px 17px;
}
.roof-blog-category.roof-blog-grid-2 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta,
.roof-blog-category.roof-blog-grid-3 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta,
.roof-blog-category.roof-blog-grid-4 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta {
	padding:0 30px!important;
}
.roof-blog-left .et_pb_ajax_pagination_container article p.post-meta {
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	color: #151515;
	margin:0;
	padding:0 30px;
	padding-right:100px!important;
}
.roof-blog-left .et_pb_ajax_pagination_container article p.post-meta a {
	color:#151515;
}
.roof-blog-left .et_pb_ajax_pagination_container article p.post-meta a[rel='tag'],
.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta a[rel='tag'] {
	position: absolute;
	right: 30px;
	background: var(--color1);
	color:#fff;
	border-radius: 5px;
	padding:5px;
	bottom: 15px;
}
.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta a[rel='tag'] {
	bottom:-7px;
}
.roof-blog-left .et_pb_ajax_pagination_container article p.post-meta .published {
	background: var(--color1);
	border-radius: 5px;
	width: 60px;
	height: 60px;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 17px;
	color: #FFFFFF;
	position: absolute;
	top: 22px;
	left: auto;
	right: 17px;
	text-align: center;
	padding-top: 13px;
}
.roof-blog-right .et_pb_ajax_pagination_container article {
	background-color:#fff;
	border-radius:5px;
	overflow:hidden;
	position:relative;
	display: flex;
	column-gap:26px;
	margin:0 0 30px!important;
}
.roof-blog-right .et_pb_ajax_pagination_container article:after {
	content:none;
}
.roof-blog-right .et_pb_ajax_pagination_container article a.entry-featured-image-url {
	position:relative;
	max-width: 200px;
	width:100%;
	margin:0;
}
.roof-blog-right .et_pb_ajax_pagination_container article a.entry-featured-image-url img {
	border-radius:5px 5px 0 0 ;
	height:100%;
}
.roof-blog-right .et_pb_ajax_pagination_container article a.entry-featured-image-url:before {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background: #151515;
	opacity: 0.5;
	border-radius:5px 5px 0 0 ;
}
.roof-blog-right .et_pb_ajax_pagination_container .blog_detail {
	display:flex;
	flex-direction:column;
	position: relative;
	padding:33px 27px 33px 0;
}
.roof-blog-right .et_pb_ajax_pagination_container article h2 {
	padding:70px 0 19px;
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	color: #151515;
}
.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta {
	font-family: 'Lato';
	font-weight: 700;
	font-size: 16px;
	line-height: 19px;
	color: #151515;
	margin:0;
}
.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta a {
	color:#151515;
}
.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta .published {
	background: #151515;
	border-radius: 5px;
	padding: 13px 18px 10px 14px;
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 14px;
	line-height: 17px;
	color: #FFFFFF;
	position:absolute;
	top:33px;
	left:0;
}
@media(max-width:980px) {
	.roof-blog-right .et_pb_ajax_pagination_container article {
		display: block;
		padding-bottom:17px;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article a.entry-featured-image-url {
		width:100%;
		max-width: 100%;
	}
	.roof-blog-right .et_pb_ajax_pagination_container .blog_detail {
		padding:0;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta {
		position:relative;
		left: 0;
		transform: translateX(0);
		margin:0;
		bottom: 0;
		padding:0 30px;
		display: flex;
		gap: 5px;
		align-items: center;
		flex-wrap: wrap;   
		padding-right: 100px!important;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta .published {
		position:relative;
		padding:5px;
		left:0px;
		top:0;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article h2,
	.roof-blog-left .et_pb_ajax_pagination_container article h2 {
		padding:20px 30px 17px;
		font-size: 22px;
		line-height: 27px;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta a[rel='tag'] {
		bottom: -1px;
	}
	.roof-blog-category .roof-blog-left .et_pb_ajax_pagination_container {
		grid-template-columns:repeat(2,1fr)!important;
	}
}
@media(max-width:767px) { 
	.roof-blog-right .et_pb_ajax_pagination_container article h2,
	.roof-blog-left .et_pb_ajax_pagination_container article h2 {
		padding:20px 20px 17px;
		font-size: 20px;
		line-height: 25px;
	}
	.roof-blog-right .et_pb_ajax_pagination_container article p.post-meta ,
	.roof-blog-left .et_pb_ajax_pagination_container article p.post-meta ,
	.roof-blog-category.roof-blog-grid-2 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta,
	.roof-blog-category.roof-blog-grid-3 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta,
	.roof-blog-category.roof-blog-grid-4 .roof-blog-left .et_pb_ajax_pagination_container article p.post-meta {
		padding:0 20px!important;
	}

	.roof-blog-category .roof-blog-left .et_pb_ajax_pagination_container {
		grid-template-columns:repeat(1,1fr)!important;
	}
}

/* FAQ Section */
.roof-faq .et_pb_toggle {
	padding: 18px 21px 18px 17px!important;
	position:relative;
	margin:0!important;
	background-color:transparent!important;
}
.roof-faq .et_pb_toggle:before {
	content:'';
	width:1px;
	height:0;
	background:var(--color1);
	position:absolute;
	left:-1px;
	top:-1px;
	transition:all .5s ease;
}
.roof-faq .et_pb_toggle.et_pb_toggle_open:before {
	height:100%;
}
.roof-faq .et_pb_toggle .et_pb_toggle_title {
	font-weight: 700;
	font-size: 18px;
	line-height: 22px;
	color: #151515;
}
.roof-faq .et_pb_toggle .et_pb_toggle_title:before {
	content:'\4c';
	background: #151515;
	border-radius: 5px;
	width: 15px;
	height: 15px;
	line-height:15px;
	color:#fff;
	font-size: 14px;
}
.roof-faq .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title {
	color:var(--color1);
}
.roof-faq .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
	content: "\4b";
	background:var(--color1);
	display:block;
}
.roof-faq .et_pb_toggle .et_pb_toggle_content {
	padding-top:15px;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #151515;
}
.roof-faq .et_pb_toggle:first-child {
	padding-top:38px!important;
}
.roof-faq .et_pb_toggle.et_pb_toggle_open:first-child {
	padding-top:18px!important;
}
.roof-faq .et_pb_toggle:last-child {
	padding-bottom:38px!important;
}
.roof-faq .et_pb_toggle.et_pb_toggle_open:last-child {
	padding-bottom:18px!important;
}
.roof-faq .roof-faq-details.et_pb_column {
	margin:0 auto!important;
}
@media(max-width:575px) {
	.roof-faq .roof-faq-details.et_pb_column {
		flex-direction:column;
		gap:30px;
	}
	.roof-faq .roof-faq-details.et_pb_column .et_pb_module {
		text-align: center;    
		margin: auto;
	}
}



#commentform {
	padding-bottom: 0;
	display:flex;
	flex-direction:column;
}
#commentform .comment-form-comment {
	order:4;
}
#commentform .comment-form-cookies-consent {
	order:5;
}
#commentform .form-submit {
	order:6;
	text-align:left;
}
.roof-blog-comment #commentform input:focus,
.roof-blog-comment #commentform .comment-form-comment textarea#comment:focus {
	border: 1px solid rgba(244,104,59,0.7)!important;
}
.roof-blog-comment #commentform p button:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #151515;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.3s ease;
	visibility:visible;
	display:block!important;
}
.roof-blog-detail-icon span.et-pb-icon,
.roof-blog-detail-title h3{
	color:var(--color1);
}
.roof-sidebar .et_pb_module .et_pb_widget {
	margin:0 0 30px!important;
	width:100%;
}
.roof-sidebar .et_pb_module .et_pb_widget form input{
	border:1px solid var(--color1);
}
.roof-sidebar .et_pb_module .et_pb_widget form button {
	background-color:var(--color1);
	border:0;
	color:#fff;
}
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group,
.roof-sidebar .et_pb_module .et_pb_text_inner { 
	background-color:var(--color2);
	border-radius:5px;
	padding: 20px 20px 20px;
}
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group h2 ,
.roof-sidebar .et_pb_module .et_pb_text_inner {
	font-size:24px;
	line-height:29px;
	font-weight:700;
	color:#151515;
}
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group ul li a,
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group .wp-block-latest-comments,
.roof-sidebar .et_pb_module .et_pb_text_inner a {
	font-size:16px;
	line-height:20px;
	font-weight:400;
	color:#151515;
}
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group ul li {
	margin:0;
}
.roof-sidebar .et_pb_module .et_pb_widget .wp-block-group ul,
.roof-sidebar .et_pb_module .et_pb_text_inner {
	display:flex;
	flex-direction:column;
	gap:10px;
}

/* 404 Page */
.roof-hero-404-section a.et_pb_button:before {
	content: "";
	width: 38px;
	height: 100%;
	background: #151515;
	opacity: 0.1;
	border-radius: 30px 5px 5px 30px;
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 0;
	transition: all 0.3s ease;
	visibility:visible;
	display:block!important;
}
.roof-text-effect{
	color: var(--color1);
	font-family: 'Fredoka One', cursive;
	line-height:200px;
	font-size: 200px;
	font-weight: 500;
	text-align: center;
}
.roof-text-effect span{
	display: inline-block;
	animation: rotate 1s ease-in infinite alternate; 
}
@keyframes rotate{
	0%{
		text-shadow: 0 0 0 var(--color1);
		transform: rotateY(90deg);
	}
	100%{
		text-shadow: 0.1em 0.1em 0.1em var(--color2);
		transform: rotateY(0deg);
	}
}
@media(max-width:980px) {
	.roof-text-effect{
		line-height:150px;
		font-size: 150px;
	}
}
@media(max-width:767px) {
	.roof-text-effect{
		line-height:100px;
		font-size: 100px;
	}
}