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

div{
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;	
	box-sizing:border-box;
}

p{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:140%;
	font-weight:400;
	color:#666;
	margin-bottom:1em;
}

p a{
	font-family: 'Raleway', sans-serif;
	font-size:1em;
	line-height:140%;
	font-weight:400;
	color:#666;
	text-decoration:none;
}

h2, h1{
	font-family: 'Raleway', sans-serif;
	font-size:1.25em;
	line-height:120%;
	font-weight:400;
	color:#333;
	margin-bottom:15px;
}

input, textarea, button{
	color:#333;
	padding:8px 15px;
	outline:0;
	border-radius:5px;
	border:1px solid #CCC;
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:100%;
	font-weight:400;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;	
}

button{
	background:#CCC;
}

textarea{
	resize:vertical;
}

::-webkit-input-placeholder { /* WebKit browsers */
	color:	#666;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:	#666;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:	#666;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
   color:	#666;
}

ul.list
{
	padding-left: 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	list-style-position: outside;
	list-style-type: disc;
}

ul.list li{
	font-family: 'Raleway', sans-serif;
	font-size: 0.8125em;
	line-height: 150%;
	font-weight: 400;
	color: #666;
}

/*****************************************************************************************************
									slider
*****************************************************************************************************/
.bx-wrapper {
	position: relative;
	*zoom: 1;
}

.bx-wrapper .bx-viewport {
	/*fix other elements on the page moving (on Chrome)*/
	-webkit-transform: translatez(0);
	-moz-transform: translatez(0);
	-ms-transform: translatez(0);
	-o-transform: translatez(0);
	transform: translatez(0);
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: -30px;
	width: 100%;
}

#home_slider_wrapper, #home_slider_wrapper ul.bxslider, #home_slider_wrapper ul.bxslider li.home_slide{
	width:100%;
	position:relative;
}

#home_slider_wrapper .home_slide{
	width:100%;
	position:relative;	
}

#home_slider_wrapper .home_slide1{
	background:#BAC4DD;	
}

#home_slider_wrapper .home_slide2{
	background:#B2A295;	
}

#home_slider_wrapper .home_slide3{
	background:#9F3F19;	
}

#home_slider_wrapper .home_slide4{
	background:#1D1D1B;	
}
	
#home_slider_wrapper .home_slide_content{
	width:90%;
	max-width:1100px;
	margin:0 auto;
	position:relative;
}

#home_slider_wrapper .home_slide_caption{
	position:absolute;
	top:0;
	left:0;
	width:50%;
	padding:40px 20px 20px 20px;
	background:url(../images/slider/slide_caption_bg.png);
	/*border-bottom:4px solid #EE2A24;*/
}

.slider_caption_boarder{
	width:100%;
	position:absolute;
	bottom:-6px;
	left:0;
	height:6px;
	background:url(../images/slider/caption_boarder.png);
}

#home_slider_wrapper .home_slide_rel{
	position:relative;	
}

#home_slider_wrapper .home_slide_rel h2{
	color:#EE2A24;
	font-size:2em;
	font-weight:500;
	margin-bottom:20px;
}

#home_slider_wrapper .home_slide_link{
	width:100%;
	position:relative;
}

#home_slider_wrapper .home_slide_link p{
	width:100%;
	padding-right:90px;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#333;
}

#home_slider_wrapper .home_slide_link a{
	display:block;
	height:45px;
	width:45px;
	position:absolute;
	right:0;
	margin-top:-22px;
	top:50%;
	background:url(../images/arrows/large_arrow.png);	
}

#home_slider_wrapper .home_slide_link a:hover{
	background:url(../images/arrows/large_arrow_hover.png);
}



/*****************************************************************************************************
									header
*****************************************************************************************************/

.header_wrapper{
	width:100%;
	z-index: 1;
	border-top:4px solid #EE2A24;
	border-bottom:4px solid #EE2A24;
	position:relative;
}

#home_header_wrapper{	
	position:absolute;
	bottom:0;
	top:auto;
	z-index: 999999;
}

.header_inner{
	width:100%;
	background:url(../images/header/bg.png);
	border-top:1px solid #FFF;
	border-bottom:1px solid #FFF;
}

.header_content{
	width:90%;
	max-width:1100px;
	margin:0 auto;
	padding:25px 0;
	position:relative;	
}

#logo{
	float:left;
	margin-right:7.5%;
}

#menu{
	float: left;
}

#menu li
{
	float: left;
	border-left: 1px solid #9A9999;
	padding-left: 10px;
}

