/*
 Theme Name:   Clear Creek Concrete
 Theme URI:    https://generatepress.com
 Description:  Clear Creek Concrete Theme
 Author:       iWebXpert
 Author URI:   https://iwebxpert.com
 Template:     generatepress
 Version:      1
*/


/**************************** Globals ***************************/

/*** Variables ***/
:root {
  --accent: #f3971f;
  --white: #fff;
  --black: #000;
  --lightGray: #f8f8f8;
  --darkGray: #222021;
  --darkBlue: #020f2f;
  
  --footerWidgetText: #a9a9a9;
  --footerCopyrightText: #4b4848;
  --footerCopyrightBG: #1a1819;
}

/*** Typography ***/
.fab, .fas{
	font-family: 'FontAwesome';
}
h2, h3, h4, h5, h6{
	font-weight: 700;
}
h3{
	line-height: 1.2em;	
}
h4{
	font-size: 27px;
    line-height: normal;
}
h5{
	font-size: 20px;
	line-height: normal;
	margin-bottom: 10px;
}

/*** Content & Background***/
.text-left{
	text-align: left;
}
.text-center{
	text-align: center;
}
.text-right{
	text-align: right;
}

.color.-white{
	color: var(--white);
}
.color.-black{
	color: var(--black);
}
.color.-accent{
	color: var(--accent);
}
.color.-darkBlue{
	color: var(--darkBlue);
}

.background.-accent{
	background-color: var(--accent);
}
.background.-white{
	background-color: var(--white);
}
.background.-black{
	background-color: var(--black);
}
.background.-lightGray{
	background-color: var(--lightGray);
}
.background.-darkGray{
	background-color: var(--darkGray);
}

/*** Margin & Padding ***/
.p140{
	padding: 140px 0;
}
.p120{
	padding: 120px 0;
}
.p90{
	padding: 90px 0;
}
.p70{
	padding: 70px 0;
}
.mb90{
	margin-bottom: 90px;
}
.mb70{
	margin-bottom: 70px;
}

.container{
	padding: 0 !important;
}

a.learn-more{
	background: var(--accent);
	color: white;
	text-transform: uppercase;
	padding: 22px 42px;
	display: inline-block;
	font-size: 30px;
	font-weight: 600;	
	border-radius: 60px;
}
a.learn-more:hover{
	background: var(--darkGray);
}

.entry-content p{
	color: #7a7a7a;
}

/**************************** Header ***************************/
#site-navigation{
	background: none;
}

.main-navigation .main-nav ul li a{
	color: black;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
}

.main-navigation .main-nav ul li.sfHover > a{
	background: none;
	color: black;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li a:hover {
	background: none;
	color: var(--accent);
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover{
	background: none;
	color: var(--accent);
}

.inside-header {
    padding: 15px 0;
	display: flex;
    flex-direction: row;
    align-items: center;
}

header#masthead .site-logo{
    flex-grow: 1;	
}

.menu-toggle .mobile-menu{
	text-transform: uppercase;	
}

/*** Top Header ***/
.topHeaderInner {
    padding: 10px 0;
}

ul.topHeader_contactInfo {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}

ul.topHeader_contactInfo li{
    margin-right: 18px;
}

ul.topHeader_contactInfo li, ul.topHeader_contactInfo li a {
    font-size: 14px;
    color: white;
}

ul.topHeader_contactInfo li a{
    background: url(images/mail_icon.png) no-repeat;
    padding-left: 22px;
    background-size: 16px;
    background-position: center left;
	vertical-align: sub;
}

ul.topHeader_contactInfo li.phone a{
	background-image: url(images/phone_icon.png);
    padding-left: 18px;	
}

ul.topHeader_contactInfo li.schedule{
    background: url(images/clock_icon.png) no-repeat;
    padding-left: 20px;
    background-size: 16px;
    background-position: center left;
    line-height: 28px;
    vertical-align: sub;
}

.topHeaderInner nav.social span {
	font-size: 20px;
	margin-right: 20px;
	color: var(--accent);
	transition: all 0.2s ease;
}
.topHeaderInner nav.social span:hover{
	color: var(--accent);
}

.innerPageFeaturedBannerInner h1 {
    font-size: 72px;
    text-transform: uppercase;
    font-weight: 600;
}


/**************************** Body Content ***************************/

.home-banner-text {
    width: 990px;
    margin: 0 auto;
    max-width: 100%;
}

.one-container .site-content{
	padding: 90px 0;
}

/*** Homepage Featured Banner ***/
.homeFeaturedBanner {
    padding: 190px 0;
	background-size: cover;
	background-position: center;
	position: relative;
    box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.5);	
}
.homeFeaturedBannerInner {
    width: 970px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}
