@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption, footer,
header, hgroup, menu, nav, output, ruby, section,
summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font:inherit;
	vertical-align:baseline;
}

html {
	width:100%;
	height:100%;
	position:relative;
}

body {
	overflow-x:hidden;
	margin:0;
	width:100%;
	height:100%;
	font-size:18px;
	line-height:1.5em;
	font-family:'Roboto', Arial, sans-serif;
	color:#333;
	background:#fff;
	position:relative;
	-webkit-font-smoothing:antialiased;
	-webkit-text-size-adjust:100%;
}

h1 {
	font-size:40px;
	font-weight:700;
	margin:0 0 30px 0;
	line-height:50px;
}

h2 {
	font-size:28px;
	font-weight:700;
	margin:0 0 30px 0;
	line-height:38px;
}

h3 {
	font-size:24px;
	font-weight:700;
	margin:0 0 20px 0;
	line-height:34px;
}

p {
	font-size:18px;
	margin:0 0 20px 0;
	line-height:28px;
}

ul, ol {
	margin:0 0 20px 25px;
}

a {
	color:#386b9f;
	text-decoration:none;
}

.clear {
	clear:both;
}

.container {
	width:96%;
	margin:0 auto;
	position:relative;
	max-width:1600px;
}

#header {
	position:relative;
	width:100%;
	z-index:999;
	height:140px;
}

#header .container {
	position:relative;
}

.logo {
	float:left;
	position:relative;
	margin:30px 0 0 0;
}

#header .menu {
	list-style-type:none;
	margin:45px 0 0 0;
	position:relative;
	float:right;
}

#header .menu li {
	display:inline-block;
	position:relative;
	margin:0 0 0 15px;
}

#header .menu li a {
	color:#fff;
	font-weight:300;
	text-transform:uppercase;
	text-decoration:none;
	font-size:20px;
	padding:15px 15px;
	display:inline-block;
}

#header .menu li.current-menu-item a {
	font-weight:700;
}

#header .menu li.cbtn {
	border:1px solid #fff;
}

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

#slider {
	position:relative;
	width:100%;
	height:100%;
	z-index:0;
	overflow:hidden;
	top:-155px;
	margin:0 0 -155px 0;
}

.banner {
	text-align:right;
	position:absolute;
	bottom:15%;
	right:100px;
	margin:0;
	padding:50px;
	width:520px;
	z-index:500;
	background:rgba(0,0,0,0.75);
}

.banner h2 {
	display:block;
	color:#fff;
	font-size:50px;
	line-height:60px;
	margin:0;
	font-weight:400;
}

.banner a {
	color:#fff;
	border:1px solid #fff;
	padding:20px;
	display:inline-block;
	margin:40px 0 10px 0;
	text-transform:uppercase;
}

#slider .cycle-slideshow {
	position:relative;
	width:100%;
	height:100%;
	z-index:0;
}

#slider .cycle-slideshow > div {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}

#slider .cycle-slideshow #slide1 {
	background:url(assets/slide1-new2.jpg) no-repeat top center fixed;
	background-size:cover;
	z-index:1;
}

#slider .cycle-slideshow #slide2 {
	background:url(assets/slide2.jpg) no-repeat center center fixed;
	background-size:cover;
	opacity:0;
}

#slider .cycle-slideshow #slide3 {
	background:url(assets/slide3.jpg) no-repeat center center fixed;
	background-size:cover;
	opacity:0;
}

#inner {
	top:-155px;
	margin:0 0 -155px 0;
	width:100%;
	clear:both;
	height:150px;
	background:url(assets/slide1-new2.jpg) no-repeat center center;
	background-size:cover;
	padding:250px 0 0 0;
	color:#fff;
	position:relative;
	z-index:0;
}

.inner h1,
.inner h3 {
	color:#fff;
	font-size:40px;
	line-height:1em;
	display:block;
	font-weight:700;
	text-align:center;
}

#content {
	padding:75px 0;
	position:relative;
	z-index:300;
}

#welcome {
	padding:125px 0;
	position:relative;
	z-index:100;
	background:#f3f3f3;
}

#welcome h1 {
	font-size:60px;
	line-height:70px;
	padding:20px 0 0 0;
	font-weight:400;
}

#welcome a {
	color:#333;
	border:1px solid #333;
	padding:20px;
	display:inline-block;
	margin:20px 0 0 0;
	text-transform:uppercase;
}

#secondary {
	padding:125px 0;
	position:relative;
	z-index:200;
	text-align:center;
}

#secondary h2 {
	font-size:60px;
	line-height:70px;
	padding:20px 0 0 0;
	font-weight:400;
}

#secondary img {
	margin:30px 0 0 0;
}

#para {
	width:100%;
	clear:both;
	height:800px;
	background:url(assets/para.jpg) no-repeat center center fixed;
	background-size:cover;
}

#bottom {
	padding:125px 0;
	position:relative;
	z-index:300;
}

#bottom h2 {
	font-size:60px;
	line-height:70px;
	padding:100px 0 0 0;
	font-weight:400;
}

#bottom a {
	color:#333;
	border:1px solid #333;
	padding:20px;
	display:inline-block;
	margin:20px 0 0 0;
	text-transform:uppercase;
}

.alignright {
	float:right;
	margin:0 0 50px 100px;
}

.alignleft {
	float:left;
	margin:0 100px 50px 0;
}

.serv {
	float:left;
	width:47%;
	margin:0 3% 30px 0;
}

.serv .alignright {
	float:right;
	margin:15px 0 30px 30px;
}

#form {
	width:55%;
	float:left;
	margin:0 0 30px 0;
}

#details {
	width:40%;
	float:right;
	margin:40px 0 30px 0;
}