#menu li a
{
	display: block;
	padding-right: 35px;
	text-decoration: none;
	color: #F2F2F2;
	font-family: 'Raleway', sans-serif;
	font-size: 1em;
}

#menu li a span.icon{
	display: block;
	width: 50px;
	height: 35px;
	margin-bottom: 19px;
	background: url(../images/header/icons.png);
	background-image: url(../images/header/icons.svg), none;
}

#menu li.home a span.icon {background-position-y: 0px; -ms-background-position-y: 0px;}
#menu li.services a span.icon {background-position-y: -35px; -ms-background-position-y: -35px;}
#menu li.gallery a span.icon {background-position-y: -70px; -ms-background-position-y: -70px;}
#menu li.contact a span.icon {background-position-y: -105px; -ms-background-position-y: -105px;}

#menu li a.active span.icon,
#menu li a:hover span.icon
{
	background-position-x: -50px;
	-ms-background-position-x: -50px;
}

#menu li a span.text{
	color: #9A9999;
	font-weight: 400;
}

#menu li a.active span.text,
#menu li a:hover span.text{
	color: #E6302A;
}

#here_to_help{
	float:right;
	position:relative;
	margin-top: 6px;
}

#here_to_help h6{
	font-family: 'Raleway', sans-serif;
	font-size:1em;
	line-height:100%;
	font-weight:500;
	color:#fff;
	margin-bottom:15px;
}

#here_to_help span{
	display:inline-block;
	font-family: 'Raleway', sans-serif;
	font-size:1.625em;
	line-height:100%;
	font-weight:400;
	color:#fff;
	text-decoration:none;
}

#here_to_help span a {color: inherit; text-decoration: none;}



.header_box{
	background: #ccc;
}

#contact_header_box, #thankyou_header_box {background: #D3D7D9;}
#gallery_header_box {background: #2F75B6;}
#services_header_box {background: #BCBEB4;}

.header_caption{
	width: 90%;
	max-width: 1100px;
	margin: -130px auto 0 auto;
	position: relative;
	height: 290px;
	-webkit-background-size: cover;
	background-size: cover;
	-ms-behavior: url(/js/backgroundsize.min.htc);
	background-position: 50% 50%;
}

#contact_header_box .header_caption, #thankyou_header_box .header_caption {background: url(../images/header/contact_header.jpg);}
#contact_header_box .feather.left, #thankyou_header_box .feather.left {background-image: url(../images/header/contact_grad_left.png);}
#contact_header_box .feather.right, #thankyou_header_box .feather.right {background-image: url(../images/header/contact_grad_right.png);}

#gallery_header_box .header_caption {background: url(../images/header/gallery_header.jpg);}
#gallery_header_box .feather.left {background-image: url(../images/header/gallery_grad_left.png);}
#gallery_header_box .feather.right {background-image: url(../images/header/gallery_grad_right.png);}

#services_header_box .header_caption {background: url(../images/header/services_header.jpg);}
#services_header_box .feather.left {background-image: url(../images/header/services_grad_left.png);}
#services_header_box .feather.right {background-image: url(../images/header/services_grad_right.png);}

.header_caption .feather{
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}

.header_caption .feather.left {left: 0;}
.header_caption .feather.right {right: 0;}

.header_caption h1{
	position: absolute;
	left: 0;
	bottom: 40px;
	color: #FFF;
	font-size: 2.25em;
	margin: 0;
}

/*****************************************************************************************************
									Section
*****************************************************************************************************/
.section_wrapper{
	width:90%;
	max-width:1100px;
	margin:0 auto;
	position:relative;
	padding:35px 0;	
}

.section_left{
	width:49%;
	float:left;
	position:relative;
}

.section_right{
	width:49%;
	float:right;
	position:relative;	
}

#home_section_left h2{
	margin-top:40px;
}

#home_section_left p a{
	text-decoration: underline;
}

#mark_of_integrity{
	position:relative;
	width:100%;
	/*padding-right:35%;*/
}

#mark_of_integrity p{
	width:100%;
	margin-bottom: 10px;
}

#mark_of_integrity .list_wrapper{
	position: relative;	
	/*padding-right: 35%;*/
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}

#mark_of_integrity .list_wrapper ul
{
	/*border-right:1px solid #EE2A24;*/
	/*padding-right: 10px;*/
}

#mark_of_integrity .image{
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 33%;
}

#mark_of_integrity .image span.helper{
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

#mark_of_integrity .image img{
	vertical-align: middle;
}

/*Services list*/
#services_section_wrapper{
	padding: 35px 0;
}

.services_row{
	position: relative;
}

.services_row.mb{
	margin-bottom: 25px;
}

