/*
 Theme Name:   Countryside Roofing Child Theme
 Author:       MSonder
 Template:     twentynineteen
*/

* {
	-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: "Work Sans", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 30px;

	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%;}

/*	--------------------------------------------------
	:: Structure
	-------------------------------------------------- */
.sticky {
	position: fixed;
	z-index: 9999;
	width: 100%;
	box-shadow: 0 10px 10px 0 rgba(0,0,0,.3);
}


		#header-wrapper {
			width: 100%;
			height: auto;
			border-top: 4px solid #be1c0d;
			margin: 0 auto;
		}
		#header {
			width: 100%; 
			height: auto;
			margin: 0 auto;
			display: flex;
			align-items: center;
		}

		#logo {display: inline-block; width: 30%; text-align: right; background: #000 url(images/logo-bg.png) repeat; }	
		#logo img {width: auto; }

	.header-container {
		flex-grow: 2;
		padding: 0px;
		align-self: stretch;
		background: #000;
	}		
				
		#top-bar {
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			background: #333333;
			color: #fff;
			padding: 10px 20px;
		}
		#top-bar p {padding: 0;}
		#top-bar i {color: #dc2615; font-size: 18px;}

		#top-bar p.location {font-family: "Oswald", sans-serif; font-size: 20px;}

		ul.top-nav {margin: 0; padding: 0px 0 0 0;}
		ul.top-nav li {list-style: none; position: relative; float: left;}
		ul.top-nav li:hover {cursor: default;}
		ul.top-nav li a {
			display: block;
			line-height: 20px;
			font-family: "Work Sans", sans-serif;
			font-size: 16px;
			text-align: center;
			padding: 0 20px;
			width: 100%;
			color: #fff;
			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.top-nav li a:hover, ul.top-nav li.current-menu-item a, ul.top-nav li a:focus {text-decoration: underline;}



		#top-bar p.phone {font-family: "Oswald", sans-serif; color: #dc2615; font-size: 20px;}
		#top-bar p.phone a {color: #fff; text-decoration: none;}

        				
		.content-wrapper {
			width: 100%;
			height: auto;
			margin: 0px auto;
            overflow-x: hidden !important;
		}
		.content-wrapper a {color: #be1c0d; text-decoration: underline; line-height: 20px;}
		.content-wrapper a:hover {color: #92150a; text-decoration: none;}
				
		
		.wp-block-cover.alignfull {
			max-width: 100vw;
			width: auto;
			padding: 80px 0 60px 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;
        }


.home figure.wp-block-image {position: relative;}
.home .wp-block-image figcaption {
	background: rgba(0,0,0,0.85);
	width: 100%;
	padding: 30px 0;
	position: absolute;
	bottom: 0;
	margin:0;
	color: #fff;
	font-family: "Work Sans", sans-serif;
	font-size: 36px;
	font-weight: 900;
	text-transform: uppercase;
}



/*	--------------------------------------------------
	:: Navigation (FULL CSS w/ DROPS)
	-------------------------------------------------- */
			
	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 {
		font-size: 22px;
		background: #be1c0d;
		padding: 0 30px;
	}
	ul.menu li:last-child a i {color: #000;}
	ul.menu li:last-child a:hover, ul.menu li:last-child.current-menu-item a, ul.menu li:last-child a:focus {background: #911105;}

	ul.menu li:hover {cursor: default;}
	ul.menu li a {
		display: block;
		line-height: 94px;
		font-family: "Oswald", sans-serif;
		font-size: 18px;
		font-weight: bold;
	  	text-align: center;
		padding: 0 20px;
		width: 100%;
		color: #fff;
		text-decoration: none; 
		border-bottom: 4px solid transparent;
		text-transform: uppercase;
			-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.current-menu-item a, ul.menu li a:focus {background: #131313; border-bottom: 4px solid #be1c0d;}

    ul.menu li.menu-item-has-children a:after {
        content: '\f0d7';
        font-family: "Font Awesome 6 Pro";
        font-style: normal;
        font-weight: 600;
        padding-left: 10px;
        font-size: 14px;
        color: #436d8a;
    }
	ul.menu li ul {
		position: absolute;
		left: -9999em;
		width: auto;
		margin: 0;
		padding: 0;
		list-style-type: none;
		white-space: nowrap;
	}

    ul.menu li:hover ul {
        left: 0;
        -webkit-box-shadow: -10px 0px 13px -7px #c7c7c7, 10px 0px 13px -7px #c7c7c7, 5px 5px 7px 5px rgba(181, 181, 181, 0);
        box-shadow: -10px 0px 13px -7px #c7c7c7, 10px 0px 13px -7px #c7c7c7, 5px 5px 7px 5px rgba(181, 181, 181, 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: 45px;
        font-size: 18px;
        font-weight: 500;
        text-transform: none;
        text-shadow: none;
        text-align: left !important;
        padding: 0 30px 0 10px;
        background: #fff;
        border-bottom: 2px solid #fff;
        width: 100%;
        color: #0e1e29;
        text-decoration: none;
    }
    ul.menu li:hover ul li a:hover {
        background: #eeeeee;
        border-bottom: 2px solid #ebeef3;
    }

    /* sub menu fix */
    ul.menu li.menu-item-has-children:hover ul li a:after {
        content: '';
        display: none;
    }
    


/*	--------------------------------------------------
	:: Footer
	-------------------------------------------------- */

		#pre-footer-wrapper {
			height: auto; 
			width: 100%;
			background: #be1c0d;
		}		
		#pre-footer {
			height: auto; 
			width: 90%;
			margin: 0 auto;
			padding: 35px 0;
			background: #be1c0d;
			font-family: "Work Sans", sans-serif;
			font-size: 30px; 
			line-height: 36px; 
			color: #ffffff;
			text-align: center;
		}
		#pre-footer i {background: #000; border-radius: 150px; padding:15px; font-size: 20px;}
		#pre-footer .phone {display: inline; font-family: "Oswald", sans-serif; font-size: 40px;}
		#pre-footer .phone a {color: #ffffff; text-decoration: none;}
		#pre-footer .phone a:hover {color: #cfcfcf; text-decoration: underline;}


		#footer-wrapper {
			height: auto; 
			width: 100%;
			background: #000000;
		}		
		#footer {
			height: auto; 
			width: 90%;
			margin: 0 auto;
			padding: 30px 0;
			background: #000000;
			font-family: "Work Sans", sans-serif;
			font-size: 18px; 
			line-height: 40px; 
			color: #ffffff;
		}
		#footer i {font-size: 16px; color: #dc2615;}
		#footer a {color: #ffffff; text-decoration: none;}
		#footer a:hover {color: #cfcfcf; text-decoration: underline;}
	
	        .footer-heading {
                color: #fff;
                font-family: "Oswald", sans-serif;
                font-size: 24px;
                line-height: 38px;
                font-weight: 500;
                margin: 0px;
                padding: 0px;
                margin-bottom: 15px;
				border-bottom: 4px solid #be1c0d;
            }

            ul.footer-menu {
				width: 100%;
				list-style: none;
				margin: 0 !important;
				padding: 0;
            }
            ul.footer-menu li {
				padding: 0px;
				margin: 0px;
				line-height: 30px;
            }
            ul.footer-menu li:hover {opacity: 0.8; text-decoration: none !important; background: #5b5e5f;}
            ul.footer-menu li a {
				font-family: "Work Sans", sans-serif;
				font-size: 18px; 
				font-weight: 600; 
				text-transform: uppercase;
				color: #fff !important; 
				text-decoration: none !important;
			}
            ul.footer-menu li a:hover {color: #d6d6d6 !important; text-decoration: underline !important;}
            ul.footer-menu li:before {
                content: '\f324';
                font-family: "Font Awesome 6 Pro";
                font-style: normal;
                font-weight: 800;
                color: #6f6f6f;
                font-size: 16px;
                margin-right: 10px;
            }


		#copyright-wrapper {
			height: auto; 
			width: 100%;
			background: #333333;
		}	
		#copyright {
			height: auto; 
			width: 90%;
			margin: 0 auto;
			padding: 15px 0;
			background: #333333;
			font-family: "Oswald", sans-serif; 
			font-size: 14px; 
			line-height: 18px; 
			color: #afaaaa;
		}
		#copyright a {color: #afaaaa; text-decoration: none;}
		#copyright a:hover {color: #afaaaa; text-decoration: underline;}
				
        #copyright .g50:nth-child(2) {text-align: right !important;}






/*	--------------------------------------------------
	:: Elements
	-------------------------------------------------- */

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	font-size: 14px; 
	line-height: 18px;
	padding: 10px;
	text-shadow: 0 0 15px #000;
	background: linear-gradient(0deg, #000d, #0000);
}


	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: #be1c0d;
        font-family: "Font Awesome 6 Pro";
		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: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 55px;
	line-height: 62px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}
.home h1 {text-transform: uppercase;}
.home h1 mark {font-family: "Work Sans", sans-serif; font-weight: 500; text-transform: none; font-size: 34px; line-height: 38px;}

h2, .wp-block-cover h2:not(.has-text-color) {
	color: #000;
	font-family: "Oswald", sans-serif;
	font-size: 36px;
	line-height: 42px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}
h2 em, .wp-block-cover h2:not(.has-text-color) em {color: #be1c0d;}

h3, .wp-block-cover h3:not(.has-text-color) {
	color: #be1c0d;
	font-family: "Work Sans", sans-serif;
	font-size: 28px;
	line-height: 32px;
	font-weight: 900;
	text-transform: uppercase;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}


p {
	margin: 0px;
	padding: 0px 0px 15px 0px;
}

hr,
hr.is-style-wide {
	border: 0; 
	height: 4px; 
	background: #dadada;
	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: #dadada;
	text-align: left;
	line-height: 4px;
	font-size: 26px;
	border-bottom: 0px;
	margin: 30px 0 45px 0;
}

	blockquote {	
		border-left: 12px solid #be1c0d !important;
		background: #f6f6f6;
		color: #000; 
		padding: 20px 10px 20px 40px !important;
		hyphens: none;
	}
	blockquote p {padding: 0;}
	blockquote a {color: #000 !important; font-weight: bold;}		
	blockquote a:hover {color: #be1c0d !important;}		
	
	blockquote cite {
		font-size: 16px; 
		text-transform: uppercase; 
		color: #575757; 
		font-style: italic;
	}


	a.wp-block-button__link {
		display: inline-block;
		background: #be1c0d;
		font-family: "Oswald", sans-serif;
		color: #fff !important;
		font-size: 20px;
		text-transform: uppercase;
		font-weight: bold;
		margin: 10px 0;
		padding: 30px 30px;
		border-radius: 5px;
		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: #9e1509; color: #cdcdcd !important;}
    a.wp-block-button__link:after {
        content: '\f324';
        font-family: "Font Awesome 6 Pro";
        font-style: normal;
        font-weight: 600;
        padding-left: 10px;
        color: #000;
        transition: all 0.25s ease-in-out;
    }
    a.wp-block-button__link:hover:after {color: #393939;}







/*	--------------------------------------------------
	:: 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, select {
    border: 0px !important;
	background: #f5f5f5 !important;
	border-bottom: 2px solid #f5f5f5;
    font-family: inherit;
    padding: 10px !important;
	width: 100%;
}
select {padding: 14px !important;}
input[type="checkbox"], input[type="radio"] {
	width: auto;
}
input:focus, textarea:focus, select:focus {
    border: 0px;
	background: #eaeaea !important;
	border-bottom: 2px solid #eaeaea;
    font-family: inherit;
    padding: 10px !important;
}
select:focus {padding: 14px !important;}

    .gform_wrapper.gravity-theme .ginput_container_address span {
		flex: 0 0 100%;
	}
	.ginput_complex.ginput_container_address .address_city {
		width: 32% !important;
        margin: 0px 1% 0px 1% !important;
		padding: 0 !important;
		display: block;
		float: left;
		flex: unset !important;
	}
	.ginput_complex.ginput_container_address .address_state {
		width: 32% !important;
        margin: 0px 1% 0px 0px !important;
		padding: 0 !important;
		display: block;
		float: left;
		flex: unset !important;
	}
	.ginput_complex.ginput_container_address .address_zip {
		width: 33% !important;
        margin: 0px!important;
		padding: 0 !important;
		display: block;
		float: right;
		flex: unset !important;
	}

button:not(.add_list_item), button:not(.delete_list_item) {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #be1c0d 0%, #9e1509 100%) repeat scroll 0 0;
    border-bottom: 2px solid #be1c0d;
    color: #fff;
    display: inline-block;
    padding: 20px 30px;
    font-family: "Oswald", sans-serif;
    text-decoration: none;
	text-transform: uppercase;
    font-weight: 500;
    font-size: 20px;
    width:auto;
    border-radius: 150px;
}
input[type="submit"], input[type="button"], input[type="reset"] {
	background: #be1c0d !important;
	border-bottom: 0px !important;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	display: inline-block;
	padding: 20px 30px !important;
	text-decoration: none;
	width: auto;
	border-radius: 150px;
}

button:hover:not(.add_list_item), button:hover:not(.delete_list_item) {
  background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #be1c0d 0%, #9e1509 100%) repeat scroll 0 0;
  color: #cdcdcd;
}
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, #be1c0d 0%, #9e1509 100%) repeat scroll 0 0 !important;
  color: #cdcdcd !important;
}




/*	--------------------------------------------------
	:: 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: 811px) {.opensub {display: none;}} 

@media screen and (max-width: 810px) {
    
	#top-bar ul {display: none !important;}
	#header {display: block;}
	#logo {display: block; width: 100%; text-align: center;}   
	
	#copyright .g50{text-align: center!important;}
	#copyright .g50:nth-child(2) {float: none!important; text-align: center!important;}

	/* ********* Mobile Navigation Styles ********** */
	button#menuToggle {
		display: block;
		border: 0;
		background: #be1c0d !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: #be1c0d !important;}

	.menu-content {display: none;}

	.menu-content.right {float: none !important; width: 100% !important;}
	ul.menu {background: #242424;}
	ul.menu li {float: none; width: 100%; text-align: center; border-bottom: 1px solid #4e4e4e;}
	
	ul.menu li:nth-child(3) a {font-size: 18px !important; background: #242424 !important;}
	ul.menu li a {
		line-height: 40px !important; 
		width: 100% !important; 
		color: #fff;
	}
	ul.menu li a:hover,
	ul.menu li.current-menu-item a,
	ul.menu li a:focus {color: #fff; background: #242424 ;}

	/* 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 .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: 510px) {
	
	#top-bar {flex-direction: column;}
	
	.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;}

}