/*
 Theme Name:   CGsContracting Child Theme
 Author:       MSonder
 Template:		twentynineteen
 Version:		1.0
*/

* {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

html, body {  
	margin: 0px;
	
	border: 0px;
	padding: 0px;
	margin-top: 0px !important;
	
	text-align: left;

	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
    -webkit-text-size-adjust: none;
	text-rendering: optimizelegibility;

	color: #000;
	font-family: 'Lato', Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 28px;

	background: #fff;
}

body:not(.custom-background-image).admin-bar::before {top: 0px;}
body:not(.custom-background-image)::before, body:not(.custom-background-image)::after {height: 0px;}

a {outline:none;}

ul {padding-top: 0px; margin-top: 0px;}

:root {overflow-y: scroll !important;}
::-moz-selection {
    background: #393939;
	color: #6a6a6a;
    text-shadow: none;
}

::selection {
    background: #393939;
	color: #6a6a6a;
    text-shadow: none;
}

.right {float:right !important;}
.left {float:left !important;}
.clear {clear:both;}
img.right {float:right !important; margin:0 0 20px 20px !important;}
img.left {float:left !important; margin:0 20px 20px 0 !important;}
img {border: none;}

img.alignright {float:right; margin:0 0 1em 1em;}
img.alignleft {float:left; margin:0 1em 1em 0;}
img.aligncenter {display: block; margin-left: auto; margin-right: auto;}
.alignright {float:right; }
.alignleft {float:left; }
.aligncenter {display: block; margin-left: auto; margin-right: auto;}

.responsive {width: 90%;}

body.admin-bar {padding-top: 32px;}
@media screen and (max-width: 782px) {
  body.admin-bar {padding-top: 46px;}
}


/*	--------------------------------------------------
	:: Structure
	-------------------------------------------------- */

		#header-wrapper {
			width: 100%;
			height: auto;
			background: #edeae6;
		}
		#header {
			width: 90%; /* Change to exact pixels for static (non-responsive) */
			height: auto;
			margin: 0 auto;
			padding: 0;
			position: relative;
		}		
		#header .g70 {position: absolute; top: 50%; transform: translateY(-50%); right: 0;}
		
		#logo img {width: 60%; padding-top: 15px;}	
		
		#phone {
			float: right;
			font-size: 26px; 
			color: #403c35; 
			font-weight: 400;
			font-family: 'Oswald', Arial, Helvetica, sans-serif;
			src: local('Oswald Regular'), local('Oswald-Regular'), url(http://themes.googleusercontent.com/static/fonts/oswald/v7/-g5pDUSRgvxvOl5u-a_WHw.woff) format('woff');
			font-style: normal;
			text-align: center;
		}	
		
		#phone a {font-size: 36px; font-weight: 900; line-height: 50px; color: #8dbf41; text-decoration: none;}
		#phone a:hover {color: #b3d87c; text-decoration: none;}
        

		.content-wrapper {
			width: 100%;
			height: auto;
			margin: 0px auto;
            overflow-x: hidden !important;
		}
		.content-wrapper a {color: #5f822b; text-decoration: underline; line-height: 20px;}
		.content-wrapper .has-link-color a {color: inherit;}
		.content-wrapper a:hover {color: #679a1c; text-decoration: none;}
				
		
		.wp-block-cover.alignfull {
			max-width: 100vw;
			width: auto;
			padding: 60px 0 50px 0;
            overflow-x: hidden !important;
		}
		.alignfull .wp-block-cover__inner-container {max-width: 1200px;}

        .wp-block-columns.is-layout-flex {gap: 2em !important;}

		.wp-block-cover.has-parallax,
        .wp-block-cover__image-background.has-parallax {background-attachment: fixed !important;}

        .cta {
            background: #ffffff;
            -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
            box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
            padding: 20px;
        }


		ul.categories-list {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 20px;
			list-style: none;
			margin: 0;
			padding: 0;
		}
		ul.categories-list > li {
			width: calc(33.333% - 14px); /* 5 col w/ gap */
			margin: 0;
			text-align: center;

			display: block;
			padding: 20px 10px;
			background: #eae9e9;
			border: 2px solid #d6d5d5;
			border-radius: 6px;
			text-decoration: none;
			color: inherit;
			font-size: 16px; 
			text-transform: uppercase;
			font-weight: 800;
			transition: all 0.2s ease;
		}
		ul.categories-list > li:hover {background: #d6d5d5; color: #8cbe41; transform: translateY(-5px);}

		@media (max-width: 681px) {
		  ul.categories-list > li {width: calc(50% - 10px) !important;}
		}
		@media (max-width: 381px) {
		  ul.categories-list > li {width: calc(100% - 0px) !important;}
		}


		
/*	--------------------------------------------------
	:: Navigation (FULL CSS w/ DROPS)
	-------------------------------------------------- */
	
		
#nav-wrapper {
	height: auto;
	margin: 0;
	padding: 0;
	background: #383633;
}

#nav-bg {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	background: #383633;
}		
		
	button#menuToggle {display: none;}

	ul.menu {margin: 0; padding: 0px 0 0 0;}
	
	ul.menu li {list-style: none; position: relative; float: left;}
	ul.menu li:last-child a {border-right: none;}
	ul.menu li:first-child a {border-left: none;}
	
	ul.menu li:hover {cursor: default;}
	ul.menu li a {
		display: block;
		line-height: 60px;
		font-size: 16px;
		font-weight: bold;
	  	text-align: center;
		padding: 0 13px;
		width: 100%;
		color: #a9e153;
		text-transform: uppercase;
		text-decoration: none;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
		}
	ul.menu li a:hover, ul.menu li a:active, ul.menu li a:focus {background: #8c857b; color: #d8fda0;}

	ul.menu li ul {
		position: absolute;
		left: -9999em;
		width: 230px;
		margin: 0;
		padding: 0;
		list-style-type: none;
	}
	ul.menu li:last-child ul {
		width: 250px;
	}

	ul.menu li:hover ul {left: 0;}
	ul.menu li:hover ul li {
		float: none;
		width: 100%;
		position: relative;
		z-index: 9999;
	}
	ul.menu li:hover ul li a {
		display: block;
		line-height: 40px;
		text-transform: none;
		text-shadow: none;
		text-align: left !important;
		padding-left: 10px;
		background: #888;
		width: 100%;
		color: #FFF;
		text-decoration: none;
	}
	ul.menu li:hover ul li a:hover {background: #666; border-bottom: none;}





/*	--------------------------------------------------
	:: Footer
	-------------------------------------------------- */


		#footer-wrapper {
			height: auto; 
			width: 100%;
			background: #8c857b;
		}		
		#footer {
			height: auto; 
			width: 90%; /* Change to exact pixels for static (non-responsive) */
			margin: 0 auto;
			padding: 30px 0;
			background: #8c857b;
			font-family: 'Lato', Arial, Helvetica, sans-serif;  
			font-size: 18px; 
			line-height: 26px; 
			color: #ffffff;
		}
		#footer .g70 {text-align: right;}
		
		#footer a {color: #ffffff; text-decoration: none;}
		#footer a:hover {color: #cfcfcf; text-decoration: underline;}
	
	
	
		#copyright-wrapper {
			height: auto; 
			width: 100%;
			background: #413e3a;
		}	
		#copyright {
			height: auto; 
			width: 90%; /* Change to exact pixels for static (non-responsive) */
			margin: 0 auto;
			padding: 20px 0;
			background: #413e3a;
			font-family: 'Lato', Arial, Helvetica, sans-serif;  
			text-transform: uppercase;
			font-size: 14px; 
			line-height: 18px; 
			color: #8c857b;
		}
		#copyright a {color: #8c857b; text-decoration: none;}
		#copyright a:hover {color: #cfcfcf; text-decoration: underline;}
				