.map {
	width:100% !important;
	height:350px;
	margin:15px 0 0 0;
	border:1px solid #eee !important;
}

.wpcf7 {
	width:100%;
	margin:0;
}

.wpcf7 textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"] {
	background:#f9f9f9;
	border:1px solid #ccc;
	color:#555;
	font-size:16px;
	width:96%;
	padding:10px 2%;
	font-family:'Roboto', Arial, sans-serif;
}

.wpcf7 textarea {
	width:100%;
	height:160px;
}

.req {
	color:red;
	font-weight:bold;
	font-size:1.3em;
}

.wpcf7-submit {
	color:#fff;
	background:#ed1b24;
	font-size:16px;
	display:block;
	border:none;
	padding:12px 30px;
	text-transform:uppercase;
	cursor:pointer;
}

.rgg-imagegrid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:12px;
}

.rgg-imagegrid a {
	display:block;
	min-height:240px;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}

#top-footer {
	padding:75px 0;
	background:#131313;
	color:#fff;
}

#top-footer h3 {
	font-size:32px;
	line-height:42px;
	margin:0 0 30px 0;
	color:#fff;
	font-weight:400;
}

.fcol-1 {
	width:33.33%;
	float:left;
	margin:0;
	text-align:left;
}

.fcol-3 {
	width:33.33%;
	float:right;
	margin:0;
	text-align:right;
}

.fcol-3 p {
	line-height:30px;
}

.fcol-1 ul {
	margin:0;
	list-style-type:none;
}

.fcol-1 ul li {
	padding:0;
	width:47%;
	float:left;
	margin:0 3% 5px 0;
}

.fcol-1 ul li a,
.fcol-3 a {
	color:#fff;
	text-decoration:none;
}

.fcol-2 {
	width:33.33%;
	float:left;
	margin:0;
	text-align:center;
}

.fcol-2 img {
	max-width:220px;
	height:auto;
	margin:65px 0 0 0;
}

#footer {
	padding:25px 0;
	background:#222;
	color:#eee;
}

#footer p {
	font-size:13px;
	text-align:center;
	width:100%;
	margin:0;
}

#footer p a {
	color:#eee;
	text-decoration:none;
}

@media only screen and (max-width: 1024px) {
	#header .menu {
		display:none;
	}
	#header {
		text-align:center;
		margin:50px 0 0 0;
		height:auto;
		background:#fff;
	}
	.logo {
		position:relative;
		margin:10px 0;
		float:none;
		max-width:200px;
	}
	#footer span.mhide {
		display:none;
	}
	#footer span.mblock {
		display:block;
	}
	.alignright, .alignleft {
		max-width:100%;
		height:auto;
		float:none;
		margin:0 0 30px 0;
	}
	#inner {
		height:100px;
		padding:200px 0 0 0;
	}
	.inner h1, .inner h3 {
		font-size:32px;
	}
	#welcome, #bottom {
		text-align:center;
	}
	.banner {
		width:100%;
		margin:0;
		left:0;
		text-align:center;
	}
}

@media only screen and (max-width: 800px) {
	#top-footer {
		padding:50px 0;
	}
	.fcol {
		width:96%;
		float:left;
		margin:0 2% 25px 2%;
		text-align:center;
	}
	.fcol ul {
		margin:0;
		list-style-type:none;
	}
	.fcol ul li {
		width:100%;
		float:none;
		text-align:center;
		padding:0;
		margin:0 0 5px 0;
	}
	#form, #details {
		width:100%;
		float:none;
		margin:0 0 40px 0;
	}
	#slider {
		height:600px;
		top:0;
		margin:0;
	}
	#inner {
		text-align:center;
	}
	#slider .cycle-slideshow {
		height:600px;
	}
	#slider .cycle-slideshow #slide1 {
		height:600px;
		background:url(assets/slide1-new2.jpg) no-repeat center center scroll;
		background-size:cover;
	}
	.fcol-2 img {
		max-width:250px;
		height:auto;
		margin:0;
	}
	#welcome {
		padding:75px 0;
	}
	#welcome h1 {
		font-size:40px;
		line-height:50px;
		padding:0;
		font-weight:400;
	}
	#welcome img {
		display:none;
	}
	#secondary {
		padding:75px 0;
		position:relative;
		z-index:200;
		text-align:center;
	}
	#secondary h2 {
		font-size:40px;
		line-height:50px;
		padding:0;
		font-weight:400;
	}
	#para {
		width:100%;
		clear:both;
		height:600px;
		background:url(assets/para.jpg) no-repeat center center;
		background-size:cover;
	}
	#bottom {
		padding:75px 0;
		position:relative;
		z-index:300;
	}
	#bottom h2 {
		font-size:40px;
		line-height:50px;
		padding:0;
		font-weight:400;
	}
	.banner {
		text-align:center;
		position:absolute;
		bottom:10%;
		right:0;
		margin:0 5%;
		padding:30px 2.5%;
		width:85%;
		z-index:500;
		background:rgba(0,0,0,0.75);
	}
	.banner h2 {
		display:block;
		color:#fff;
		font-size:30px;
		line-height:40px;
		margin:0;
		font-weight:400;
	}
	.banner a {
		color:#fff;
		border:1px solid #fff;
		padding:10px 20px;
		font-size:16px;
		display:inline-block;
		margin:20px 0 10px 0;
		text-transform:uppercase;
	}
	.serv {
		float:none;
		width:96%;
		margin:0 2% 30px 2%;
	}
	.serv .alignright {
		float:none;
		margin:0 0 20px 0;
	}
	.rgg-imagegrid {
		grid-template-columns:repeat(2, 1fr);
	}
	.rgg-imagegrid a {
		min-height:190px;
	}
}