.homeFeaturedBanner .bannerTitle{
	text-transform: uppercase;
	font-weight: 700;	
}
.homeFeaturedBanner_subTitle {
    font-size: 30px;
    color: var(--white);
    line-height: 40px;
}

.homeOurServices_header img{
	max-width: 70px;
    height: auto;	
}
.homeOurServices_desc {
    color: gray;
}
.homeOurServices_icon{
	background: var(--accent);
    width: 95px;
    height: 95px;
    padding: 12px;
    display: flex;
    align-items: center;
    border-radius: 99999999px;	
}
.homeOurServices_icon{ 
	position: relative;
	top: 0;
	transition: all 0.1s cubic-bezier(0.4, 0, 1, 1);
}
.homeOurServices_item:hover .homeOurServices_icon{
	top: -5px;
}

.homeImageAndText, .homeTextAndImage {
	background-color: var(--accent);
	background-size: contain;
	background-repeat: no-repeat;
}
.homeImageAndText .homeImageAndText_text{
	padding: 95px 90px 95px 50px;
	/* clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%); */
}
.homeImageAndText .homeImageAndText_text h4,
.homeTextAndImage .homeTextAndImage_text h4{
    font-weight: 100;
    line-height: 25px;	
}
.homeImageAndText_image{
	clip-path: polygon(0% 0, 100% 0px, 90% 100%, 0% 100%);
    background-repeat: no-repeat;
    background-size: cover;
}
.homeTextAndImage {
	background-position: right;	
}
.homeTextAndImage .homeTextAndImage_text{
	clip-path: polygon(0% 0, 90% 0, 100% 100%, 0% 100%);
	padding: 95px 50px 95px 90px;
}

.homeTextAndImage_image {
    clip-path: polygon(10% 0, 100% 0px, 100% 100%, 0% 100%);
    background-repeat: no-repeat;
    background-size: cover;	
}

.homeFullwidthText h4{
	line-height: 45px;
	text-align: center;
}

.homeFullwidthText .gray-box {
    background: #676052;
    padding: 30px 20px;
}

.innerPageFeaturedBanner{
	background-size: cover;
	background-position: center;
	position: relative;
	box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.1);

}

.getAQuote{
	background-color: var(--accent);
	background-size: contain;
}

.getAQuote .gform_wrapper h3.gform_title,
.contactPage_form .gform_wrapper h3.gform_title{
    margin: 0;
    font-size: 55px;
    color: white;
    text-transform: uppercase;	
}

.getAQuote .getAQuote_image{
    clip-path: polygon(0% 0, 100% 0, 90% 100%, 0% 100%);	
    background-repeat: no-repeat;
    background-size: cover;	
}

.getAQuote .getAQuote_form  {
	min-height: 540px;
	padding: 55px 60px 55px 70px;
}

.getAQuote .getAQuote_form .gform_wrapper{
	margin: 0;
}

.getAQuote .getAQuote_form li.gfield {
    display: flex;
    align-items: center;
    margin: 0;
}

