/*=========================
GENERAL
==========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    color:#222;
    background:#fff;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.container{
    width:1200px;
    max-width:95%;
    margin:auto;
}


/*=========================
HEADER
==========================*/

.top-header{
    background:#b61f20;
    padding:20px 0;
}

.top-header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo img{
    height:85px;
}

.phone{
    color:#fff;
    font-size:42px;
    font-weight:bold;
}


/*=========================
NAVIGATION
==========================*/

nav{
    background:#2b2b2b;
    border-top:2px solid #1b1b1b;
    border-bottom:2px solid #1b1b1b;
}

nav ul{
    display:flex;
    justify-content:center;
    list-style:none;
}

nav li{
    margin:0 20px;
}

nav a{
    display:block;
    color:#fff;
    font-size:15px;
    padding:16px 0;
    font-weight:bold;
    transition:.3s;
}

nav a:hover{
    color:#d63a3a;
}


/*=========================
BANNER IMAGE
==========================*/

.hero{
    height:430px;
    overflow:hidden;
}

.hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}







.bannerMulch{
    height:200px;
    overflow:hidden;
}

.bannerMulch img{
    width:100%;
    height:100%;
    object-fit:cover;
}



.container3{	
		display: flex;
		flex-direction: column;   
		gap: 20px;
		
		width: 80%;
		margin-top: 2em;
		padding: 1.2em;	
}

.mulch-left,
.mulch-right {
			flex: 1;
		}
		
		
.mulch-right {
			order: 2;

}	







.mulch-left{
	width: 46vw;
	max-width: 80%;
	padding: .8em;	
	
}



/*=========================
MAIN CONTENT
==========================*/

.main-layout{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:60px;
    padding:60px 0;
}


.centerMe {
	text-align: center;
}



/*=========================
CONTENT
==========================*/

main h1{
    font-size:58px;
    margin-bottom:10px;
}

main h2{
    font-size:28px;
    margin:25px 0 15px;
}

main p{
    font-size:18px;
    color:#444;
    margin-bottom:20px;
}



/*=========================
SIDEBAR SECTION 2
==========================*/

.sidebar-section2 img{    
	text-align: center;	
	width: 100%;
}



.sidebar-section2 p{    
	text-align: center;	
}

.sidebar-section2 h2{
    color:#b61f20;
    text-align:center;
    font-size:40px;
    margin-bottom:18px;
    line-height:1.1;
	width: 100%;
}


.callJosh {
	background-color: #2d2d2d;
	color: #ffffff;
	padding: .6em 1.5em .6em 1.5em;
	border-radius: 8px;
	margin-top: 1.2em;
	letter-spacing: 2px;
}



/*=========================
SIDEBAR
==========================*/

.sidebar-section{
    margin-bottom:45px;
}

.sidebar-section h2{
    color:#b61f20;
    text-align:center;
    font-size:40px;
    margin-bottom:18px;
    line-height:1.1;
}

.thumb-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.thumb-grid img{
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
}

.large-image{
    width:100%;
    border-radius:4px;
}

.sidebar-section p{
    font-size:18px;
    color:#444;
}


.red-stripe {
	background:#b61f20;
	width: 100%;
	margin-top: 3em;
	height: 5px;	
}




.product p{
    max-width:320px;
    margin:auto;
    font-size:1rem;
}

.product{
    text-align:center;
	width: 50%;
}

.product img{
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:4px;
    transition:.35s;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.product:hover img{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}




/*=========================
SERVICE AREAS
==========================*/

/* Container */
.link-grid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: .5em;
    width: 60%;
	max-width: 96%;
}

/* Columns */
.link-column {
    flex: 1;
    padding: .75em;
    box-sizing: border-box;
}

/* Links */
.link-column a {
    display: block;
    margin-bottom: 0.5em;
    color: #333;
    text-decoration: none;
}

.link-column a:hover {
    color: #b22222;
}

/* Mobile */
@media (max-width: 900px) {
    .link-grid {
        flex-direction: column;
		text-align: center;
		width: 96%;
    }
	
		
}








/*=========================
FOOTER
==========================*/

footer{
    background:#222222;
    color:white;
    border-top:6px solid var(--red);
    text-align:center;
    padding:20px;
    font-size:.95rem;
}


/*=========================
RESPONSIVE
==========================*/

@media(max-width:1000px){

	.main-layout{
		grid-template-columns:1fr;
	}

	.sidebar-section{
		text-align:center;
	}

	.product-grid{

		grid-template-columns:
		repeat(2,1fr);
	}

}




@media(max-width:768px){

.top-header .container{
    flex-direction:column;
    gap:20px;
}

.phone{
    font-size:32px;
}

nav ul{
    flex-direction:column;
}

nav li{
    margin:0;
    border-bottom:1px solid #444;
}

nav a{
    text-align:center;
    padding:14px;
}




.hero{
    height:250px;
}

main h1{
    font-size:42px;
}

main h2{
    font-size:24px;
}

main p{
    font-size:17px;
}

.sidebar-section h2{
    font-size:32px;
}

}


@media(max-width:480px){

	.container{
		width:95%;
	}

	.logo img{
		height:70px;
	}

	.phone{
		font-size:26px;
	}

	.hero{
		height:180px;
	}

	main h1{
		font-size:34px;
	}

	main h2{
		font-size:22px;
	}

	main p{
		font-size:16px;
	}

	.thumb-grid{
		gap:8px;
	}


	.product-grid{
		grid-template-columns:1fr;
		gap:50px;
	}

}
