@import url(../fonts/GillSansMT-Light-fontfacekit/stylesheet.css);
@import url(../fonts/mrseaves-italic/stylesheet.css);

/*  ----------------------------------------------------------------------
  GENERAL REDECLARATIONS
  ---------------------------------------------------------------------- */

html				{height: 100%;}
* 					{margin:0; padding:0;}

body 				{
	text-align:center;
	background: #fff;
}

body, tr,
td, input,
select, textarea 	{font:normal 12px/20px Arial, Helvetica, sans-serif;color:#000;}

a {outline: none;}
a:link,
a:visited { color: #000000;text-decoration: none;}
a:hover,
a:active { color: #808080;text-decoration: none;}


ul, ol	 	{margin:0 0 10px 25px;}
dl 			{margin:0 0 10px;}
dt 			{font-weight:bold;}
dd			{margin:0 0 3px 10px;}
p 			{margin:0 0 15px;}
h1 			{font-size:28px; margin:0 0 12px;color: #999;font-family: 'GillSansMT-Light', Arial, Helvetica, sans-serif;font-weight: normal;}
h2 			{font-size:14px; margin:8px 0;}
h3 			{font-size:small; margin:6px 0 5px;}
h4 			{font-size:x-small; margin:6px 0 5px;}
h5			{font-size:xx-small; margin:3px 0;}
h6 			{font-size:xx-small; margin:0;}
hr 			{border-style: none; border-bottom: 1px dashed #e3e3e5; color: #fff; background-color: #fff;}
			/*color and background color should be the same as the background color of the div it is contained within*/
img 		{border:none;}
acronym		{border-bottom: 1px dotted;}
blockquote 	{margin:0 25px 20px 25px; font-style:italic;}

.clr		{clear: both;}
.clear-right{clear: right;}
.clear-left {clear: left;}
.right		{float: right;}
.left		{float: left;}
.rightimage {float: right; margin: 0 0 10px 10px;}
.leftimage {float: left; margin: 0 10px 10px 0;}
.intro {font-size: 15px; font-weight: normal;line-height: 1.4em;}
.hidden {display:none;}
.margin-left {margin-left: 9px;}
.margin-top {margin-top: 10px;}
.no-margin {margin:0;}
.inline {display:inline;float:none;}

/* new clearfix from http://perishablepress.com/press/2009/12/06/new-clearfix-hack/ */
.clearfix:after {
	visibility: hidden;
	overflow: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	width: auto;
	line-height: 0;
}
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

#preload {position: absolute;top: -1000px; left: -1000px;}

img.left	{margin-right:10px;}
img.right	{margin-left:10px;}
.red 		{color: #808080;}
#map 		{width: 450px;height: 300px;}

.special-font {
	font-family: "mrseavesitalic", times, serif;
	font-size: 18px;
}

h1.page-title {
	float: left;
	width: 718px;
	padding: 60px 0 32px 0px;
	margin-bottom: 68px;
	margin-left: 0px;
	margin-top: 48px;
	font-size: 33px;
	color: #999;
	text-transform: uppercase;
	color: #000;
	font-family: 'GillSansMT-Light', Arial, Helvetica, sans-serif;
	font-weight: normal;
	background: url("../images/dots.png") no-repeat 0 bottom;
}

a.download-link {display: block; padding: 2px 2px 2px 20px;cursor: pointer;background: url("../images/icons/pdf.gif") no-repeat 0 2px;}
.pdf-icon {background: url("../images/icons/pdf.gif") no-repeat 0 2px !important;}
.email-icon {background: url("../images/icons/email.gif") no-repeat 0 2px !important;}
.video-icon {background: url("../images/icons/video.gif") no-repeat 0 2px !important;}
.link-icon {background: url("../images/icons/link.png") no-repeat 0 2px !important;}

ul.styled li {
	list-style-type: none;
	color:#aaa;
	padding-bottom: 12px;
}



/*  ----------------------------------------------------------------------
  STANDARD LAYOUT
  ---------------------------------------------------------------------- */

#outer-wrapper {
	position: relative;
	background: #fff;
	width: 100%;
	text-align: center;
	margin: 0px auto;
	padding-top: 0px;
}  
  
#wrapper-top {
	position: relative;
	background: #fff;
	width: 960px;
	text-align: left;
	margin: 0px auto;
	padding-top: 0px;
}

#header {
	position: fixed;
	top: 28px;
	left: 50%;
	margin-left: -480px;
	width: 180px;
	height: 400px;
	z-index: 9999999999;
}

#header h1 {
	position: absolute;
	top: -400px;
	left: 0px;
	width: 180px;
	height: 180px;
	margin: 0px;
}

#header h1 a {
	background: transparent url("../images/logo.png") no-repeat center center;
	display: block;
	width: 180px;
	height: 180px;
	text-indent:-9999em;
}

#logo{
	width: 180px;
	height: 180px;
	overflow: hidden;
}
#logo a,
#logo img {
	display: block;
}

