
/* -------------------------------------------------------------
======	RESET
------------------------------------------------------------- */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block}
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
:hover, :focus, :active { outline: none; }




body { margin: 0; font-size: 15px; line-height: 1.4; }

a { color: #e30613; font-weight: normal;
	cursor: pointer;  text-decoration: none;
	transition:color 0.2s ease; -moz-transition:color 0.2s ease; -webkit-transition:color 0.2s ease; -o-transition:color 0.2s ease;}

a:hover { color: #fff; text-decoration: none; background: #e30613; }




::-moz-selection { background: #2d5fa4; color: #fff;  }
::selection { background: #2d5fa4; color: #fff; }	

p{margin: 0 0 1em; }
p:last-child {margin-bottom: 0;}

a:visited{opacity:0.9;}
a:active, a:focus{position:relative;top:0px;}
abbr[title]{border-bottom:1px dotted}
dfn{font-style:italic}
hr{display:block; height:1px; border:0; border-top:1px solid #ddd; margin:1em 0; padding:0}
pre, code, kbd, samp{font-family:monospace,monospace; _font-family:'courier new',monospace; font-size:1em}
q{quotes:none}
q:before, q:after{content:""; content:none}
blockquote { margin: 1em 1em 1em 0; padding: 1em; border-left: 1px solid #DDD; font-style: italic; color: #999;}
blockquote p {font-size: 1.1em;line-height: 2em;margin-bottom: 0;}
blockquote small {display: block;font-size: 1em;line-height: 1.6em;color: #bfbfbf; text-align: right;}
blockquote small:before {content: '\2014 \00A0';}
b, strong{font-weight:700}
small{font-size:85%; color: #999;}
sub, sup{font-size:75%; line-height:0; position:relative; vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
dd{margin:0 0 0 0px} dt{font-weight: normal;}

ul, ol{list-style:none; list-style-image:none; margin:0; padding:0;}
ul.b {list-style-position:inside;list-style:disc;margin-left:15px; padding:0; }
li {padding:0.5em;line-height: 1.1;} 
img{border:0px solid #fff;; -ms-interpolation-mode:bicubic; vertical-align:middle}

svg:not(:root){overflow:hidden}
figure{border-left:6px solid #fff;;margin:0px;}
form{margin:0}
fieldset{border:0; margin:0; padding:0}
label{cursor:pointer}
legend{border:0; *margin-left:-7px; padding:0;white-space: normal;}
button, input, select, textarea{font-size:100%; margin:0; vertical-align:baseline; *vertical-align:middle}
button, input{line-height:normal; *overflow:visible}
table button, table input{*overflow:auto}
button, input[type="button"], input[type="reset"], input[type="submit"]{cursor:pointer; -webkit-appearance:button}
input[type="checkbox"], input[type="radio"]{box-sizing:border-box}
input[type="search"]{-webkit-appearance:textfield; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box}
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner, input::-moz-focus-inner{border:0; padding:0}
textarea{overflow:auto; vertical-align:top; resize:vertical}
table{border-collapse:collapse; border-spacing:0}


.chromeframe { margin: 1em 0; background: red; color: black; padding: 1em; }

form{margin-top: 2em;}
form li{margin-bottom: 1.5em;}
label{display: block; margin-bottom:1em; font-weight: 700;}
input, select, textarea {
	border: 1px solid #DDD;
	color: #777;
	font-size: 1em;
	padding: 1em;
	width:60%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	*behavior: url(/js/boxsizing.htc); }
textarea{padding: 1em; min-height:15em; height: auto; width: 100%; }
input, textarea {
 -moz-transition: border .25s;
 -webkit-transition: border .25s;
 -o-transition: border .25s;
 transition: border .25s;}
input:hover, textarea:hover, input:focus, textarea:focus,input:active, textarea:active { border: 0px solid #999;}
input[type="text"],textarea{cursor: text;}
input[type="radio"], input[type="checkbox"] { display: inline; width:auto; height: auto; margin-right: 1em; }
input[type="checkbox"] + label, input[type="radio"] + label { display: inline;}
input[type="file"]{ border: none;}
input[type="date"]{ width: auto;}
select {height: auto;}
/* Placeholders */
::-webkit-input-placeholder { color: #BBB;}
:-moz-placeholder {color: #BBB;}
:-ms-input-placeholder {color: #BBB;}
/* validate.js */
label.error { color: #2d5fa4; margin: 0.5em 0 0 0.5em; font-weight: normal; font-style: italic; }



/* -- BUTTONS 
------------------------------------------------------------- */
.button, input[type="submit"], button, .toggle-title {
	color: #245077;
	font-size: 1.1em;
	font-weight: normal;
	padding: 0.6em 1.2em;

	text-decoration: none;
	cursor: pointer;
	
	background: #fff; 

		
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	-o-border-radius: 0px;
	-ms-border-radius: 0px;
	-khtml-border-radius: 0px;
	border-radius: 0px;
	
	-webkit-transition: 0.1s linear all;
	-moz-transition: 0.1s linear all;
	-ms-transition: 0.1s linear all;
	-o-transition: 0.1s linear all;
	transition: 0.1s linear all; }
.button:hover, input[type="submit"]:hover, button:hover, .toggle-title:hover {
	color: #fff;
	text-decoration: none;
	background: #245077;}
.button:focus, input[type="submit"]:focus, button:focus, .toggle-title:focus {
	color: #333;
	border-color: #BBB;}
.button:active, input[type="submit"]:active, button:active, .toggle-title:active {
	color: #000;
	background: #F5F5F5;
	border-color: #444;
	position: relative; top:0px;}


/* -- TYPO
------------------------------------------------------------- */
h1,h2,h21,h22,h3,h4,h5,h51,h52,h53,h6 h7{margin:0 0 0em; font-weight: normal;}

h1 {font-family: 'exo_2.0light';font-size: 2.5em; }
h2 {  font-size: 2.5em;font-weight: 100 margin: 0 0 0em; letter-spacing: +0.1em; color: #8da5b9;background-color:#fff; line-height: 1; }
h21 { font-family: 'exo_2.0light';font-size: 2.4em;font-weight: 100; margin: 0 0 10px;  color: #8796a5; line-height: 1; }
h22 {  font-size: 2.2em;font-weight: 100; margin: 0 0 10px; letter-spacing: +0.1em; color: #8da5b9; line-height: 1; }
h23 {  font-family: 'exo_2.0light';font-size: 3em;font-weight: 100; margin: 0 0 10px; letter-spacing: +0.1em; color: #fff; line-height: 1; }
h3 { font-size: 1.5em;font-weight: 200;line-height: 1.1 }
h4 { font-size: 1.5em;font-weight: 200;line-height: 1.1;color: #8da5b9 }
h5 { font-size: 1.17em; text-transform: uppercase;letter-spacing: +0.15em; margin: 0; color: #7c93a7; }
h51 { font-size: 1.17em; text-transform: uppercase;letter-spacing: +0.15em; margin: 0; color: #fff; }
h52 { font-size: 1.2em;font-weight: normal; letter-spacing: +0.1em; margin: 0; color: #7c93a7 }
h53{ font-size: 1.17em; text-transform: uppercase;letter-spacing: +0.15em; margin: 0; color: #fff; }
h6 { font-size: 1em; margin-bottom: 2px; }
h7 { font-size: 1em; margin: 0px; color: #555; }
h8 {font-family: 'exo_2.0light';font-size: 0.9em;color: #7c93a7; }

h1 a,h2 a,h21 a,h22 a,h3 a,h4 a,h5 a,h6 a, h7 a{color:#fff; text-decoration: none;}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,h7 a:hover{color:#2d5fa4;text-decoration: none;}



 
/* -- GRID  https://github.com/mattberridge/Proportional-Grids/
------------------------------------------------------------- */
body{width:100%;background:#fff none no-repeat 40% 0; }
.container {width: 90%; margin: 3em auto; max-width: 1100px; min-width: 300px;background:#f2f6f8;}
 
.grid-wrap {
  margin-left: 0; /* the same as your gutter */
  overflow: hidden;
  *zoom:1;}
  .grid-wrap:before, .grid-wrap:after{content:""; display:table}
  .grid-wrap:after{clear:both}
  
.grid {
  float: left;
  padding-left: 0; /* this is your gutter between columns */
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(/js/boxsizing.htc); }
  
.half-gutter {margin-left: -1.5em; }
  .half-gutter .grid-col {padding-left: 1.5em; }
  
.col-full {width: 100%; }
.col-one-half {width: 50%; }
.col-one-third {width: 33.333%; }
.col-two-thirds {width: 66.666%; }
.col-one-quarter {width: 25%; }
.col-three-quarters {width: 75%; }
.col-one-5{width: 20%; }
.col-3-5{width: 60%; }
.col-4-5{width: 80%; }

.divide-top{border-top: 1px solid #ccc;padding-top: 2em;margin-top: 1.5em; }

.mright{ margin-right: 3em;}
.mleft{ margin-left: 3em;}
.mtop{ margin-top: 3em;}
.mbottom{ margin-bottom: 3em;}
.halfmright{ margin-right: 1.5em;}
.halfmleft{ margin-left: 1.5em;}
.halfmtop{ margin-top: 1.5em;}
.halfmbottom{ margin-bottom: 1.5em;}

.fright, .fleft{display:block; overflow:hidden}
.fright{float:right}
.fleft{float:left}

.alignleft{float: left;clear: left;margin: 0.38em 1.62em 0.38em 0;}
.alignright {float: right;clear: right;margin: 0.38em 0 0.38em 1.62em;}
.aligncenter {margin: 0 auto 1.62em;display: block;}


#cookie-popup { 
  
  font-family:Verdana;font-weight:normal;font-style:normal;font-size:12px;line-height:14px;text-align:center;text-decoration:normal;color:#000000;background-color:#ffffff;

  background: rgba(255,255,255,0.7);
  position: fixed;
  width: 100%; 
  
  top: 0px;
  z-index: 9999;
  
-webkit-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.5);
  box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.5);
 

 
 }
 
#cookie-popup.hidden {
  display: none;
}

#cookiedark { background: rgba(20,52,83,0.0); width:100%; height:100%;position:fixed;top: 0px;   z-index:-10; }

button {
	background-color:#f9f9f9;
	border-radius:6px;
	border:1px solid #dcdcdc;
	display:inline-block;
	cursor:pointer;
	color:#000000;
	font-family:Verdana;
	font-size:12px;
	padding:6px 24px;
	text-decoration:none;
}
button:hover {
	background-color:#000;
	color:#fff;
}
button:active {
	position:relative;
	top:1px;
}







/* -- MISC
------------------------------------------------------------- */

img {  height: auto; width: 100%; }
img2 {  height: 100%; width: auto;min-width:100% }
a img {
    -webkit-transition: opacity 1s ease;
    -moz-transition: opacity 1s ease;
    -o-transition: opacity 1s ease;
    -ms-transition: opacity 1s ease;
    transition: opacity 1s ease; }
a img:hover {
	*zoom: 0.5;
	opacity: 0.4;
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 40);
	filter: alpha(opacity = 40); filter: contrast(175%) brightness(90%);
    }


    
/* -- HEADER
------------------------------------------------------------- */
header#navtop { margin-bottom: 1em; clear: both; overflow: hidden; background:#fff;}
   
nav a, menu a { text-decoration: none; color: #f2f6f8; }
.navactive { color: #f2f6f8 }
.logo {max-width:400px; margin: 1.5em; margin-left:45px; margin-top:33px;}

		
		
/* -- GENERAL 
------------------------------------------------------------- */
.main > section { margin-bottom: 2em; }
.main header{ color: #000; margin-bottom: 2em; }
.main header hr{border-top-color:#ddd;}
.arrow:after {content:" \27F6"; /* html unicode: &#10230; */ } 
header .arrow {color: #555; font-style: italic;}
.arrow:hover {color: #2d5fa4; }


/* -- FOOTER
------------------------------------------------------------- */
footer  { color: #555; margin-bottom: 5em; }
footer nav ul { float: right; overflow: hidden; }
footer a {color: #999;}
footer li { float: left; margin-right: 1em; padding-right: 1em; border-right: 1px solid #DDD; font-size: 0.8em; }
footer li:last-child { margin-right: 0; padding-right: 0; border-right: none; }
.up a { display: block; text-align: center; margin: 0 auto; }



/* -------------------------------------------------------------
======	MISC
------------------------------------------------------------- */

.ir{display:block; border:0; text-indent:-999em; overflow:hidden; background-color:transparent; background-repeat:no-repeat; text-align:left; direction:ltr; *line-height: 0;}
.ir br{display:none}
.hidden{display:none !important; visibility:hidden}

.previewpix { width:50%;height:50%; }

/* -------------------------------------------------------------
======	IE Fix
------------------------------------------------------------- */
.lt-ie9 .works figure a, .lt-ie9 .works figure a img { filter:inherit} 
/* jquery filter opacity issue IE8 */

.lt-ie9 .container {min-width: 780px;}
.lt-ie8 .container {width: 960px;}
.lt-ie8 .grid-wrap {margin-left: 0; }
.lt-ie8 .grid {padding: 0;margin-left: 5%; }
  .lt-ie8 .grid:first-child {margin-left: 0; }

.lt-ie8 .col-full {width: 99.95%; }
.lt-ie8 .col-full + .grid {margin-left: 0; }
.lt-ie8 .col-one-half {width: 47.45%; }
.lt-ie8 .col-one-third {width: 29.55%; }
.lt-ie8 .col-two-thirds {width: 64.95%; }
.lt-ie8 .col-one-quarter {width: 19.95%; }
.lt-ie8 .col-three-quarters {width: 74.95%; }
.lt-ie8 .col-one-5 {width: 14.95%; }
.lt-ie8 .col-4-5 {width: 79.95%; }



/* -------------------------------------------------------------
======	MEDIA QUERIES
------------------------------------------------------------- */

/* -- Media query 1 (mq1)
------------------------------------------------------------- */
@media only screen and (max-width: 60em) { /* 13 / 780 */
	.mq1-col-full {width: 100%; }
	.mq1-col-one-half {width: 50%; }
	.mq1-col-one-third {width: 33.333%; }
	.mq1-col-two-thirds {width: 66.666%; }
	.mq1-col-one-quarter {width: 25%; }
	.mq1-col-three-quarters {width: 75%; }
	.mq1-col-one-5 {width: 20%; }
	.mq1-col-4-5 {width: 80%; }
	/**/

	
	.slide figcaption{ width: 80%;}
	footer li { float: left; margin-right: 0.5em; padding-right: 0.5em; border-right: 1px solid #DDD;} 
}
    
/* -- Media query 2 (mq2)
------------------------------------------------------------- */
@media only screen and (max-width: 48em) { /* 13 / 624 */
	.mq2-col-full {width: 100%;}
	.mq2-col-one-half {width: 50%; }
	.mq2-col-one-third { width: 33.333%; }
	.mq2-col-two-thirds {width: 66.666%; }
	.mq2-col-one-quarter {width: 25%; }
	.mq2-col-three-quarters {width: 75%; }
	/**/
	header nav { width: 100%; }
	header nav ul {  padding: 0 ; border-left:none; line-height: 2em;}
	header nav ul li { float: left; padding: 0 1em ; border-right:2px solid #f2f6f8; }
	header p { width: 250px;}
	
	
	h1{font-size: 1.8em; }
	h2{font-size: 1.8em;}
	h21{font-size: 1.8em;}
	h22{font-size: 1.8em;}

	h53{font-size: .9em;}
	
	
	.slider { margin-top: 3em; }
	

	

}
    
/* -- Media query 3 (mq3)
------------------------------------------------------------- */
@media only screen and (max-width: 31em) { /* 13 / 390 */
	.mq3-col-full { width: 100%;}
	.mq3-col-one-half { width: 50%; }
	.mq3-col-one-third { width: 33.333%; }
	.mq3-col-two-thirds { width: 66.666%; }
	.mq3-col-one-quarter { width: 25%; }
	.mq3-col-three-quarters { width: 75%; } 
	.mq3-col-one-5 { width: 20%; }
	.mq3-col-4-5 { width: 80%; } 
	.mq3-none {display: none;}
	
	h1{font-size: 1.6em; }
	h53{font-size: .9em;}
	h23{font-size: 1.3em;}
	
	/* -- Media query 4 (mq4)
------------------------------------------------------------- */
@media only screen and (max-width: 26em) { /* 13 / 390 */
	.mq4-col-full { width: 100%; }
	.mq4-col-one-half { width: 50%; }
	.mq4-col-one-third { width: 33.333%; }
	.mq4-col-two-thirds { width: 66.666%; }
	.mq4-col-one-quarter { width: 25%; }
	.mq4-col-three-quarters { width: 75%; } 
	.mq4-col-one-5 { width: 20%; }
	.mq4-col-4-5 { width: 80%; } 
	.mq4-none {display: none;}
	
	h53{font-size: .9em;}
	h23{font-size: 1.3em;}
	
	
	
	
	/**/
	header nav ul li { padding: 0 0.5em ; }
	footer li { float: none; margin-right: 0em; padding-right: 0em; border-right: none; line-height: 2em;}
	.services article {	margin-top: 3em;} .services article:first-of-type {	margin-top: 0;}	


/* -- PRINT STYLES 
------------------------------------------------------------- */
@media print{ 
	*{background:transparent !important; color:black !important; text-shadow:none !important; filter:none !important; -ms-filter:none !important}
	abbr[title]:after{content:"("attr(title) ")"}
	pre, blockquote{page-break-inside:avoid}
	thead{display:table-header-group}
	tr, img{page-break-inside:avoid}
	img{max-width:100% !important}
	p, h2, h3{orphans:3; widows:3}
	h2, h3{page-break-after:avoid} 
}
 
 
 
/* -------------------------------------------------------------
======	END
------------------------------------------------------------- */