@media all and (max-width: 1650px) {
	
	.panel.text-image .setwidth{
		padding-right:0;
	}

	.panel.image-text .setwidth{
		padding-left:0;
	}	
	
	.panel.form-panel {
		padding: 50px 30px;
	}
}


@media all and (max-width: 1500px) {

	.logo-wrapper {
		width: 305px;
	}

	.logo-wrapper .strapline h5 {
		font-size: 16px;
	}

	.navigation ul li {
		margin-left: 12px;
	}

	.navigation ul li a{
		font-size:15px;
	}	
	
	#banner .banner-text {
		padding: 25px 5px;
	}	
}	


@media all and (max-width: 1380px) {

	.mobile-menu{
		display:block;	
	}	
	
	.hamburger{
		padding-right:0;
	}
	
	#header .navigation{
		display:none;
		float:none;
		width:100%;
		clear:both;
	}	
	
	#header .navigation ul{
		padding:15px 0;
	}
	
	#header .navigation ul li {
		display: block;
		padding:0 0;
	}	
	
	.navigation ul li a {
		padding: 15px 10px;
		display:block;
		text-align:left;
		border-bottom:1px solid #000;
	}	
	
	.navigation ul#nav li .sub-menu li a{ 
		font-size:14px;	
		padding:6px 20px;
		border:0;
	}	
	
	.navigation ul li.menu-item-has-children > a:after {
		right:15px;
		top:20px;
		transform: none;
	}
	
	.navigation ul#nav li .sub-menu li a:before {
			right: 35px;
			font-size: 12px;
	}	
	
	.navigation ul li:last-of-type a {
		border:0;
	}
	
	
	.navigation ul#nav li .sub-menu {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		background: transparent;
		padding:10px 0 20px 0;
	}	
	

	.panel.form-panel .grid.col-2 {		
		grid-gap: 20px;
    grid-template-columns: repeat(1, 1fr);
	}
	
	.panel.form-panel .content {
		padding: 30px 30px 0 30px;
	}	

	.panel.form-panel .form-wrapper {
		margin-top:0;
	}
	
	.panel.form-panel .form-wrapper {
		margin: 30px;
	}	
	
	
	.panel.tickboxes .title-col,
	.panel.tickboxes .grid-col {
		width: 100%;
		float: none;		
		padding: 0;
	}	
	
	.panel.tickboxes .title-col{
		text-align:center;
		padding:0 0 20px 0;
	}

	#footer .footer-cols .footer-cols-right{
		width:60%;
	}
	
	#footer .footer-cols .footer-cols-right .grid.col-3 {
		grid-template-columns: repeat(2, 1fr);
	}

}



@media all and (max-width: 1200px) {

	.topbar-nav ul.actions {
		float: none;
		justify-content: flex-end; /* aligns all list items to the right */
	}	

	.logo-wrapper {
		margin: 20px 0 25px 0;
	}	

	.mobile-menu {
		top: 80px;
		right: 30px;
	}	
	
	#header .setwidth {
		padding-right: 0;
		padding-left:20px;
	}	
	
	#header .navigation ul {
		paddingtop: 0;
	}	

	#banner-wrapper {
		margin: 0 20px 20px 20px;
	}
	
	#banner {
		min-height: 620px;
	}	

	#banner .banner-text h1 {
		font-size: 36px;
	}
	
	.popular-services.separate-blocks .grid.col-3 {
		grid-gap: 20px;
	}	
	
	
	.popular-services {
		bottom: 0;
		margin-bottom:40px;
	}

	#banner-wrapper + .popular-services,
	#banner-wrapper + .popular-services + .popular-services,
	#banner-wrapper + .popular-services + .popular-services + .popular-services {
		margin-top: 0;
	}	
	
	.popular-services .title h4 {
		padding: 30px 20px;
	}	
	
	.popular-services .content .grid.cols .item .padding {
		padding: 20px;
	}		
	
	
	.panel.image-text-cards{
		padding:0;
	}
	

	.panel.image-text .item.text,
	.panel.text-image .item.text,
	.panel.image-text-cards .item.text {
		padding: 20px 20px;
	}	
	
	.panel.text-image .item.text{
		padding-bottom:0;
	}
	
	.panel.text-image .item.image{
		margin-top:60px;		
	}

	.panel.image-text-cards .grid{
		display:block;
		width:100%;
	} 
	
	.panel.image-text-cards .image{
		display:none !important;
	}
	
	
	ul.accreditations li {
		padding: 0 30px;
	}	
	
	.posts .grid.col-4{
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 40px;
	}	
	
}


@media all and (max-width: 980px) {

	#banner .banner-image {
		width: 50%;
	}

	#banner .banner-text {
		width: 42%;
	}

	.popular-services{
		margin-bottom:0;
	}

	.panel {
		padding: 20px 0;
	}
	
	.panel.carousel{
		padding-top:60px;
	}


	.panel.image-text .grid,
	.panel.image-text .grid .item,
	.panel.text-image .grid,
	.panel.text-image .grid .item{
		display:block;
		width:100%;
	}
	
	.panel.text-image .sameheight,
	.panel.image-text .sameheight{
		height:auto !important;
	}		
	
	.hide_image_for_mobile .item.image{
		display:none !important;
	}

	.panel.tickboxes .grid-col .grid {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
	}	
	
	.panel.text-image .item.text{
		padding-left:0
	}
	
	.panel.image-text-cards .item.text {
		padding-right:0;
		padding-left:0
	}	
	
	.panel.image-text .item.image,
	.panel.text-image .item.image{
		height:350px !important;
		max-height:350px !important;
	}	
	
	.panel.image-text .item.image{
		margin-bottom: 30px;
	}
	
	.accordion h3.trigger {
		padding: 20px 20px 20px 40px;
		font-size: 22px;
	}	
	
	.contact-left,
	.contact-right{
		float: none;		
		width: 100%;
	}	
	
	.contact-left{
		padding:0 0 50px 0;
	}	


	#footer .footer-cols .footer-cols-right,
	#footer .footer-cols .footer-cols-left{
		width:100%;
		float:none;
	}
	
	#footer .footer-cols .footer-cols-right{
		padding-top:30px;
	}
	
	#footer .footer-cols .footer-cols-right .grid.col-3 {
		grid-template-columns: repeat(3, 1fr);
	}


}


