@-ms-viewport
{
	width:device-width;
}
@-viewport
{
	width:device-width;
}
@media only screen and (max-width:1200px)
{
	img
	{
		max-width:100%;
	}
}
@media only screen and (max-width:1024px)
{		
	.nav ul li
	{
		margin: 0 12px;
	}
}
@media only screen and (max-width:960px)
{
	.header-top
	{
	    padding: 15px 20px;
	}
	.nav
	{
		position: absolute;
		right: 0;
		left: 0;
		z-index: 9999999;
		float: right;
		padding: 0 0;
		margin: 0;
		top: 0;
	}
	.nav ul
	{
    	background: #045a29;
	}
	.nav ul li
	{
		margin: 0 0;
	}
	.nav ul li a
	{
		padding: 8px 0px;
		text-align:center;
    	background: #045a29;
		color:#fff;
	}
	.nav-shrink .nav ul li a
	{
		padding: 8px 0px;
		text-align:center;
	}
	.nav ul li ul li a, .nav-shrink .nav ul li ul li a
	{
    	background: #045a29;
		color:#fff;
		text-align:center;
	}
	.nav ul li a i
	{
		display:none;
	}
	.nav ul li ul
	{
		position: relative;
		left:0;
		width: auto;
		-webkit-transform: translateX(-0%);
		transform: translateX(-0%);
		padding: 0px;
		margin: 0;
	}
	.nav ul li ul li
	{
	    width: 100%;
	}
	.nav ul ul li a, .nav-shrink .nav ul li ul li a
	{
		text-align:center;
	} 
	.nav ul li ul:before
	{
		top: -12px;
		left: 0;
		right:0;
	}
	.nav ul li a span
	{
		display: block;
	}
	.nav ul li:hover > a, .nav ul li.active > a 
	{
    color: #c6ff00;
	}
	.nav ul li a::after
	{
		display:none;
	}	
	.nav ul li ul:hover a
	{
	    color: #c6ff00;
	}
	.header-top h1
	{
	    position: relative;
	    z-index: 999999999;
	}
	.booking
	{
	    margin-right: 50px;
	    position: relative;
	    z-index: 999999999;
	    margin-left: auto;
	}
	.header-top, .header-strip
	{
		display: flex !important;
	}
	.hero article
	{
		left: 0;
	}
	.container
	{
	    padding-top: 35px;
	    padding-bottom: 35px;
	}
	.row
	{
		padding-left: 20px;
		padding-right: 20px;
	}
	.footer article
	{
		padding: 30px 20px;
        display: flex;
        flex-wrap: wrap;
	}
	.footer article aside, .footer-content
	{
		margin-right: 0%;
		width: 50%;
		float: left;
	}
}
@media only screen and (max-width:768px)
{
	.header-strip
	{
    	padding: 10px 20px;
	}
	.header-strip span
	{
		display: none;
	}
	.headercontact a
	{
	    width: 24px;
	    height: 24px;
	}
	.headercontact a:before
	{
	    border: none;
	}
	.hero article
	{
	    width: auto;
	    padding: 0 20px;
	}
	.alignmiddle, .intro .row
	{
		display: block;
	}
	.hero article h1
	{
	    font-size: 28px;
	    line-height: 30px;
	}
	.hero article h3
	{
	    font-size: 16px;
	    line-height: 20px;
	}
	.container h2
	{
	    font-size: 28px;
	    line-height: 30px;
	}
	.intro aside, .intro figure, .chooseus figure, .chooseus aside, .aboutus figure, .aboutus aside, .gallery-intro figure, .gallery-intro aside, .contact .formfield, .address-details
	{
		width: auto;
		float: none;
	}
	.intro:before, .chooseus:after
	{
	    right: 50px;
	    width: 75px;
	    height: 100px;
	}
	.sideleaf
	{
	    width: 200px;
	    margin-right: -100px;
	}
	.intro figure figure
	{
	    left: 0;
	    width: 200px;
	}
	.chooseus:before
	{
	    top: 0;
	    bottom: auto;
	    left: 0;
	    right: 0;
	    width: 100%;
	    height: 30%;
	}
	.services p
	{
		width: auto;
	}
	.services ul
	{
	    grid-template-columns: 1fr;
	    gap: 30px;
	}
	.services ul li:nth-of-type(3), .services ul li:nth-of-type(5), .services ul li:nth-of-type(7)
	{
	    margin-top: 0px;
	}
	.getintouch:after
	{
	    top: auto;
	    bottom: -30px;
	    right: 0;
	    width: 180px;
	    height: 250px;
	}
	.page-title nav
	{
	    bottom: 10px;
	    left: 20px;
	}
	.page-title h2
	{
	    font-size: 2.5rem;
	}
	.aboutus figure
	{
		position: static;
	}
	.services-list article
	{
	    grid-template-columns: 1fr;
	    gap: 20px;
	    padding: 20px 0 20px 0px;
	}
	.services-list article:before
	{
	    top: 30px !important;
	    left: 10px;
	    color: #fff;
	}
	.photo-gallery ul li a img
	{
	    height: 170px;
	}
}
@media only screen and (max-width:520px)
{	
	.headercontact a
	{
	    margin-right: 0;
	}
	.booking, .hero article h3
	{
		display: none;
	}
	.hero article ul
	{
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    gap: 5px;
	}
	.hero article ul li a
	{
		display: block;
	    padding: 2px 10px 2px 20px;
	    font-size: 14px;
	}
	.intro figure figure
	{
	    width: 150px;
	}
	.count ul li
	{
	    width: 100%;
	}
	.count ul li article
	{
	    border-left: none;
	    border-top: solid 1px #c6ff00;
	}	
	.count ul li:first-of-type article
	{
	    border-left: none;
	    border-top: none;
	}
	.getintouch:after
	{
	    display: none;
	}
	.getintouch h1
	{
	    font-size: 30px;
	}
	.footer
	{
		text-align: center;
	}
	.footer article aside, .footer-content
	{
		width: 100%;
		float: none;
	}
	.footer-content
	{
		padding: 0 0 20px 0;
	    border-bottom: solid 1px #fff;
	    border-right: none;
	}
	.social-icons a
	{
	    display: inline-block;
	    float: none;
	    margin: 0 1px;
	}
	.footer-bottom p
	{
		float: none;
	}
	.photo-gallery ul li
	{
	    width: 50%;
	}
}
@media only screen and (max-width:360px)
{
	.photo-gallery ul li
	{
	    width: 100%;
	}
}