/*	Less Framework 4 with 16/24 type presets
	http://lessframework.com
	by Joni Korpi
	License: http://opensource.org/licenses/mit-license.php	*/



/*	Resets
	------	*/

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

article, aside, canvas, figure, figure img, figcaption, hgroup,
footer, header, nav, section, audio, video {
	display: block;
}

a img {border: 0;}



/*	Typography presets
	------------------	*/

.gigantic {
	font-size: 110px;
	line-height: 120px;
	letter-spacing: -2px;
}

.huge, h1 {
	font-size: 68px;
	line-height: 72px;
	letter-spacing: -1px;
}

.large, h2 {
	font-size: 36px;
	line-height: 100%;
}

.bigger, h3 {
	font-size: 26px;
	line-height: 36px;
}

.big, h4 {
	font-size: 22px;
	line-height: 30px;
}

body {
	font: 16px/24px Georgia, serif;
}

.small, small {
	font-size: 13px;
	line-height: 18px;
}

/* Selection colours (easy to forget) */

::selection 	 	{background: rgb(255,255,158);}
::-moz-selection 	{background: rgb(255,255,158);}
img::selection 		{background: transparent;}
img::-moz-selection	{background: transparent;}
body {-webkit-tap-highlight-color: rgb(255,255,158);}



/*		Default Layout: 992px. 
		Gutters: 24px.
		Outer margins: 48px.
		Leftover space for scrollbars @1024px: 32px.
-------------------------------------------------------------------------------
cols    1     2      3      4      5      6      7      8      9      10
px      68    160    252    344    436    528    620    712    804    896    */

body {
	width:100%;
	-webkit-text-size-adjust: 100%; /* Stops Mobile Safari from auto-adjusting font-sizes */
}

a{
	 font-family: Arial, Helvetica, sans-serif;
	
}

p, h1, h2, h3, h4{
	 font-family: Arial, Helvetica, sans-serif;
	 line-height:100%;
	 padding:0px;
	 margin:0px;
	 display:block;
	
}



#container{
	width:100%;
	position:absolute;
	top:0px;
	left:0px;
	}

#top_banner_1{
	position:relative;
	width:100%;
	height:80px;
	clear:both;
	float:left;
	background-color:rgba(0,0,0,0.4);
}

#top_banner_1_container{
	display:block;
	width:80%;
	height:80px;
	margin:0 auto 0 auto;
	
}



#tel_no{
	display:block;
	width:auto;
	float:right;
}


#tel_no p{
	color:rgb(255,255,255);
	text-align:right;
	font-size:28px;
	padding:26px 0 0 26px;
	
}



#social{
	display:block;
	width:auto;
	float:right;
	color:rgb(255,255,255);
	
}


#social i{
	 font-size:40px;
	 padding:20px 0px 0px 20px;
	 text-align:right;
	 color:rgb(255,255,255);
	 transition: 0.5s color;
}


#social a:hover i{
	 color:rgba(0,0,0,0.6);
}




#top_banner_2{
	position:relative;
	width:100%;
	min-height:80px;
	clear:both;
	float:left;
	background-color:rgb(255,255,255);
	
}


#top_banner_2_container{
	display:block;
	width:80%;
	height:80px;
	margin:0 auto 0 auto;
	
}




#top_banner_2_title{
	display:block;
	position:relative;
	float:left;
	width:auto;
	
}

#top_banner_2_title h2{
	color:rgba(0,0,0,0.4);
	padding:22px 0 0 0;
	font-size: 36px;  /*over-ride h2 setting*/
}





#mobile_menu_wrapper{
	display:none;
	background-color:rgb(255,255,255);
	
}

#mobile_menu_wrapper i{
	margin-left:10px;
	
}


#mobile_menu_holder{
	
}

.to-be-changed{
	display:none;
}




#top_menu{
	display:block;
	position:relative;
	float:right;
	padding:15px 0 0 0;
	
}








/*#########################################  MENU NAVIGATION    ##################*/




.nav{

}

.nav ul {
 
  list-style: none;
  /*background-color: #444;*/
  text-align: center;
  
  padding:0 0 0 0;
  margin: 0;
}

.nav li {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 1.2em;
  line-height: 40px;
  height: 40px;
  /*margin:25px 0 25px 0;*/
  border-bottom: 1px solid #888;
}
 