.content-wrapper {
	position: relative;
	background: #fff;
	width: 100%;
	text-align: center;
	padding-top: 0px;
}

.content {
	width: 960px;
	position: relative;
	padding-left: 180px;
	height:auto;
	margin: 0px auto;
	text-align: left;
}

.content-main {
	position: relative;
	width: 726px;/* extra 2 is for borders on portfolio boxes */
	min-height: 1400px;
	text-align: left;
	margin: 0 auto;
	padding: 0px 0px 200px 234px;
}
* html .content-main {
	height: 1400px;
}

.content-side {
	float:right;
	width: 230px;
	padding: 0px 0px 50px 50px;
	margin: 0;
	height:100%;
}


body.two-col #content-main {
	float:left;
	width: 600px;
}

.back-to-top {
	display: none;
}

/*----------------------------------
	SPECIFIC PAGE OVERRIDES
-----------------------------------*/

body#page-splash {
	background: url("../images/bg-splash.jpg") no-repeat center top;
	background: url("../images/bg-cubes.jpg") no-repeat center top;
	background-size: cover; /* CSS 3 magic trick */
}
body#page-splash h2 {
	font-family: "mrseavesitalic", times;
	font-size: 24px;
	font-weight: normal;
	padding-top: 2px;
	color: #000;
}

body#page-splash #wrapper {
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 0;
	overflow: visible;
	visibility: visible;
	display: block;
	
}
      
body#page-splash #content {
	margin-left: 0;  /* must be half of content width */
	position: absolute;
	top: -288px; /* must be half of content height */
	left: 0%;
	width: 100%;
	height: 575px;
	padding: 0px;
	visibility: visible;
	text-align: center;
	background: url("../images/opacity/splash-nav-opacity-white.png") repeat-x 0 bottom;
}

.content-main.page-welcome {
	padding-top: 20px;
}
a#welcome-anchor {position: absolute;top: 0px;left: 0px;}
.content-main.page-about h1.page-title  {margin-bottom: 63px;}

#about-anchor,
#identity-anchor,
#print-anchor,
#web-anchor,
#contact-anchor {padding-top:3px;}

.page-contact .content-side {
	min-height: 100px;
	padding-bottom: 0px;
	padding-top: 0px;
}
* html .page-contact .content-side {
	height: 100px;
}

.content-wrapper.page-contact  {
	min-height: 410px;
	background: url("../images/contact-page-image.jpg") no-repeat center 0;
	background: url("../images/bg-cubes-light.jpg") no-repeat center 0;
	background-size: cover;
}
* html .content-wrapper.page-contact  .content-main {
	height: 410px;
}
.page-contact .content-main {min-height: 420px;padding-bottom: 150px !important;}

.page-contact .messages.success {
	margin-bottom: 130px;
}

.facebook {
	float: right;
	width: 149px;
	height: 30px;
	margin-right: 100px;
	text-indent: -9000px;
	overflow: hidden;
	background: url("../images/facebook.png") no-repeat 0 0;
}

a.facebook:link, a.facebook:visited {
	background-position: 0 0; 
}
a.facebook:hover, a.facebook:active {
	background-position: 0 -30px; 
}

.contact-details {
	float: left;
	padding-top: 50px;
}

.contact-details span {
	display: inline-block;
	width: 15px;
}

.portfolio-borders {
	border: 0px solid #000;
	position: absolute;
	left: 234px;
	top: 228px;
	height: 450px;
	width: 720px;
	z-index: 10;
}

/* side-scrolling styles added in script so can still see all with script disabled */
.portfolio-wrapper {
	overflow-x: hidden;/* for portfolios */
	width: 722px;/* for mobile */
}