.getAQuote_form li.gfield label.gfield_label{
    margin: 0;
    width: 20%;
    color: white;
    font-weight: 100;
}

.getAQuote_form li.gfield .ginput_container{
    flex-grow: 1;
    margin: 0;	
	width: 80%;	
}

.getAQuote_form .gform_wrapper li.gfield input[type="text"], 
.getAQuote_form .gform_wrapper li.gfield textarea {
    background: #c77c19;
    border: 1px solid white;
    padding: 7px 7px !important;
    color: white;
}

.getAQuote_form .gform_wrapper .gform_footer, 
.contactPage_form .gform_wrapper .gform_footer {
    margin: 0;
    text-align: center;
}

.getAQuote_form .gform_wrapper .gform_footer input.gform_button{
	background: var(--darkGray);
	text-transform: uppercase;
    font-weight: 600;
    padding: 10px 50px;
    margin-left: 7vw;
}

.getAQuote_form .gform_wrapper .gform_footer input.gform_button:hover{
	background: var(--white);
	color: var(--black);
}

.getAQuote_form .gform_wrapper div.validation_error,
.contactPage_form .gform_wrapper div.validation_error {
    border: none;
    text-align: left;
    padding: 10px 0;
    margin: 0;
}

/*** Service Page ***/
#services .services_item{
	border-radius: 99999999px;
    width: 260px;
    height: 260px;
	filter: grayscale(100%);
	box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.4);
	margin: 0 auto;
	transition: all 0.5s ease;
    align-items: center;
    display: flex;
    justify-content: center;	
	cursor: pointer;	
}

#services .services_item:hover{
	filter: grayscale(0%);
	box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.2);
}

#services .services_item h4{
    font-size: 24px;
    margin: 0;
    text-align: center;
}

/*** Contact Page ***/
.contactPage_map {
    max-height: 350px;
    overflow: hidden;
}

.contactPage_form .gform_wrapper h3.gform_title{
	color: var(--darkBlue);
	text-transform: capitalize;
    text-align: center;
    margin-bottom: 40px;	
}

.contactPage_form .gform_wrapper ul.gform_fields li.gfield input,
.contactPage_form .gform_wrapper ul.gform_fields li.gfield textarea {
	border: 1px solid #a1a1a1;
	margin: 0 0 15px;
    padding: 20px 25px !important;	
}
.contactPage_form .gform_wrapper ul.gform_fields li.gfield{
	margin: 0;
}

.contactPage_form .gform_wrapper .gform_footer input.gform_button{
	background-color: var(--accent);
    padding: 20px 50px;
    text-transform: uppercase;
    font-weight: 600;	
}

/*** About Us Page ***/
.big-fonts .textwidget p{
    font-size: 26px;
    margin-bottom: 50px;
    line-height: 45px;
}


/*** FAQ Page ***/
.faqs .accordion {
	background-color: var(--darkGray);
	color: white;
	cursor: pointer;
	padding: 20px 30px;
	font-size: 22px;
	font-weight: 600;
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	line-height: normal;
	background-image: url(images/plus_circle_green.png);
	background-repeat: no-repeat;
	background-size: 38px;
	background-position: right 15px bottom 15px;	
}

.faqs .accordion.active {
	background-color: var(--accent);
	background-image: url(images/minus_circle.png);
}

.faqs .panel {
	font-size: 18px;
	padding: 0 18px;
	background-color: var(--lightGray);
	margin-bottom: 15px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
}

.faqs .panel ul li {
	list-style:inside none;
    margin-bottom: 10px;
}
.faqs .panel ul li:before {
	content: "\2022";
    font-size: 24px;
    color: var(--accent);
    font-weight: bold;
    display: inline-block;
    width: 20px;
    position: relative;
    margin-left: 0;
    line-height: normal;
    top: 2px;
}

.faqs .accordion.active + .panel{
	padding: 25px 20px;
}

