@charset "UTF-8";
/* CSS Document */


* { padding: 0; margin: 0; }

html, body. { 
}

body { font-family: "Poppins", sans-serif; font-weight: normal; font-size: 13px; color: #707070; }


h1, h2, h3, h4, h5, h6, h7 { line-height: 1.2; margin-bottom: 20px; letter-spacing: 1px;
	font-family: "Cinzel", serif;
	font-weight: normal;
	color: #303030;
}


a { }
a:hover { color: #397c77; }
p { font-weight: 400; }
span { }

p { line-height: 26px; margin-bottom: 20px; letter-spacing: 0.5px; }


*,
*::before,
*::after {
  box-sizing: border-box;
}

input,
button,
textarea,
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
}


form * { font-family: "Poppins", sans-serif; font-weight: normal; font-size: 13px; color: #707070; }
form label { margin-bottom: 10px; font-weight: 600; display: block; color: #303030; }
form input, form textarea { border: #ddd 1px solid; padding: 10px 20px; display: block; width: 100%; resize: none; margin-bottom: 20px; box-sizing: border-box;  }
form button { background-color: #00b1ac; border: none; color: #fff; padding: 10px 20px; display: block; box-sizing: border-box; width: 100%; text-align: center; }

.contact_row { overflow: auto; }
.contact_col { width: 50%; float: left; box-sizing: border-box; }
.contact_col:nth-child(1) { padding-right: 20px; }
.contact_col:nth-child(2) { padding-left: 20px; }
.alert { display: block; font-weight: 600; margin-top: 20px; }

.contain { width: 100%; max-width: 1200px; margin: 0 auto; }
.fluid { padding: 0 20px; }

img { border: none; }

.button { background-color: #00b1ac; border-radius: 80px; padding: 15px 80px 15px 30px; color: #fff; text-decoration: none; display: inline-block; margin-top: 60px; background-image: url("images/icon-arrow-right.png"), url("images/icon-circle-white.png"); background-repeat: no-repeat, no-repeat; background-size: 6px auto, 25px auto; background-position: right 28px center, center right 20px; border:2px #00b1ac solid; }

.button:hover { color: #00b1ac; border:2px #00b1ac solid; background-color: transparent; background-image: url("images/icon-arrow-right-white.png"), url("images/icon-circle-green.png");  }


.top_bar { background-color: #00b1ac; text-align: center; letter-spacing: 1px; color: #fff; }
.top_bar a { color: #fff; text-decoration: none; font-family: "Josefin Sans", sans-serif; }
.top_bar a:hover { color: #2f615d; }
.top_bar span { background-image: url("images/icon-mobile-phone.png"); background-repeat: no-repeat; background-size: 10px auto; background-position: left center; padding:10px 0px 10px 30px; display: inline-block; font-size: 13px; }

.homepage_slider { padding: 220px 0; color: #fff; background-image: url("images/slider-overlay-full.png"), url("images/homepage-slider.jpg"); background-repeat: repeat-y, no-repeat; background-size: 100% auto, cover; background-position: center top, center center; }

.homepage_slider h1 { max-width: 678px; color: #fff; font-size: 42px; line-height: 46px;  margin: 0 auto; text-align: center; letter-spacing: 2px; }

.header_row { overflow: auto; background-color: #444444; padding: 10px 0; }
.header_row .logo { float: left; display: inline-block; }
.header_row .logo img { width: 100%; max-width: 280px; height: auto; }
.header_row .navigation { float: right; display: inline-block; padding-top: 35px; }
.header_row .navigation a { color:#fff; display: inline-block; padding: 10px 0 10px 40px; text-decoration: none; letter-spacing: 2px; font-size: 15px; font-family: "Josefin Sans", sans-serif; }
.header_row .navigation a:hover { color: #00b1ac; }

.heading_paragraph_button { padding: 0 0 60px 0; text-align: center;  }
.heading_paragraph_button .heading { padding: 90px 0 0 0; font-size: 29px; max-width: 568px; margin: 0 auto 40px auto; text-align: center; }
.heading_paragraph_button .heading span { color: #00b1ac; }
.heading_paragraph_button p { max-width: 568px; margin: 0 auto; text-align: center; }
.heading_paragraph_button p strong { font-weight:600; }


.carousel { background-color:#00b1ac; padding:120px 0 60px 0; text-align: center; background-image: url("images/icon-aspects-of-oak.png"), url("images/white-block.png"); background-repeat: no-repeat, repeat-x; background-size: 600px auto, auto 50px; background-position: top right, top center; }
.carousel .heading { color: #fff; text-align: center; max-width: 380px; margin: 0 auto 60px auto; font-size: 26px;  }


.carousel_active { overflow: auto; text-align: center; color: #fff; }
.carousel_active .carousel_block { float: left; width: 33.333%; }
.carousel_active .carousel_block:nth-child(1) .carousel_block_inner { padding-right: 20px; }
.carousel_active .carousel_block:nth-child(2) .carousel_block_inner { padding:0 10px; }
.carousel_active .carousel_block:nth-child(3) .carousel_block_inner { padding-left: 20px; }
.carousel_active .image img { width: 100%; height: auto; }
.carousel_active .icon { text-align: center; margin-top: -35px; z-index: 99; position: relative; margin-bottom: 10px; }
.carousel_active .icon span { width: 60px; height: 60px; background-image: url("images/icon-carpentry.png"), url("images/icon-circle-green.png"); background-repeat: no-repeat, no-repeat; background-size: 25px auto, 60px auto; background-position: center center, center center; display: inline-block;}
.carousel_active .carousel_heading { font-family: "Josefin Sans", sans-serif; color: #fff; font-size: 19px; }

.carousel_active .carousel_block:nth-child(2) .icon span { background-image: url("images/icon-construction.png"), url("images/icon-circle-green.png"); background-size: 30px auto, 60px auto; }
.carousel_active .carousel_block:nth-child(3) .icon span { background-image: url("images/icon-kitchens.png"), url("images/icon-circle-green.png"); background-size: 25px auto, 60px auto; background-size: 30px auto, 60px auto;}

.content_block_2_columns { background-color:#444; padding:90px 0; color: #fff; background-image: url("images/icon-grunge-overlay-1.png"), url("images/icon-grunge-white.png"); background-position: top -120px center, bottom -120px center; background-repeat: no-repeat, no-repeat; background-size: auto 150px, auto 150px; }

.content_block_2_columns .heading { color: #fff; text-align: center; max-width: 520px; margin: 0 auto 60px auto; font-size: 26px;}

.content_block_2_columns_row { overflow: auto; text-align: center; }

.content_block_2_column { width: 50%; float: left; }

.content_block_2_columns_row .content_block_2_column:nth-child(1) .content_block_2_column_inner { padding-right: 15px; }
.content_block_2_columns_row .content_block_2_column:nth-child(2) .content_block_2_column_inner { padding-left: 15px; }
.content_block_2_column h4 { font-family: "Josefin Sans", sans-serif; color: #fff; font-size: 19px;  }
.content_block_2_column img { width: 100%; height: auto; margin-bottom: 40px; }
.content_block_2_column p { color: #cecece; }

.content_single_heading { padding:30px 0 60px 0; text-align: center; }
.content_single_heading .heading { font-size: 26px; margin: 0 auto; max-width: 468px; }
.content_single_heading .heading span { color: #00b1ac; }
.content_block_2_images_1_text { padding: 90px 0; }
.content_block_2_images_1_text_row { display: flex; }
.content_block_2_images_1_text .image { background-image: url("images/bridport-based-carpenter.jpg"); background-repeat: no-repeat; background-repeat: no-repeat; background-position: center center; background-size: cover; }

.content_block_2_images_1_text .image { background-image: url("images/aspects-of-oak-bridport-1.jpg"); }
.content_block_2_images_1_text .second_image { background-image: url("images/aspects-of-oak-bridport-2.jpg") !important; }


.content_block_2_images_1_text_row_col { flex: 1; }
.content_block_2_images_1_text_row .text { padding: 60px 30px; text-align: center; }
.content_block_2_images_1_text .heading { font-family: "Josefin Sans", sans-serif;  font-size: 19px; color: #00b1ac;  }

.content_image_block_row { overflow: auto; }
.content_image_block_row img { width: 50%; height: auto; float: left; box-sizing: border-box; border: #fff 10px solid; }


.content_2_image_block .image { width: 50%; float: left; box-sizing: border-box; border: #fff 10px solid; min-height: 300px; background-image: url("images/aspects-of-oak-bridport-3.jpg"); background-repeat: no-repeat; background-repeat: no-repeat; background-position: center center; background-size: cover; }

.content_2_image_block .image:last-of-type { background-image: url("images/aspects-of-oak-bridport-4.jpg"); }


.text_content_row { overflow: auto; margin-top: -120px; padding: 0 10px 90px 10px; }
.text_content_col { float: left; width: 50%; box-sizing: border-box; } 
.text_content_col:first-of-type { padding-left: 20px; }
.text_content_col:last-of-type { padding-top: 160px; padding-left: 15px; }
.mini_contact_box { padding: 30px; background-color: #00b1ac; max-width: 400px; }
.mini_contact_box_inner h6 { color: #fff; font-size: 19px; max-width: 300px; }
.mini_contact_box .button { background-color: #fff; border-radius: 80px; padding: 15px 80px 15px 30px; color: #00b1ac !important; text-decoration: none; display: inline-block; margin-top: 60px; background-image: url("images/icon-arrow-right-white.png"), url("images/icon-circle-green.png"); background-repeat: no-repeat, no-repeat; background-size: 6px auto, 25px auto; background-position: right 28px center, center right 20px; border:2px #fff solid; }



.footer_default { background-color: #00b1ac; padding: 30px 0 30px 0; text-align: center; }
.footer_default img { width: 100%; display: inline-block; max-width: 160px; }

.footer_default .facebook, .footer_default .instagram { width: 30px; height: 30px; display: inline-block; margin:30px 10px 10px 10px; background-repeat: no-repeat; background-image: url("images/icon-facebook.png"); background-size: 30px auto; background-position: center center; }
.footer_default .instagram { background-image: url("images/icon-instagram.png");}
.footer_terms { background-color: #444; padding: 20px 20px; text-align: center; }
img.mobile_menu { display: none;}

.page_contact {
	padding: 60px 0;
}


.contact_form_inner { background-color: #f6f6f6; padding: 40px;  }
.contact_details { margin-top: 40px; }
.contact_details span { display: block;  border-bottom: #ddd 1px solid; padding: 20px 0 20px 40px; }
.contact_details a { display: block; border-bottom: #ddd 1px solid; padding: 20px 0 20px 40px; }
.contact_details a:last-of-type { border-bottom: none; }
.contact_details a { color: #00b1ac; text-decoration: none; }


.contact_details a, .contact_details span { background-repeat: no-repeat, no-repeat; background-size: 10px auto, 30px 30px; background-position: left 10px center, left center; }
.contact_details .phone { background-image: url("images/icon-mobile-phone.png"), url("images/icon-circle-green.png"); }
.contact_details .email { background-image: url("images/icon-email.png"), url("images/icon-circle-green.png"); }
.contact_details .hours { background-image: url("images/icon-hours.png"), url("images/icon-circle-green.png"); }


@media only screen and (max-width: 1080px) {
	.text_content_col:first-of-type {
    padding-left: 0px;
}
}


@media only screen and (max-width: 1000px) {
		.text_content_col:first-of-type {
    padding-right: 40px;
}
}


@media only screen and (max-width: 768px) {
	.homepage_slider {
    padding: 150px 0;
    color: #fff;
    background-image: url(images/slider-overlay-full.png), url(images/homepage-slider.jpg);
    background-repeat: repeat, no-repeat;
    background-size: 10px auto, cover;
    background-position: right top, center center;
}
}


@media only screen and (max-width: 767px) {
	.carousel_active .carousel_block {
    float: left;
    width: 100%;
}
	
		.contact_col:nth-child(1) {
    padding-right: 0px;
			padding-bottom: 30px;
}

	
	.contact_col:nth-child(2) {
    padding-left: 0px;
}

.contact_col {
    width: 100%;
    float: none;
    box-sizing: border-box;
}
	
	
		.content_block_2_column:first-of-type {
			margin-bottom: 30px;
	}
	.content_block_2_column {
    width: 100%;
		padding-left: 0;
		padding-right: 0;
    float: left;
}
	.content_block_2_images_1_text {
    padding: 60px 0 30px;
}
	
	.content_2_image_block .image { 
		width: 100%; 
	}
	.text_content_row { margin-top: 0; }
	.text_content_col {
    float: none;
    width: 100%;
    box-sizing: border-box;
}
	.mini_contact_box {
    padding: 30px;
    background-color: #00b1ac;
    max-width: none;
		text-align: center;
}
	
	.mini_contact_box_inner h6 {
    color: #fff;
    font-size: 19px;
    max-width: none;
}
	.text_content_col:last-of-type {
    padding-top: 30px;
    padding-left: 0px;
		text-align: center;
}
	
	.text_content_col:first-of-type {
    padding-right: 0px;
}
	
	
.content_block_2_images_1_text_row {
    display: block;
}
	.content_block_2_images_1_text .image {
		min-height: 200px;
	}
	
	.carousel_active .carousel_block { 
		margin-bottom: 20px; 
	}
		.carousel_active .carousel_block:last-of-type { 
		margin-bottom: 0px; 
	}
}


@media only screen and (max-width: 760px) {
	
	
	.navigation_inner {
    background-color: #444;
    position: absolute;
    left: 0;
    right: 0;
		display: none;
    top: 140px;
		padding-bottom: 30px;
}
	
	.header_row .navigation a {
    display: block;
    padding:30px 20px;
		text-align: center;
}
	
	img.mobile_menu {
    width: 44px;
    height: auto;
		display: inline-block;
    position: absolute;
    right: 20px;
    top: 70px;
}
	.header_row .logo img {
    width: 100%;
    max-width: 230px;
    height: auto;
}
	
}



@media only screen and (max-width: 600px) {
	.carousel {
    background-size: 260px auto, auto 50px;
}
	
	.homepage_slider h1 {
    font-size: 32px;
}
	.heading_paragraph_button .heading {
    font-size: 26px;
	}
}