.services_row .service
{
	width: 49%;
	position: relative;
	border-top: 4px solid #EE2A24;
	border-bottom: 4px solid #EE2A24;
}

.services_row .service.left{float: left;}
.services_row .service.right{float: right;}

.services_row .service .image{
	border-top: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 100%;
	width: 50%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: 50% 50%;
	-ms-behavior: url(/js/backgroundsize.min.htc);
}

.service#listed_building_repairs .image {background-image: url(../images/services/listed_building_repairs.jpg);}
.service#structural_repairs .image {background-image: url(../images/services/structural_repairs.jpg);}
.service#disabled_adaptations .image {background-image: url(../images/services/disabled_adaptations.jpg);}
.service#brickwork .image {background-image: url(../images/services/brickwork.jpg);}
.service#carpentry .image {background-image: url(../images/services/carpentry.jpg);}
.service#roofing .image {background-image: url(../images/services/roofing.jpg);}
.service#plastering_tiling .image {background-image: url(../images/services/plastering_tiling.jpg);}
.service#drainage .image {background-image: url(../images/services/drainage.jpg);}
.service#electical_works .image {background-image: url(../images/services/electical_works.jpg);}
.service#plumbing .image {background-image: url(../images/services/plumbing.jpg);}
.service#driveways .image {background-image: url(../images/services/driveways.jpg);}
.service#landscaping .image {background-image: url(../images/services/landscaping.jpg);}
.service#general_building_works .image {background-image: url(../images/services/small_building_works.jpg);}
.service#block_paving .image {background-image: url(../images/services/block_paving.jpg);}

.services_row .service .grey_bg	{
	width: 50%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	background: #FFF;
	min-width: 200px;
}

.services_row .service .text{
	width: 50%;
	min-width: 200px;
	height: 100%;
	position: relative;
	float: right;
	padding: 20px 0 20px 20px;
	background: #FFF;
}

.services_row .service .text h3{
	font-family: 'Raleway', sans-serif;
	line-height: 140%;
	font-weight: 500;
	font-size: 1em;
	margin-bottom: 10px;
}

.services_row .service .text p{
	margin-bottom: 0px;
}

.services_row .service#redgate_logos > div{
	width: 50%;
}

.services_row .service#redgate_logos .construction{float: left; padding: 25px 3% 25px 15px;}
.services_row .service#redgate_logos .property{float: right; padding: 25px 15px 25px 3%;}


.services_row .service#redgate_logos  p.text{
	display: block;
	padding: 15px 0 0 0;
	margin-bottom: 0;
	width: 100%;
	height: auto;
	float: none;
	word-wrap: break-word;
	min-width: 0px;
	color: #000;
}

.services_row .service#redgate_logos  p.text a{
	color: #666;
}


/*Services list*/
#services_list_wrapper{
	padding: 25px 20px 20px 20px;
	position:relative;
	background:#F2F2F2;	
}

#services_list_wrapper ul{
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	width:50%;	
	
}

#services_list_wrapper #services_list_left{
	float:left;
	padding-right:10px;
}

#services_list_wrapper #services_list_right{
	float:right;
	padding-left:10px;
}

#services_list_wrapper ul li{
	width:100%;
	border-bottom:1px solid #EE2A24;	
}

#services_list_wrapper ul li.services_list_top{
	border-top:1px solid #EE2A24;
}

#services_list_wrapper ul li a{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:30px;
	font-weight:500;
	color:#333;
	display:block;
	text-decoration:none;
	padding:10px 40px 10px 0;
	width:100%;
	background:url(../images/arrows/small_arrow.png) no-repeat right 50%;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}

#services_list_wrapper ul li a:hover{
	background:url(../images/arrows/small_arrow_hover.png) no-repeat right 50%;
}

/*****************************************************************************************************
									CTAs
*****************************************************************************************************/
.cta_wrapper{
	width:100%;
	margin:0 auto;
	background:#F2F2F2;
	position:relative;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}

.cta_content{
	padding:35px 0;
	width:90%;
	max-width:1100px;
	margin:0 auto;
}

/*areas covered*/

.areas_covered{
	width:49%;
	border-top:4px solid #EE2A24;
	border-bottom: 4px solid #EE2A24;
	padding:2px 0;
	background:#FFF;
	position: relative;
}

#areas_covered_img{
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
	width:47%;
	background:url(../images/cta/areas_covered.jpg) no-repeat center center;
	-webkit-background-size:cover;
	background-size:cover;
	-ms-behavior: url(js/backgroundsize.min.htc);
	border-top: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
}


#areas_covered_right{
	width:53%;
	float:right;
	padding:20px 30px;	
}