/*** Boostrap Modal Box ***/
body.page .fade:not(.show) {
    opacity: 1;
    background: #000000b5;
}

.servicesModalContent h3.widget-title{
	display: none;
	visibility: hidden;
}

.services_item .readMoreWrapper{
	display: none;
}

.services_item:hover .readMoreWrapper{
    position: absolute;
    background: #000000c9;
    width: 100%;
    height: 100%;
    top: 0;
	left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 99999999999px;
}

.services_item .readMoreWrapper .btn-primary, 
.services_item .readMoreWrapper a:visited{
	background: var(--accent);
	border: none;	
    color: white;
}

.entry-content ul{
	margin-bottom: 20px;
}

.entry-content ul li {
    display: list-item;
    margin-bottom: 0px;
    list-style: none;
    list-style-position: inside;
	color: #7a7a7a;
}

.entry-content ul li::before {
    content: "\2022";
    color: var(--accent);
    font-weight: bold;
    display: inline-block;
    width: 1em;
    font-size: 20px;
}

/**************************** Footer ***************************/
.partnerLogos {
    border-top: 1px solid #eee;
}

.partnerLogos nav{
	display: flex;
	justify-content: space-between;	
}

.partnerLogos nav img {
    height: 95px;
}

#footer-widgets {
	background: var(--darkGray);
    color: var(--footerWidgetText);
    padding: 90px 30px;
}

#footer-widgets h2{
	color: var(--accent);
    margin-bottom: 20px;	
}

#footer-widgets ul.menu li a, #footer-widgets a{
    color: #a9a9a9;	
}

#footer-widgets .footer-contact-info a{
	line-height: normal;
    display: flex;
	align-items: center;
}

#footer-widgets .footer-contact-info a:not(:last-child) {
    margin-bottom: 25px;
}

.footer-contact-info a:before{
    font-weight: 600;
    content: '\f3c5';
    margin-right: 20px;
    font-size: 25px;
    color: var(--accent);
    font-family: 'Font Awesome 5 Free';
}

.footer-contact-info a.phone:before{
	content: '\f879';
}

.footer-contact-info a.email:before{
	content: '\f0e0';
}

.inside-footer-widgets{
	display: flex;
    justify-content: space-between;
}

#footer-widgets .footer-widget-2{
    width: 240px;	
}

.footer-copyright {
    background: var(--footerCopyrightBG);
    padding: 20px 0;
    color: var(--footerCopyrightText);
}

.footer-copyright .grid-container{
	display: flex;
    align-items: center;
}

.footer-copyright nav.social{
	text-align: right;
}

.footer-copyright nav span{
	color: var(--footerCopyrightText);
    font-size: 34px;
	margin-right: 25px;
    transition: all 0.2s ease;	
}
.footer-copyright nav span:hover{
	color: var(--accent);
}

.footer-copyright nav a:last-child span{ margin: 0; }