.nav a {
  text-decoration: none;
  color:rgba(0,0,0,0.4);
  display: block;
  transition: .5s background-color;
  padding:0 10px 0 10px;
}
 
.nav a:hover {
  background-color: rgba(0,0,0,0.6);
  color:rgb(255,255,255);   
}
 
.nav a.active {
  background-color:rgba(0,0,0,0.4);
  color: #fff;
  cursor: default;
}


/*########################## top toggle menu for mobile #####*/

input[type=checkbox] {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

label {
	display: block;
	padding: 5px 0 5px 0px;
	color: white;
	border-bottom: 1px solid #888;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1.2em;
    width:100%;
	background-color:rgb(0,0,0);
	text-align:left;
}

	input[type=checkbox]:checked ~ .to-be-changed {   /*toggles the mobile menu on and off*/
		display:block;
	}



/*########################## top toggle menu for mobile #####*/



 
@media screen and (min-width: 769px) {  /*on larger screens above 768px, show menu buttons as inline - see also media queries below for smaller screens */

 
	/*########   MENU RESPONSIVE ######*/


	 .nav li {
	    /*width: 120px;*/
	    border-bottom: none;
	    height: 50px;
	    line-height: 50px;
	    font-size: 1.0em;
	    }
	 
	  /* Option 1 - Display Inline */
	 .nav li {
	    display: inline-block;
	    margin-right: -4px;
	  }

   /*########   END MENU RESPONSIVE ######*/

 
  
}

/*#########################################  END MENU NAVIGATION    ##################*/





#main_pic{
	width:100%;
	display:block;
	clear: both;
	position:relative;
}




#main_pic img{
	display:block;
	width:100%;
	
}



#main_pic_caption_container{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	min-height:0px;
	margin:0 auto 0 auto;
	background-color:rgba(0,0,0,0.6);
	z-index:999;

}



#main_pic_caption_container h3{
	font-size:32px;
	text-align: center;
	width:100%;
	padding:40px 0 10px 0;
	color:rgb(255,255,255);
	line-height:1.25;
	-webkit-animation: fadein 6s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 6s; /* Firefox < 16 */
        -ms-animation: fadein 6s; /* Internet Explorer */
         -o-animation: fadein 6s; /* Opera < 12.1 */
            animation: fadein 6s;
	
	
}



#main_pic_caption_container h4{
	font-size:20px;
	text-align: center;
	width:100%;
	padding:40px 0 20px 0;
	color:rgb(255,255,255);
	line-height:1.25;
	-webkit-animation: fadein 6s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 6s; /* Firefox < 16 */
        -ms-animation: fadein 6s; /* Internet Explorer */
         -o-animation: fadein 6s; /* Opera < 12.1 */
            animation: fadein 6s;


}



#main_pic_intro{
	position:absolute;
	top:250px;
	left:50%;
	padding:20px;
	margin:0 10% 0 0;
	background-color:rgba(0,0,0,0.6);
	z-index:999;
}


#main_pic_intro p{
	font-size:16px;
	line-height:125%;
	padding:6px 0 6px 0;
	text-align: justify;
	color: rgb(255,255,255);
	
}


#main_pic_intro_mobile{
	display:none;
	position:relative;
	clear:both;
	float:left;
	padding:20px;
	margin:0;
	background-color:rgba(0,0,0,0.6);
	
}


#main_pic_intro_mobile p{
	font-size:16px;
	line-height:125%;
	text-align: justify;
	color: rgb(255,255,255);
	
}




#main_pic_intro a{
	font-style:italic;
	text-decoration:none;
	border-bottom:1px;
	border-bottom:white;
	color:rgb(255,255,255);
	transition:0.5s color;	
}


#main_pic_intro a:hover{
	color:#999999;	
}

#main_pic_intro_mobile a{
	font-style:italic;
	text-decoration:none;
	border-bottom:1px;
	border-bottom:white;
	color:rgb(255,255,255);
	transition:0.5s color;	
}


#main_pic_intro_mobile a:hover{
	color:#999999;	
}





.banner_grey{
	position:relative;
	width:100%;
	clear:both;
	float:left;
	background-color:rgba(0,0,0,0.4);
}