.portfolio-item {
	padding-right: 20px;
	width: 722px;
}

.portfolio-box {
	float: left;
	width: 720px;
	height: 450px;
	border: 1px solid #fff;	
	margin-bottom: 50px;
}

.portfolio-box div {
	display: table-cell;
	width: 720px;
	height: 450px;
	text-align: center;
	vertical-align: middle;
}


.portfolio-box div img {
	vertical-align: middle;
}

/*\*//*/
* html .portfolio-box div {
	display: block;
}
* html .portfolio-box span {
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	width: 1px;
}
* html .portfolio-box div  {
	font-size: 1px;
}
/* non serve solito shift background-position: 11px 11px per IE/Mac, forse perche' su inline-block? */
.portfolio-box  div {
	border-collapse: collapse; /* Op7 */
}


.portfolio-item h2 {text-transform: uppercase;/*margin-top: 30px;*/margin-bottom: 20px;}
.portfolio-description {width: 520px;}

a.arrow-left,
a.arrow-right {
	position: absolute;
	width: 35px;
	height: 35px;
	text-indent: -9000px;
	top: 443px;
	left: 226px;
	background: url("../images/arrows.png") no-repeat 0 0;
	z-index: 100;
}
a.arrow-right {background-position: -35px 0;left: 928px;}
a.arrow-left:hover {background-position: 0 -35px;}
a.arrow-right:hover {background-position: -35px -35px;}
.no-js a.arrow-left,
.no-js a.arrow-right {
	display: none;
}

a.tandcs {
	float:left;
	text-decoration:underline;
	margin-top:10px;
	font-size:11px;
}

/*----------------------------------
	FOOTER
-----------------------------------*/

#footer {
	clear:both;
	width: 100%;
	height: 400px;
	font-size:10px;
	background:#000;
	color: #fff;
	text-align: left;
}

#footer  a:link, #footer  a:visited {color: #fff;} 
#footer  a:hover, #footer  a:active {color: #808080;} 


#footer p#contact-details {
	width: 700px;
	margin: 0 auto;
	padding-left: 210px;
	padding-top: 20px;
	font-family: "mrseavesitalic", times, serif;
	font-size: 18px;
}

/*----------------------------------
	FORM STYLING 
-----------------------------------*/

form {
	width: 322px;
	margin-top:10px;
	padding-bottom: 40px;
}

form hr {
  clear: both;
  border: 0px;
  border-top: 1px solid #ccc;
  margin-top: 10px;
  margin-bottom: 10px;
}

form h3 {
 	margin-bottom:6px;
	padding: 2px; 
}

form .hidden {
  text-indent: -9000px;
}

form input[type="hidden"] {
  display: none;
}

form br {clear:left;}

/*fieldset {
	margin-top: 12px;
	margin-bottom:20px;
	border: 1px solid #51B52D;
	padding: 10px;
	width: 400px;
}*/

label, input, textarea, .radiolabel {
	display:block;
	float:left;
  	width:282px;
	margin-bottom:0px;
	padding: 2px;
}

input[type="checkbox"] {
  width: auto;
  border: none;
}

input.checkbox {
  width: auto;
  border: none;
}

form span {
 /* color: #FF0000;*/
  color: #999;
  font-size: 10px;
}

legend {
  color: #518CF2;
  font-weight: bold;
}

label {
	width:180px;
	text-align:left;
	padding-right:10px;
	padding-top:2px;
	padding-left: 0px;
	font-weight: bold;
	display: none;
}

input, textarea{
	border: 0px solid #999;
	width: 360px;
	margin-bottom: 2px;
	padding: 4px 8px;
	background: #fff;
}

input.short {width: 40px;}

input.noborder {border: none;} 

textarea {
  width: 360px;
  height: 150px;
  margin-bottom: 6px;
}

select {margin-bottom: 6px;}
option {padding-right: 10px;}

.fieldWithErrors input{
	background-color: #FCC;
}