/*	--------------------------------------------------
	:: Elements
	-------------------------------------------------- */
	ul.checkmark {
		--icon-space: 1.3em;
		list-style: none;
		padding: 0;
	}
	ul.checkmark li {padding-left: var(--icon-space);}

	ul.checkmark li:before {
		content: "\f00c"; 
		color: #8cbe41;
        font-family: "Font Awesome 5 Free";
		font-weight: 700;
		display: inline-block;
		margin-left: calc( var(--icon-space) * -1 );
		width: var(--icon-space);
		padding-right: 15px;
	}

h1:not(.site-title)::before, h2::before{
	background: none !important;
	content: none !important;
	height: 0px !important;
	margin: 0 !important;
	width: 0 !important;
}
	
h1, .wp-block-cover h1:not(.has-text-color) {
	color: #000;
	font-family: "Oswald", sans-serif;
	font-size: 40px;
	line-height: 52px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}

h2, .wp-block-cover h2:not(.has-text-color) {
	color: #383633;
	font-family: "Oswald", sans-serif;
	font-size: 36px;
	line-height: 42px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}

h3, .wp-block-cover h3:not(.has-text-color) {
	color: #64615b;
	font-family: "Oswald", sans-serif;
	text-transform: uppercase;
	font-size: 24px;
	margin: 0px;
	padding: 0px;
	line-height: 30px;
	margin-bottom: 25px;
}