.banner_grey p{
	font-size:24px;
	line-height:150%;
	margin:40px 15% 40px 15%;
	text-align:center;
	color: rgb(255,255,255);
}

.banner_grey h2{
	color: rgb(255,255,255);
	padding:20px 0px 0 0px;
	margin:0 0 0 10%;
}


.banner_white{
	position:relative;
	width:100%;
	clear:both;
	float:left;
	background-color:rgb(255,255,255);
}



.banner_white p{
	font-size:24px;
	line-height:150%;
	margin:40px 15% 40px 15%;
	text-align:center;
	color: rgba(0,0,0,0.4);
}

.banner_white h2{
	color: rgba(0,0,0,0.4);
	padding:20px 0px 0 0px;
	margin:0 0 0 10%;
}




/*######################Responsive Grid#################*/



ul.rig {
	list-style: none;
	font-size: 0px;
	margin-left: -2.5%; /* should match li left margin */
}
ul.rig li {
	display: inline-block;
	padding: 10px;
	margin: 0 0 2.5% 2.5%;
	background: #fff;
	border: 1px solid #ddd;
	font-size: 16px;
	font-size: 1rem;
	vertical-align: top;
	box-shadow: 0 0 5px #ddd;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}



ul.rig li img {
	max-width: 100%;
	height: auto;
	margin: 0 0 10px;
}
ul.rig li h3 {
	margin: 0 0 5px;
	font-size:20px;
	color: #999;
}
ul.rig li p {
	font-size: .9em;
	line-height: 1.5em;
	color: #999;
}



/* class for 2 columns */
ul.rig.columns-2 li {
	width: 47.5%; /* this value + 2.5 should = 50% */
}



/* class for 3 columns */
ul.rig.columns-3 li {
	width: 30.83%; /* this value + 2.5 should = 33% */
}
/* class for 4 columns */
ul.rig.columns-4 li {
	width: 22.5%; /* this value + 2.5 should = 25% */
}
 
@media (max-width: 480px) {
	ul.grid-nav li {
		display: block;
		margin: 0 0 5px;
	}
	ul.grid-nav li a {
		display: block;
	}
	ul.rig {
		margin-left: 0;
	}
	ul.rig li {
		width: 100% !important; /* over-ride all li styles */
		margin: 0 0 20px;
	}
}


/*######################Responsive Grid#################*/





/*style for scrolling images to fade in*/
.star {
    visibility: hidden;
    width:100%;
}


.fadeIn {
    -webkit-animation: animat_show 1s;
    -moz-animation: animat_show 1s;
	animation: animat_show 1s;
    visibility: visible !important;
}



@keyframes animat_show{
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes animat_show{
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadanimat_showein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes animat_show{
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes animat_show{
    from { opacity: 0; }
    to   { opacity: 1; }
}


/*end style for scrolling images to fade in*/





#grid_container_1{
	position:relative;
	width:100%;
	clear:both;
	float:left;
	background-color:rgb(255,255,255);
	
	
}

#grid_container_1_columns{
	display:block;
	position:relative;
	width:80%;
	margin:0 auto 0 auto;
	padding:20px 0 0px 0;
	
}






#grid_container_2{
	position:relative;
	width:100%;
	min-height:600px;
	clear:both;
	float:left;
	background-color:rgb(255,255,255);
	
	
}

#grid_container_2_columns{
	display:block;
	position:relative;
	width:80%;
	min-height:600px;
	margin:0 auto 0 auto;
	padding:30px 0 30px 0;
		
}



#grid_container_2_columns ul.rig.columns-2 li {
	border:none;
	box-shadow:none;
	padding:0px;
	margin:0 0 0 2.5%;
		
}



#grid_panel_grey{
	position:relative;
	width:100%;
	min-height:200px;
	clear:both;
	float:left;
	margin-top:20px;
	background-color:rgba(0,0,0,0.4);
}



#grid_panel_grey p{
	font-size:20px;
	line-height:150%;
	margin:20px;
	text-align:left;
	color: rgb(255,255,255);
}

#grid_panel_grey h2{
	font-size:24px;
	text-align:left;
	color: rgb(255,255,255);
	padding:20px 20px 0 20px;
	margin:0;
}





#facebook_page_plugin{
	display:block;
	position:relative;
	width:50%;
	float:right;
}