#areas_covered_right p{
	margin-bottom:0;
	color:#333;
}

/*Free estimate*/

.free_estimate{
	width:49%;	
	border-top:4px solid #EE2A24;
	background:#F2F2F2;
}

.free_estimate h2{
	padding-top:20px;
	margin:0 0 15px 0;
	border-top:1px solid #fff;
}

.free_estimate p{
	margin-bottom:10px;	
}

.free_estimate input, .free_estimate textarea, .free_estimate button{
	width:100%;	
}

.free_estimate input{
	margin-top:10px;
}

.free_estimate input.top_input{
	margin-top:0;
}

.free_estimate textarea{
	height:76px;
}

.free_estimate button{
	 color:#fff;
	 background:#CCC;
	 text-align:left;
	 position:relative;
	 cursor:pointer;
	 margin-top:10px;
 }
 
.free_estimate button span{
	line-height: 0;
	width:12px;
	height:20px;
	background:url(../images/arrows/submit_button.png) no-repeat center;
	position: absolute;
	margin-top: -10px;
	top: 50%; 
	left:65px;
}

.{
	margin-bottom:10px;	
}

#estimate_form_left{
	width:50%;
	padding-right:15px;
	float:left;	
}

#estimate_form_right{
	width:50%;
	padding-left:15px;
	float:right;	
}

/* Link cta */
a.link_cta{
	display: block;
	text-decoration: none;
	width: 49%;
	position: relative;
	-webkit-background-size: cover;
	background-size: cover;
	-ms-behavior: url(/js/backgroundsize.min.htc);
	background-position: 50% 50%;
}

a.link_cta.gallery {background-image: url(../images/cta/gallery.jpg);}
a.link_cta.services {background-image: url(../images/cta/services.jpg);}

.link_cta .table{
	min-height: 170px;
	width: 100%;
	display: table;
	height: 100%;
}

.link_cta .table-cell{
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}

.link_cta span.arrow{
	display: block;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	background: url(../images/cta/arrows.png);
	margin-bottom: 15px;
}

.link_cta:hover span.arrow{
	background-position: -48px 0px;
}

.link_cta h3{
	text-align: center;
	font-family: 'Raleway', sans-serif;
	font-size: 1.5em;
	color: #FFF;
}

/*Quote box*/

.quote_box{
	display: table;
	width:49%;
	background:#FFF;
	border-top:4px solid #EE2A24;
	border-bottom:4px solid #EE2A24;
	padding:40px 25px 35px 25px;
}

.quote_box .text{
	display: table-cell;
	vertical-align: middle;
}

.quote_box p{
	font-style:italic;
	text-align:center;
	font-size:1em;	
}

.quote_box h6{
	text-align:center;
}	


/*position*/
#home_cta_wrapper .areas_covered{
	float:left;	
}

#home_cta_wrapper .free_estimate{
	float:right;
}

#services_cta_wrapper .free_estimate{
	float:left;
}

#services_cta_wrapper .link_cta{
	float: right;
}


/*****************************************************************************************************
										footer
*****************************************************************************************************/
#footer_wrapper{
	width:100%;
	border-top:4px solid #EE2A24;
	margin-top:35px;
}

#footer_container{
	background:url(../images/header/bg.png);
	border-top:1px solid #FFF;
	padding:20px 0;	
}

#footer_content{
	width:90%;
	max-width:1100px;
	margin:0 auto;
	position:relative;
}

#footer_content a , #footer_content p, #span1, #span2{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:140%;
	font-weight:400;
	color:#FFF;
	margin-bottom:0;
	text-decoration:none;
	display:inline-block;
}

#footer_content a:hover{
	color:#CCC;
}

#span1, #span2{
	margin-left:4px;
}




/*********************************************************************************************************************************************************************************************************
																								Gallery page 
*********************************************************************************************************************************************************************************************************/	
#gallery_banner .banner_img{
	background:url(../images/banners/gallery.jpg);
	background-size:cover;
	background-position:center;
	-ms-behavior: url(js/backgroundsize.min.htc);
}

#gallery_wrapper{
	width:90%;
	max-width:1100px;
	margin:0 auto;
	padding:35px 0 10px 0;
}

#gallery_left{
	width:49%;
	float:left;	
}

#gallery_right{
	width:49%;
	float:right;
}

#gallery_wrapper a{
	display:block;
	width:48.14%;
	margin-bottom:3.7%;
	float:left;	
	border-top:4px solid #EE2A24;
	border-bottom:4px solid #EE2A24;
	padding:2px 0 1px 0;
	position:relative;
}