@media all and (max-width: 890px) {


	.topbar-nav ul.actions li:first-of-type {
		display:none;
	}	

	.topbar-nav ul.actions li .tel {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
		border: 2px solid #b39d6e;
		border-top:0;
		padding-left:20px;
	}

	#banner {
		min-height: auto;
		padding:0;
	}

	#banner .banner-image {
		position: relative;
		top: auto;
		right: auto;
		height: 420px;
		width: 100%;
	}

	#banner .banner-text {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		text-align: left;
		padding: 50px 40px;
		width: 100%;
		background-color:transparent;
	}	
	
	.popular-services .content .grid.cols {
		border-radius: 0;
		display:block;
		width:100%;
		margin-top:30px;
	}	


	.popular-services .content .grid.cols .item{
		margin:0 0 50px 0;
		border-radius: 12px;	
	}
	
	.popular-services .content .grid.cols .item .padding {
		padding: 30px;
	}		
	
	.popular-services .content {
		padding: 0 0 0 0;
	}	
	
	.popular-services .post-content {
		padding-bottom: 0
	}	
	
	ul.accreditations li {
		width:40%;
		padding:0;
	}	

	.posts .grid.col-4{
		grid-template-columns: repeat(2, 1fr);
	}		
	
}


@media all and (max-width: 780px) {

	.panel.tickboxes .grid-col .grid {
    grid-template-columns: repeat(2, 1fr);
	}	

	.panel.tickboxes .item {
		padding: 15px 0 15px 55px;
	}

	.panel.tickboxes .item:before {
		left: 14px;
		top: 18px;
	}

	.cards.style-1 {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 20px;
	}	
	
	#footer{
		padding-bottom:20px;
	}
	
	#footer .copyright{
		border:0;
	}
	
	#footer .copyright .table,
	#footer .copyright .table-cell{
		display:block;
		width:100%;
		text-align:left;
	}	

	#footer .copyright .table-cell {
		padding: 5px 0;
	}
	
	#footer .copyright .links ul li,
	#footer .copyright .links ul li:first-of-type {
		padding:0;
		display:block;
		width:100%;
		text-align:left;
		float:none;
	}	
	
	.panel.facebook .table,
	.panel.facebook .table-cell{
		display:block;
		width:100%;
	}
	
	.panel.facebook .logo{
		height:200px;
	}
	
	.recent-posts .cards.grid.col-3{
		grid-template-columns: repeat(1, 1fr);
	}

	#footer .footer-cols .footer-cols-right .grid.col-3 {
		grid-template-columns: repeat(1, 1fr);
	}

}

@media all and (max-width: 660px) {

	.topbar-nav ul.actions li:nth-of-type(3) {
		display:none;
	}		
	
	.panel.form-panel .form-wrapper {
		margin: 15px;
	}	
	
	.form-wrapper {
		padding: 15px 15px 15px 15px;
	}	
	
	form .fields .field,
	form fieldset .fields:last-of-type .field {
		width: 100%;
		float: none;
		margin:0 0 20px 0;
	}	
	
	.form-wrapper .btn {
		width:100%;
	}	

	#reviews-slider .bx-controls-direction {
		top: 10%;
		transform: translateY(-10%);
	}	

	#reviews-slider .bx-controls-direction a {
		width: 25px;
		height: 25px;
		line-height: 25px;
		font-size: 12px;
	}

}


@media all and (max-width: 580px) {

	#header .setwidth {
		padding-left: 0;
	}

	.topbar-nav ul.actions li {
		width: 50%;
	}
	
	.topbar-nav ul.actions li a{
		width:100%;
	}
	
	.logo-wrapper {
		margin: 20px 0 25px 20px;
	}	

	.logo-wrapper a.logo img {
		height: 30px;
	}
	
	#banner .banner-text {
		padding: 40px 30px 50px 30px;
	}	

	#banner .banner-text h1 {
		font-size: 28px;
	}
	
	#banner .banner-text h3 {
		font-size: 21px;
		line-height: 1.4em;
	}	

	.panel.tickboxes .grid-col .grid {
    grid-template-columns: repeat(1, 1fr);
	}	

	.cards.style-1 {
		grid-template-columns: repeat(1, 1fr);
	}	

	ul.accreditations li {
		width:100%;
	}	
	
	.panel.form-panel {
		padding: 0 0;
		background:transparent;
	}	

	.popular-services .content .grid.cols .item .padding {
		padding: 20px;
	}

	.posts .grid.col-4{
		grid-template-columns: repeat(1, 1fr);
	}		

}

@media all and (max-width: 480px) {

	#banner .banner-text {
		padding: 0 30px 50px 30px;
	}

}

@media all and (max-width: 410px) {
	.setwidth {
		padding: 0 10px;
	}

	.logo-wrapper {
		margin-left:10px;
	}	
	
	.mobile-menu {
		right: 10px;
	}	
	
	#banner-wrapper {
		margin: 0 10px 20px 10px;
	}	
	
}	