/*=========================
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;
}


/*=========================
HERO IMAGE
==========================*/

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

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


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

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


/*=========================
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;	
}



/*=========================
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;
}

}


@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;
}

}