/**************************** Mobile Responsive & Other Platforms ***************************/

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 

	ul.topHeader_contactInfo{
		display: inline-block;
		width: 100%;
		text-align: center;
	}

	ul.topHeader_contactInfo li{
		width: 48%;
		display: inline;
	}

	ul.topHeader_contactInfo li.schedule{
		display: block;
		margin: 0 auto;	
		width: 145px;	
	}

}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
	
	/************** Globals **************/
	h1.bannerTitle{
		font-size: 50px;
	}
	h2{ font-size: 35px; }
	h3, 
	.getAQuote .gform_wrapper h3.gform_title,
	.contactPage_form .gform_wrapper h3.gform_title { font-size: 35px; }

	.p140{ padding: 60px 30px; }
	.p120{ padding: 40px 30px; }
	.p90{ padding: 35px 30px; }
	.p70{ padding: 35px 30px; }		
	
	.mb90 { margin-bottom: 50px; }
	.mb70 { margin-bottom: 35px; }
		
	a.learn-more{
		font-size: 20px;
		padding: 15px 30px;	
	}
		
	
	/************** Content **************/
	#site-navigation button.menu-toggle {
		text-align: left;
	}

	.one-container .site-content{
		padding: 35px 30px;;
	}

	.inside-header {
		padding: 0;
		display: block;
	}
	
	.inside-navigation{
		margin-top: 0px;	
	}
	
	.site-logo {
		margin-top: 20px;
	}

	#site-navigation{
		background: black;
	}
	
	ul.topHeader_contactInfo li{
		width: 100%;
		display: block;
	}
	
	.main-navigation .main-nav ul li a{
		color: white;
	}

	.home-feature-banner{
		min-height: 450px !important;
	}
	
	.homeFeaturedBanner_subTitle{
		font-size: 20px;
		line-height: 25px;
	}	
	
	.homeFeaturedBanner{
	    padding: 70px 20px;	
	}
	
	.homeFullwidthText h4{
		font-size: 22px;
		line-height: 32px;	
	}
	
	.homeImageAndText .homeImageAndText_text,
	.homeTextAndImage .homeTextAndImage_text {
		padding: 40px 30px;
		clip-path: polygon(0% 0, 100% 0, 100% 100%, 0% 100%);
	}
	.homeImageAndText .homeImageAndText_text h2,
	.homeTextAndImage .homeTextAndImage_text h2{
		margin: 0;
		line-height: 40px;
	}
	.homeImageAndText_image {
		clip-path: polygon(0% 0, 100% 0px, 100% 100%, 0% 100%);
	}
	
	.homeTextAndImage_image {
		clip-path: polygon(0% 0, 100% 0, 100% 100%, 0% 100%);
	}
	
	.getAQuote .getAQuote_form {
		min-height: auto;
		padding: 35px 30px;
		clip-path: none;
	}
	.getAQuote .gform_wrapper h3.gform_title{
		text-align: center;
	}
	.getAQuote .getAQuote_form li.gfield{
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 15px;		
	}
	.getAQuote_form li.gfield label.gfield_label,
	.getAQuote_form li.gfield .ginput_container { width: 100%; }
	.getAQuote_form .gform_wrapper .gform_footer input.gform_button { margin: 0; }
	
	.contactPage_form .gform_wrapper ul.gform_fields li.gfield input, 
	.contactPage_form .gform_wrapper ul.gform_fields li.gfield textarea{
		padding: 10px 15px !important;
	}
	
	.big-fonts .textwidget p{
	    font-size: 16px;
		line-height: 30px;	
	}
	
	.faqs .accordion{
	    padding: 15px 60px 15px 15px;
		font-size: 16px;
		font-weight: 500;		
		background-size: 30px;
		background-position: right 15px bottom 50%;		
	}
	.faqs .panel ul li, .faqs .panel p {
		font-size: 16px;
	}
	.faqs .accordion.active + .panel {
		padding: 15px 20px;
	}
	
	.partnerLogos nav{
		flex-wrap: wrap;
	}
	
	.partnerLogos nav a{
		width: 50%;
		display: flex;
		justify-content: center;	
	}
	
	.site-footer .grid-container{
		flex-direction: column;
	}

	.site-footer .left-content {
		margin-bottom: 20px;
		text-align: center;
	}

	.site-footer nav.social{
		text-align: center;
	}

	#footer-widgets {
		padding: 30px 30px;
	}

	.inside-footer-widgets{
		flex-direction: column;
	}
	
	#footer-widgets .inside-footer-widgets .grid-parent:not(.footer-widget-3){
		border-bottom: 1px solid #444243;
		padding-bottom: 30px;
		margin-bottom: 30px;
		width: 100%;
	}

}


/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
	
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) { 

.homeImageAndText .homeImageAndText_text h2, 
.homeTextAndImage .homeTextAndImage_text h2{
	font-size: 40px;
	line-height: 45px;	
}

}