input.button {
	float: right;
	width: auto;
	text-align: center;
	text-transform: uppercase;
	//margin: -36px -54px 10px 0px;
	margin: 0px -54px 10px 0px;
	padding: 4px;
	background: #000;
	color: #DCDCDC;
	font-size: 12px;
	font-weight: bold;
}
input.button:hover		{cursor: pointer;background:#666;border: 0px solid #666;}

.failed-validation {background: #FF8888;}

/*----------------------------------
	TABLE STYLING
-----------------------------------*/

table.data {
	margin-bottom: 10px;
}

table.data td {
	vertical-align: top;
	padding: 1px;
	border-bottom: 1px solid #B1460E;
}

td.bold {
	font-weight: bold;
	color: #F57E3D;
}

/* ----------------------------------------------- 
		NOTICES
----------------------------------------------- */

#error,
.error {
	background: #FF4E4E;
	border: 3px solid #FF7C7C;
	padding: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

#success,
.success {
	background: #BBEECC;
	border: 3px solid #7AC593;
	padding: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

.messages ul {
	margin-bottom:0;
	margin-top:0;
}
/* green */
.messages.success {
	background: #BBEECC;
	border: 3px solid #E3FFED;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
	clear: left;
}
/* red */
.messages.error{
	background: #FF4E4E;
	border: 3px solid #FF7C7C;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
	clear: left;
}
/* orange */
.messages.warning {
	background: #ff9900;
	border: 3px solid #FF7722;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
	clear: left;
}

/* 	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 
		MODULE STYLING
	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 		
----------------------------------------------- */

/* ----------------------------------------------- 
		FAQS EXPAND-COLLAPSE STYLING - use this when we have a module built. As seen in Shark Shield and OLoughlins
		Use snippet of application.js or add it to three.js?
----------------------------------------------- */

.expand-collapse h3:hover {cursor: pointer;}

.expand-collapse h3 span {
	padding:0 15px;
	display:inline;
	background-position:5px -3px;
	background-repeat:no-repeat;
	background-image:url("../images/expand.png");
}

.expand-collapse h3.expanded span {
	background-image:url("../images/retract.png");
}

/* ----------------------------------------------- 
		LINKS MODULE
----------------------------------------------- */

img.link-group-photo {float: left;margin: 0 10px 10px 0;padding: 2px;border: 1px solid #ccc;}
.link-group,
.links-wrapper {clear: left;margin-bottom: 20px;width: 100%;height: auto; float: left}
.link-group {border-bottom: 1px dashed #ccc;}
.links-wrapper ul {list-style: none;margin-left: 0px;}
.links-wrapper ul li {clear: left;height: auto;float: left;width: 100%;}
.links-wrapper ul li img {float: left;margin: 0 10px 10px 0;padding: 2px;border: 1px solid #ccc;}
p.link-description,
p.link-url {margin-top: 0px;margin-bottom: 0px;}

/*----------------------------------
	BANNER MODULE
-----------------------------------*/

#header-banner {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 468px;
	height:60px;
	border: 1px solid #ccc;
	overflow:hidden;
}

/*----------------------------------
	BLOGS
-----------------------------------*/

.blog-item {border-bottom: 1px solid #ccc;margin-bottom: 20px;}
.blog-item h2 {margin-bottom: 0px;}
.blog-item .item-image {margin: 0 10px 10px 0;}
h3.posted {color: #444;font-size: 11px;margin-top: 0px;}

/*----------------------------------
	BREADCRUMBS
-----------------------------------*/

ul.breadcrumbs {
	margin:0;
	list-style-type:none;
	list-style-image:none;
	padding: 0.5em 0 0.5em 0;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}

ul.breadcrumbs li {
	display:inline;
	margin-right:5px;
	font-size: 11px;
}

/*----------------------------------
	FORMS MODULE 
-----------------------------------*/

.form-item label {width: 100px;}

.form-item {
	padding:0.5em 0;
	margin-bottom:0.5em;
}

.form-item textarea {

}

.form-item.required {

}

.form-item.error {
	
}

.form-item .description {
	font-style:normal;
	margin-left:190px;
	clear:left;
}

.form-item input.error, .form-item textarea.error {
	border-color:#E74A4A;
	border-style:solid;
	border-width:1px;
}

.radiolabel {font-weight: normal;}

.radio-group-wrapper {margin-left: 190px;}

.radio-group-wrapper input {
	margin: 4px 5px 0 0;
	width: auto;
}

.form-buttons input {width: auto;}

/*----------------------------------
	SEARCH RESULTS
-----------------------------------*/