p {
	margin: 0px;
	padding: 0px 0px 15px 0px;
}

hr,
hr.is-style-wide {
	border: 0; 
	height: 4px; 
	background: #D3D3D3;
	text-align: center;
	line-height: 4px;
	font-size: 26px;
	border-bottom: 0px;
	margin: 30px 0 45px 0;
}

hr.wp-block-separator:not(.is-style-wide) { 
	border: 0; 
	height: 4px; 
	background: #D3D3D3;
	text-align: left;
	line-height: 4px;
	font-size: 26px;
	border-bottom: 0px;
	margin: 30px 0 45px 0;
}

	blockquote {	
		border-left: 12px solid #8c857b !important;
		background: #eef7e1;
		color: #000; 
		padding: 20px 10px 20px 40px !important;
	}
	blockquote p {padding: 0;}
	blockquote a {color: #000 !important; font-weight: bold;}		
	blockquote a:hover {color: #ec1f27 !important;}		
	
	blockquote cite {
		font-size: 16px; 
		text-transform: uppercase; 
		color: #575757; 
		font-style: italic;
	}


	a.link {
		display: inline-block;
		background: #8dc540;
		font-family: 'Oswald', Arial, Helvetica, sans-serif;
		color:#000 !important;
		font-size: 20px;
		text-transform: uppercase;
		font-weight: 600;
		margin: 10px 0;
		padding: 20px 30px;
		border-radius: 150px;
		text-decoration: none !important;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.link:hover {background: #b3db7b; color: #413e3a !important;}



	a.wp-block-button__link {
		display: inline-block;
		background: #8dc540;
		font-family: 'Oswald', Arial, Helvetica, sans-serif;
		color: #000 !important;
		font-size: 20px;
		text-transform: uppercase;
		font-weight: 600;
		margin: 10px 0;
		padding: 20px 30px;
		border-radius: 150px;
		text-decoration: none !important;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.wp-block-button__link:hover {background: #b3db7b; color: #413e3a !important;}






/*	--------------------------------------------------
	:: Blog Styles
	-------------------------------------------------- */

.hentry {padding: 0px !important;}

.sidebar .entry-header, .sidebar .entry-content, .sidebar .entry-summary, .sidebar .entry-meta {
    max-width: 1040px;
    padding: 0 0px 0 0px !important;
}

.widget {
    background-color: #f0eded;
    margin: 0 0 24px;
    padding: 10px;
	border-bottom: 5px solid #1d527b;
}

.widget li {
    padding: 10px 15px;
	background: #c2ccd4;
	margin: 0 0 10px;
	font-family: 'Lato', Arial, Helvetica, sans-serif;
}
.widget li:hover {background: #a4b7c7;}


.widget li a {
	color: #0b304c !important;
    line-height: 20px;
    text-decoration: underline;
	font-size: 16px;
	/*text-transform: uppercase !important;*/
}

.widget .widget-title {
	font-family: 'Lato', Arial, Helvetica, sans-serif;
    margin: 0 0 10px !important;
    padding: 5px 10px !important;
	background: #2e74a9 !important;
	color: #fff !important;
	font-style: normal !important;
	text-transform: uppercase !important;
}








/*	----- Sidebar ---------------------- */

h2.sidebar  {
	font-size: 22px;
	background: #413e3a;
	border-bottom: 6px solid #8dbe41;	
	color: #fff;
	padding: 25px 10px !important;
	text-align: center;
	display: block;
	width: 100%;
	font-family: 'Oswald', Arial, Helvetica, sans-serif; 
	src: local('Oswald Regular'), local('Oswald-Regular'), url(http://themes.googleusercontent.com/static/fonts/oswald/v7/-g5pDUSRgvxvOl5u-a_WHw.woff) format('woff');
	font-style: normal;
	font-weight: 400;
}

a.sidebar {
	color: #a9e153 !important;
	font-weight: bold;
	background: #66625c;
	display: block;
	width: 100%;
	line-height: 30px;
	border-bottom: 2px solid #fff;
	padding: 15px 20px !important;
	margin: 0px !important;
	text-transform: uppercase;
	text-decoration: none !important;
}
a.sidebar:hover {
	background: #8c857b;
	color: #8dbe41;
	text-decoration: underline !important;
}




#breadcrumbs {
    list-style: none;
    margin: 0;
    overflow: hidden;
	background: #E3E3E3;
	padding: 10px;
}
  
#breadcrumbs li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}
  
#breadcrumbs .separator {
    font-size: 12px;
    color: #373737;
}




/*	--------------------------------------------------
	:: Grid 
	-------------------------------------------------- */

div.content > div img {width: 100%;}
 /* Override */.no-full {width: auto !important;}
 

.g10, .g20, .g30, .g40, .g50, .g60, .g70, .g80, .g90, .g100, .g33, .g25, .g75 {
	height:auto;
	float:left;
}
.g10 {width:10%;}
.g20 {width:20%;}
.g30 {width:30%;}
.g40 {width:40%;}
.g50 {width:50%;}
.g60 {width:60%;}
.g70 {width:70%;}
.g80 {width:80%;}
.g90 {width:90%;}
.g100 {width:100%;}

.g33 {width:33.33333333%;}
.g25 {width:25%;}
.g75 {width:75%;}

.padding {padding: 10px 15px;}




/*	--------------------------------------------------
	:: Form Styles
	-------------------------------------------------- */


input, textarea {
    border: 0px;
	background: #eeeae5;
	border-bottom: 2px solid #8cbd41;
    font-family: inherit;
    padding: 15px;
	width: 100%;
}
input[type="checkbox"], input[type="radio"] {
	width: auto;
}
input:focus, textarea:focus {
    border: 0px;
	background: #ddd8d1;
	border-bottom: 2px solid #60842b;
    font-family: inherit;
    padding: 15px;
}

.request-form input, .request-form textarea {
    padding: 10px !important;
	margin-bottom: 5px !important;
}


.tel {width: 100% !important;}

.form {width: 100% !important;}

.form .g33 {width: 32%; margin-right: 1%;}
.form .g33.last {width: 34% !important; margin-right: 0 !important;}

.form .g50 {width: 49%; margin-right: 1%;}
.form .g50.last {width: 50% !important; margin-right: 0 !important;}


::-webkit-input-placeholder {
  color: #000;
  font-size: 14px;
}

:-moz-placeholder { /* Firefox 18- */
  color: #000;
  font-size: 14px;
}

::-moz-placeholder {  /* Firefox 19+ */
  color: #000;
  font-size: 14px;
}

:-ms-input-placeholder {
  color: #000;
  font-size: 14px;
}





button, input[type="submit"], input[type="button"], input[type="reset"] {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #8dc540 0%, #5f822b 100%) repeat scroll 0 0;
    border-color: -moz-use-text-color -moz-use-text-color #8dc540;
    border-image: none;
    border-radius: 2px;
    border-style: none none solid;
    border-width: medium medium 3px;
    color: #fff;
	font-size: 20px;
    display: inline-block;
    padding: 11px 24px 10px;
    text-decoration: none;
	text-transform: uppercase;
}

button:hover, button:focus, input[type="submit"]:hover, input[type="submit"]:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #5f822b 0%, #8dc540 100%) repeat scroll 0 0;
}







/*	--------------------------------------------------
	:: Media Queries
	-------------------------------------------------- */


@media screen and (min-width: 1200px) {
	.responsive {width: 1200px !important;}
}

@media screen and (max-width: 1200px) {
    .alignfull .wp-block-cover__inner-container {max-width: 90%;}
}

@media screen and (min-width: 801px) {.opensub {display: none;}} 

@media screen and (max-width: 800px) {
    
	#header {width: 100% !important; position: static;text-align: center;}
	#header .g70 {position: static;  transform: translateY(0);}
    #logo img {text-align: center;width: 60%; padding-top: 15px;}	
	#phone {float: none;text-align: center;}

	
    #copyright .g50:nth-child(2) {float: none!important; text-align: center;}

	/* ********* Mobile Navigation Styles ********** */
	button#menuToggle {
		display: block;
		border: 0;
		background: #383633 !important;
		border-bottom: transparent !important;
		padding: 10px 0;
		width: 100%;
		color: #fff;
		text-align: center;
		font-size: 24px;
		font-weight: 700; 
		border-radius: 0px !important;
	}
	button#menuToggle:hover, #menuToggle:focus {background: #383633 !important;}

	.menu-content {display: none;}

	.menu-content .right {float: none !important;}
	ul.menu {background: #383633;}
	ul.menu li {float: none; width: 100%;text-align: center;border-bottom: 1px solid #4e4e4e;}
	ul.menu li a {color: #fff;}
	ul.menu li a:hover,
	ul.menu li.current-menu-item a,
	ul.menu li a:focus {color: #fff; background: #383633 ;}

	/* submenu */
	ul.sub-menu {display: none;}
	ul.menu li ul {
		position: static;
		left: 0;
		width: auto;
	}
	ul.menu li:hover ul li {
		float: none;
		width: 100%;
		position: static;
		text-align: center !important;
	}
	ul.menu li:hover ul li:hover {text-align: center;}
	
	ul.menu li.menu-item-has-children a::after {content: ""}
	
    ul.menu li .opensub {
        color: #fff;
        background: #4e4e4e;
        position: absolute;
        right: 0px;
        font-size: 20px;
        top: 0px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 60px;
        width: 60px;
        cursor: pointer;
    }    
	
    #content img.alignright {
        display: block;
        margin: 0px auto;   
        float: none;
        width: auto;
        max-width: 100%;
    }
	
	.g25 {width: 50% !important;}
	.g30 {width: 100% !important;}
	.g33 {width: 100% !important;}
	.g50 {width: 100% !important;}
	.g70 {width: 100% !important;}
	
}

@media screen and (max-width: 600px) {
	.responsive {width: 90% !important;}
}

@media screen and (max-width: 480px) {
	
	.g10 {width: 100% !important;}
	.g20 {width: 100% !important;}
	.g25 {width: 100% !important;}
	.g40 {width: 100% !important;}
	.g60 {width: 100% !important;}
	.g80 {width: 100% !important;}
	.g90 {width: 100% !important;}

}