#bottom_banner{
	position:relative;
	width:100%;
	clear:both;
	float:left;
	background-color:rgb(192,192,192);
}



#bottom_banner p{
	font-size:24px;
	line-height:150%;
	margin:40px 15% 40px 15%;
	text-align:center;
	color: rgba(0,0,0,0.6);
}


#bottom_banner p span{
	background-color:rgba(0,0,0,0.4);
	padding:10px 15px 10px 15px;
	transition:0.5s background-color
}


#bottom_banner a{
	text-decoration:none;
	color:rgb(255,255,255);
	
}

#bottom_banner a:hover{
	text-decoration:none;

}

#bottom_banner a:hover span{
	background-color:rgba(0,0,0,0.6);

}





#bottom_banner a:visited{
	text-decoration:none;
}



#footer{
	position:relative;
	width:100%;
	clear:both;
	float:left;
	background-color:rgba(0,0,0,1);
	padding-bottom:10px;
}



#footer_container{
	display:block;
	clear:both;
	position:relative;
	margin:0 auto 0 auto;
	padding:0px 0 20px 0;
	width:80%;
}

#footer_container p{
	font-size:16px;
	font-family:Arial, Helvetica, sans-serif;
	color:rgb(255,255,255);
	line-height:150%;
}


#footer_container h4{
	color:rgb(255,255,255);
	line-height:200%;
	color: #999999;
}



#footer_address{
	display:block;
	float:left;
	width:33.33%;
}





#footer_contact{
	display:block;
	float:left;
	width:33.33%;
	text-align:center;
}

#footer_contact i{
	 font-size:30px;
	 padding:20px 10px 0px 10px;
	 text-align:right;
	 color:rgb(255,255,255);
	 transition: 0.5s  color;
}


#footer_contact a{
	text-decoration:none;
	color:rgb(255,255,255);
	
	 
}


#footer_contact a:hover i{
	color:#999999;
	
	 
}



#footer_nav{
	display:block;
	float:left;
	width:33.33%;
	text-align:right;

}

#footer_nav li a{
	text-decoration:none;
	color:rgb(255,255,255);
	transition: 0.5s  color;
	 
}

#footer_nav li a:hover{
	color:#999999;
	
	 
}




#footer_copyright{
	position:relative;
	width:100%;
	height:60px;
	clear:both;
	float:left;
	background-color:rgba(0,0,0,0.4);

}


#footer_copyright p{
	text-align:center;
	color: rgb(255,255,255);
	font-size:16px;
	padding:22px 0 22px 0;
	

}


/*###############Design Page#########################*/



#code_list{
	padding:20px 0px 20px 10px;
}

#code_list li{		
	
	font-size:16px;
	font-weight:bold;
	line-height:125%;
	display:list-item;
	text-decoration:none;
	border:none;
	box-shadow:none;
	list-style: disc;
	padding: 5px 0 0 10px;
	margin:0 0 0 20px;
	font-family:Arial, Helvetica, sans-serif;
	color: rgba(0,0,0,0.4);
	width:auto;
	
}


#code_list h3{
	color: rgba(0,0,0,0.4);
	margin: 0 0 5px;
	font-size:20px;
}

/*###############Design Page#########################*/






/*########################################  RESPONSIVE MEDIA QUERIES   ##########################*/



/*		Custom: 768 - 1024 px  (IPADS?)
		Inherits styles from: Default Layout, Mobile Layout.
*/

@media only screen and (min-width: 768px) and (max-width:1024px) {


}







/*		Tablet Layout: 768px.
		Gutters: 24px.
		Outer margins: 28px.
		Inherits styles from: Default Layout.
-----------------------------------------------------------------
cols    1     2      3      4      5      6      7      8
px      68    160    252    344    436    528    620    712    */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	
		
	
	#mobile_menu_wrapper{
		display:block;
	}
	

	#top_menu{			/*hide top menu*/
		display:none;

	}
	
	
	#main_pic_intro{
		position:absolute;
		bottom:0px;
		left:0;		
		margin:0 auto 0 auto;
		padding:20px;
		height:auto;
		background-color:rgba(0,0,0,0.6);
		z-index:999;
	}
	
	#contact_form{
		display:none;
}

	
		
}