#gallery_wrapper a span{
	width: 48px;
	height: 48px;
	display:block;
	top: 50%;
	left: 50%;
	margin-top: -24px;
	margin-left: -24px;
	position:absolute;
	background: url(../images/cta/arrows.png);
	cursor: pointer;
}

#gallery_wrapper a:hover span{
	background-position: -48px 0;
}

#gallery_wrapper a.gallery_left_image{
	margin-right:3.7%;
}

button.mfp-arrow{
	width: 48px;
	height: 48px;
	margin-bottom: 0;
	background-image: url(../images/cta/arrows.png);
	margin-top: 0;
}

button.mfp-arrow:hover{
	-ms-background-position-x: -48px;
	background-position-x: -48px;
}

.mfp-arrow.mfp-arrow-left{
	left:-100px;
	background-position: 0px -48px;
}

.mfp-arrow.mfp-arrow-right{
	right:-100px;
	background-position: 0px 0px;
}

.mfp-arrow-left:after, .mfp-arrow-left:before, .mfp-arrow-right:after, .mfp-arrow-right:before{
	display: none;
}

.mfp-counter{
	display:none;
}

.mfp-bottom-bar{
	padding-bottom: 2px;
	background: #FFF;
	bottom: 0;
	position: relative;
	max-width: 770px;
	margin: 0;
	font-family: 'Raleway', sans-serif;
}

.mfp-title{
	border-bottom: 4px solid #EE2A24;
	background: #FFF;
	padding: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.mfp-title h3{
	color: #666;
	margin-bottom: 10px;
}

.mfp-title p{
	margin-bottom: 0;
}

.mfp-image-holder  .mfp-close{
	width:45px;
	top:-40px;
}

.mfp-arrow{
	opacity: 1;
	filter: alpha(opacity=100);
}

img.mfp-img{
	padding:2px 0;
	background:#FFF;
	border-top:4px solid #EE2A24;
	border-bottom:4px solid #EE2A24;
}

#gallery_wrapper .caption{display: none;}

/*********************************************************************************************************************************************************************************************************
																								Contact page 
*********************************************************************************************************************************************************************************************************/	
#contact_banner .banner_img{
	background:url(../images/banners/contact.jpg);
	background-size:cover;
	background-position:center;
	-ms-behavior: url(js/backgroundsize.min.htc);
}

#contact_col_wrap{
	margin-bottom:25px;
}

#contact_leftcol{
	width:50%;
	float:left;
	padding-right:15px;	
}

#contact_leftcol ul{
	margin-bottom:25px;
}

#contact_leftcol ul li{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:140%;
	font-weight:400;
	color:#666;
}

#contact_leftcol p{
	margin-bottom:0;
}

#contact_leftcol p span{
	color:#EE2A24;
	font-weight:500;	
}

#contact_rightcol{
	width:50%;
	padding-left:15px;
	float:right;
}

#contact_rightcol h6{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:140%;
	font-weight:500;
	color:#EE2A24;
}

#contact_rightcol h6 span{
	font-weight:400;
	color:#666;	
}


/*Form*/

#contact_form_leftcol{
	width:50%;
	padding-right:15px;
	float:left;
}

#contact_form_leftcol input{
	width:100%;
	margin-top:13px;
}

#contact_form_leftcol input.top_input{
	margin-top:0;
}

#contact_form_rightcol{
	width:50%;
	float:right;
	padding-left:15px;
}

#contact_form_rightcol textarea{
	width:100%;
	height:79px;
	
}

#contact_form_rightcol button{
	width:100%;
	color:#FFF;
	text-align:left;
	padding-left:15px;
	position:relative;
	cursor:pointer;
	margin-top:13px;
}

#contact_form_rightcol button span{
	line-height: 0;
	width:12px;
	height:20px;
	background:url(../images/arrows/submit_button.png) no-repeat center;
	position: absolute;
	margin-top: -10px;
	top: 50%; 
	left:65px;
}

#contact_cta_wrapper .areas_covered{
	float:left;
}

#contact_cta_wrapper .quote_box{
	float:right;
	/*padding: 50px 25px 55px 25px;*/
	height:210px;
}

label.error{
	font-family: 'Raleway', sans-serif;
	font-size:0.8125em;
	line-height:140%;
	font-weight:500;
	color:#EE2A24;	
}

.detect {display: none;}
/*****************************************************************************************************
									classes and tags 
*****************************************************************************************************/

.clearall{
	clear:both;
}	

img{
	max-width:100%;
	height:auto;
	border:0;
}

.cf:before,
.cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.cf:after {
	clear: both;
}