/*		Mobile Layout: 320px.
		Gutters: 24px.
		Outer margins: 34px.
		Inherits styles from: Default Layout.
---------------------------------------------
cols    1     2      3
px      68    160    252    */

@media only screen and (max-width: 767px) {
	
		
	
	
	#mobile_menu_wrapper{
		display:block;
	}
	

	#top_menu{			/*hide top menu*/
		display:none;
	}	
	
		
	#top_banner_1{
		height:auto;
	}

	
	
	#top_banner_1_container{
		height:auto;
	}
	

	#social i{
		font-size:20px;
		padding:10px 0px 10px 10px;
	}
	
	 #tel_no{
		padding:0px;
		margin:0px;
		float:left;
	}

	
	 
	 #tel_no p{
		font-size:14px;
		padding:15px 0px 10px 0px;
		margin:0px;
	}


	#top_banner_2{
		min-height:20px;
		height:auto;
		padding:0px;
		margin:0px;
	}

	
	
	#top_banner_2_container{
		height:auto;
		padding:0px;
	}


	#top_banner_2_title{
		height:auto;
		padding:0px;
	}


	#top_banner_2_title h2{
		font-size:22px;
		padding:10px 0 10px 0;
		text-align:center;
		margin:0px;
		
	}
	
	#main_pic_caption_container h3{
		font-size:16px;
		padding:10px 0 10px 0;
	}
	
	

	
	
	#main_pic_caption_container h4{
		/*font-size:12px;*/
		display:none;
	}

	 
	 
		
	#main_pic_intro{
		display:none;
	}

	#main_pic_intro_mobile{
		display:block;
	}
	
	#contact_form{
		display:none;
	}
	
	.banner_grey p{
		font-size:16px;
		line-height:125%;
		margin:20px 10% 20px 10%;
		text-align:center;
		color: rgb(255,255,255);
	}
	
	.banner_grey h2{
		font-size:20px;
		color: rgb(255,255,255);
		padding:20px 0px 0 0px;
		margin:0 0 0 5%;
	}
	
	
		ul.rig li h3{
		font-size:16px;
	}

	
	ul.rig li p{
		font-size:12px;
	}
	
	
	#code_list li{		
		font-size:12px;
		line-height:100%;
		padding: 5px 0 0 0px;
}


#code_list h3{
	font-size:16px;
}

	
	
	
	#grid_panel_grey p{
		font-size:16px;
		line-height:125%;
		margin:20px;
		text-align:left;
		color: rgb(255,255,255);
	}

	#grid_panel_grey h2{
		font-size:20px;
		text-align:left;
		color: rgb(255,255,255);
		padding:20px 20px 0 20px;
		margin:0;
	}


	#bottom_banner p{
		font-size:20px;
		line-height:125%;
		margin:20px 10% 20px 10%;
		text-align:center;
		color: rgba(0,0,0,0.6);
	}

	
	
	#footer_address{
		width:100%;
		border-bottom:1px solid gray;
		text-align:center;
		padding-bottom:10px;
	}
	
	#footer_contact{
		width:100%;
		border-bottom:1px solid gray;
		text-align:center;
		padding-bottom:10px;
	}
	
	#footer_nav{
		width:100%;
		text-align:center;
		padding-bottom:10px;
	}
	

	
		
	
}



/*		Wide Mobile Layout: 480px.
		Gutters: 24px.
		Outer margins: 22px.
		Inherits styles from: Default Layout, Mobile Layout.
------------------------------------------------------------
cols    1     2      3      4      5
px      68    160    252    344    436    */

@media only screen and (min-width: 480px) and (max-width: 767px) {
	
	
	#mobile_menu_wrapper{
		display:block;
	}
	

	#top_menu{			/*hide top menu*/
		display:none;

}


	#main_pic_intro{
		position:absolute;
		bottom:0px;
		left:0;		
		margin:0 auto 0 auto;
		padding:20px;
		height:auto;
		background-color:rgba(0,0,0,0.6);
		z-index:999;
	}
	
	#contact_form{
		display:none;
	}




/*	Retina media query.
	Overrides styles for devices with a 
	device-pixel-ratio of 2+, such as iPhone 4.
-----------------------------------------------    */

@media 
	only screen and (-webkit-min-device-pixel-ratio: 2),
	only screen and (min-device-pixel-ratio: 2) {
	
	body {
	
	}
	
}