/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #343433;
}

html {

}

body {
    font-size: 20px;
    line-height: 1.6;
    color: #00243a;
    background-color: #fff;
    font-family:'DIN Next W01 Rounded', arial, helvetica, sans-serif;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 1em;
}
/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #7fb7e2;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #7fb7e2;
    color: #fff;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top:1px dotted #b8d1e5;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


/* FONTS  -------------
	font-family:'DIN Next W01';
	font-family:'DIN Next W01 Rounded';

*/

body {
	background-color: #fff;
	color: #00243a;
}

p {
	font-size: 21px;
	margin: 0;
	padding: 0 0 20px 0;
}


a {
	color: #0069aa;
	text-decoration: none;
	-webkit-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;

}

a:hover {
	text-decoration: none;
	color: #79a4be;
}

 /* FULL WIDTH ELEMENTS */

/*.full-width {
 	width: 2560px;
 	margin-left: -580px;

}

.full-width.padding {
  	padding-left: 580px;
  	padding-right: 580px;
}*/

.white {
	background-color: #fff;
}
.gallery {
	background-color: #ebebeb;
}
.daintree {
	background-color: #00243a;
}
.rhino {
	background-color: #294557;
}
.regent-gray {
	background-color: #80929d;
}
.congress-blue {
	background-color: #004a80;
}
.allports {
	background-color: #0069aa;
}
.silver-chalice {
	background-color: #a5a5a5;
}


* {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}


.wrapper {
	width:100%;
	overflow:hidden;
	/*min-width:1400px;*/
}

.container {
	/*max-width:1400px;*/
	width: 100%;
	margin:0 auto;
	/*text-align:left;*/
	position: relative;
}

/* HEADER */

header {
	height: 130px;
	max-width: 1400px;
	margin: 0 auto;
}

.logo {
	margin: 1.8em 0 0;
	width: 205px;
	float: left;
}

.logo img {
	width: 100%;
	height: auto;
}

/* NAVIGATION */

nav.main {
	margin: 0;
	padding: 0;
	float: right;
}

nav.main ul {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
}

nav.main li {
	display: inline-block;
	padding: 2.75em 1.5em;
	border-right: 1px solid #e4e4e4;
}

nav.main a {
	display: block;
	color: #0069aa;
	font-size: 1em;
	text-decoration: none;
	line-height: 1em;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
nav.main li.first {
	padding-left: 0;
}
nav.main li.last {
	/*padding-right: 0;*/
	border-right: none;
}

nav.main li.active a, nav.main li.parent-active a {
	color: #79a4be !important;
}

nav.main li a:hover {
	text-decoration: none;
	color: #79a4be;
}



 /* HOMEPAGE SLIDER */

.homepage-slider {
	/*width: 2560px;
	margin-left: -580px;*/
	position: relative;
	width: 100%;
	margin: 0 auto;
}
.homepage-slider .rslides li {
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	/*height: 540px;*/
}

/*! http://responsiveslides.com v1.54 by @viljamis */

.rslides, .rslides2 {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
}

.rslides li, .rslides2 li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
}

.rslides li:first-child, .rslides2 li:first-child {
  position: relative;
  display: block;
  float: left;
}

.rslides img, .rslides2 img  {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
}



/* BANNER ITEMS */

.slider-content-wrapper {

	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	/*width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	padding-left: 580px;
	padding-right: 580px;
	z-index: 100;
	text-align: left;*/
}

.homepage-slider .caption-wrapper {
	z-index: 100;
	min-height: 150px;
	bottom: 1em;
	position: absolute;
}




/* CAPTION */

.homepage-slider .slider-caption p  {
	color: #fff;
	font-size: 2.4em;
	line-height: 1.25em;
	padding:  0;
	margin: 0;
	font-style: normal;
	font-weight: 300;
}

/* SLIDER LINKS / BUTTONS */

.rslides_tabs {
  position: absolute;
  text-align: right;
  bottom: 2em;
  right:0;
  z-index: 200;
  list-style: none;
  margin: 0;
  /*padding-right: 580px;*/
  width: 100%;
}
.rslides_tabs li {
  display: inline;
}
.rslides_tabs a:before {
  content: ' ';
  display: block;
  position: relative;
  width: 100%;
  height: 3px;
  margin-top: 15px;
  background-color: #e4e4e4;
  background-color: rgba(255,255,255,0.5);
}
.rslides_tabs a {
  width:30px;
  display: inline-block;
  height:30px;
  border:0;
  margin: 0px 4px;
  font-size: 0;
  line-height: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.rslides_here a:before {
	background-color: rgb(255,255,255);
 	background-color: rgba(255,255,255,1);
}


/* HOMEPAGE: OVERVIEW */


div.overview {
	/*padding-top: 2em;
	padding-bottom: 2.5em;*/
	position: relative;
	max-width: 1400px;
	margin: 2em auto;
}
.overview .left {
	float: left;
	width: 60%;
	padding-right: 40px;
}
.overview .right {
	float: right;
	width: 40%;
	padding-left: 40px;
}
.overview h1,
.overview h2 {
	color: #79a4be;
	font-size: 1.5em;
	font-weight: 400;
	margin: 0 0 1em 0;
	text-transform: uppercase;
}
.overview p {
	/*color: #fff;*/
	color: #00243a;
	margin: 0 auto;
	margin-bottom: 1em;
	font-weight: 300;
	line-height: 1.8em;
}

.overview .bold {

	font-weight: 500;
	font-size: 1.15em;
}

a.more {
	display: inline-block;
	color: #a5a5a5;
	font-size: 1em;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
a.more:hover {
	color: #79a4be;
}

.overview .right div {

	margin-top: 40px;
}

.overview .right div img{


	width: 100%;
}





/* FOOTER */
footer {
	padding: 2em 0 5em;
	width: 100%;
}
footer nav {

	padding-right: 60px;
	position: relative;
	border-top: 1px solid #0069aa;
	max-width: 1400px;
	margin: 0 auto;
	margin-bottom: 3em;
}
footer nav ul {

	width: 100%;
	margin: 0;
	padding: 0;
	padding-top: 2em;
	text-align: left;
}
footer nav li {
    display: inline-block;
    padding-right: 3em;
    color: #a5a5a5;
}
footer nav li a {
	color: #a5a5a5;
}
footer nav li a:hover {
	color: #79a4be;
}
footer .icon {
	position: absolute;
	right: 0;
	top: 1.25em;
}



/* ==========================================================================
    Internal
   ========================================================================== */


.content-banner {
	/*height: 460px;*/
	position: relative;
	background-position: center;
	background-size: cover;
}

.content-banner img {
	width: 100%;
}

.title {
	min-height: 100px;
	z-index: 200;
	width: 100%;
}
.title h1 {
	color: #fff;
	font-size: 2.2em;
	font-weight: 300;
	/*float: left;*/
	margin: 1em auto;
	line-height: 1.25em;
	max-width: 1400px;
}

.title h1 {
	display: block;
} 

.title a {
	display: inline-block;
}

.content {
	margin: 0 auto;
	margin-top: 2em;
	margin-bottom: 3em;
	max-width: 1400px;
}

.content .main-article {
	float: left;
	width: 76%;
	color: #00243a;
	padding-right: 3em;
	border-right: 1px solid rgba(255,255,255,0.1);
	font-size: 21px;
}
.content .main-article.full {
	float: none;
	width: 100%;
	border-right: 0;
}

.content .main-article p {

}
.content .main-article a {
	color: #00243a;
}
.content .main-article a:hover,
.content .main-article a:active {
	color: #79a4be;
}
.content .main-article p.summary {
	color: #00243a;
	font-weight: 300;
	font-size: 1.15em;
	border-bottom: 1px solid #0069aa;
	margin-bottom: 2em;
	padding-bottom: 1em;
}
.content .main-article p.bold {
	color: #00243a;
	font-weight: 500;
	font-size: 1.35em;
	/*border-bottom: 1px solid #0069aa;*/
	/*margin-bottom: 2em;*/
	padding-bottom: 1em;
}

.content .main-article .clients {
	padding-left: 1em;
	margin-top: 1em;
	margin-bottom: 2em;
}

.content .main-article .clients li {
	float: left;
	width: 33.333%;
}

.content .main-article .left, .content .main-article .right {
    width: 50%;
    float: left;
    padding-right: 40px;
}

.content .main-article .left {
    padding-right: 40px;
}

.content .main-article .right {
    padding-left: 40px;
}


/* CONTENT ELEMENTS */
.content .downloads .item {
	font-family: 'lato', inherit;
	width: 100%;
	clear: left;
}
.content .downloads .item h4 {
	margin-bottom: 0;
}
.content .downloads .item .details {
	color: #7c7c7c;
	font-size: 0.8em;
}
.image-gallery {
	float: none;
	margin-top: 2em;
	margin-bottom: 2em;
}
.image-gallery a {
	display: block;
	float: left;
	width: 25%;
	position: relative;
}
.image-gallery a img {
	width: 100%;
	-webkit-transition: all 0.6s ease-in-out 0s;
	transition: all 0.6s ease-in-out 0s;
}
.image-gallery a:before,
.image-gallery a:after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	-webkit-transition: background-color 0.3s ease-in-out, background-size 0.3s ease-out;
	transition: background-color 0.3s ease-in-out, background-size 0.3s ease-out;
}
.image-gallery a:before {
	background-image: url('/img/icon-search.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 0;
	background-color: rgba(0,105,170,0);
}
.no-svg .image-gallery a:before {
	background-color: url('/img/icon-search.png');
}
.image-gallery a:after {
	background-color: rgba(121,164,190,0);
}
.no-svg .image-gallery a:before {
	display: none;
}
.image-gallery a:hover:before {
	background-color: rgba(0,105,170,0.3);
	background-size: 40px 40px;
}
.image-gallery a:hover:after {
	background-color: rgba(121,164,190,0.3);
}
.image-gallery a:hover img {
	//opacity: 0.65;
}





.content .sidebar {
	float: right;
	width: 24%;
	padding-left: 3em;

}

.content .sidebar ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	margin-top: 0;
}

.content .sidebar ul li {
	position: relative;
}

.content .sidebar li a {
	position: relative;
	display: block;
	font-size: 1.1em;
	color: #a5a5a5;
	padding: 1em 0 1em 2em;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	-webkit-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
	padding-right: 2em;
	line-height: 1.4;
}
.content .sidebar li a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -8px;
	width: 9px;
	height: 16px;
	background-image: url('/img/icon-arrow.svg');
	background-repeat: no-repeat;
}

.content .sidebar li.active > a {
	color: #79a4be;
}

.content .sidebar li.active ul,
.content .sidebar li.parent-active ul {
	padding-left: 1em;
	font-size: 0.9em;
}

.content .sidebar li .icon {
	width: 0.5em;
	position: absolute;
	right: 0;
	margin-top: -0.375em;
	top: 50%;
	height: 0.75em;
}
.content .sidebar li > ul + .icon {
	top: 1.75em;
}
.content .sidebar li .icon polygon {
	fill: #ffffff;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
.content .sidebar li a:hover + .icon polygon,
.content .sidebar li.active > a + .icon polygon,
.content .sidebar li.active > a + ul + .icon polygon,
.content .sidebar li a:hover + ul + .icon polygon {
	fill: #79a4be;
}

.content .sidebar li a:hover {
	color: #79a4be;
}

.content .sidebar.downloads ul li a:before {
	background-image: url('/img/icon-download.svg');
	width: 16px;
	height: 11px;
	margin-top: -5px;
}

.content .sidebar div {
	margin-top: 40px;
}

.content .sidebar div img {
	width: 100%;
	margin-bottom: 20px;
}

.main-article .block-list .item {
	float: left;
	width: 30%;
	margin-right: 5%;
	margin-bottom: 3em;
}
.main-article .block-list .item:nth-of-type(3n) {
	margin-right: 0;
}
.main-article .block-list .item:nth-of-type(3n-2) {
	clear: left;
}
.main-article .block-list img {
	width: 100%;
}
.block-list.logos {
	margin-top: 1em;
}
.block-list.logos img {
	max-width: 80px;
	height: auto;
}

.block-list .news-item.item h2 {
	margin-bottom: 0.2em;
}
.block-list .news-item.item .date {
	font-size: 0.8em;
	color: #87b1ff;
}

.main-article ol,
.main-article ul {
	margin-top: 0;
	padding-left: 3em;
}
.main-article ol li,
.main-article ul li {
	padding-left: 1em;
	padding-bottom: 0.5em;
}

.main-article table thead th {
	background-color: #1b3668;
	color: #fff;
	border-color: #fff;
}

.main-article h2 {
	color: #79a4be;
	font-weight: 400;
}
.main-article h2:first-child {
	margin-top: 0;
}

/* GIT BAR */
.git-bar h2,
.git-bar input[type="text"],
.git-bar input[type="submit"] {
	width: 20%;
	padding: 10px 2%;
	margin: 1.3em 0;
	float: left;
}
.git-bar input[type="text"] {
	background-color: #00243a;
	border-color: #00243a;
}
.git-bar input.email {
	border-left: 1px solid #80929d;
	border-right: 1px solid #80929d;
}
.git-bar h2 {
	text-transform: uppercase;
	font-weight: 400;
	padding-left: 0;
	font-size: 1.3em;
	line-height: 1em;
	margin: 1em 0;
}
.git-bar input[type="submit"] {
	background-color: #0069aa;
	border-color: #0069aa;
	padding-right: 0;
	text-align: left;
}

.git-bar input:focus, .git-bar textarea:focus, .git-bar select:focus, .git-bar input[type="submit"]:focus {
	border-color: #fff;
}

/* CONTACT */
#map_canvas1 {
	margin-bottom: 2em;
}
.contact .sidebar h3 {
	color: #00243a;
	font-weight: 400;
	margin-bottom: 0.2em;
}
.contact .sidebar p {
	color: #cecece;
}
.contact .sidebar a{
	color: #79a4be;
}
.contact .sidebar a:hover {
	color: #a5a5a5;
}



/* PROJECTS */

.projects .block-list .item {
	position: relative;
	height: 250px;
	margin-bottom: 6em;
}
.projects .item .bg {
	display: block;
	background-size: cover;
	width: 100%;
	height: 100%;
}
.projects .item h2,
.projects .item h3 {
	width: 100%;
	z-index: 20;
	margin: 0;
	left: 0;
	text-align: center;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
.projects .item h2 {
	margin-top: 0.5em;
}
.projects .item h3 {
	bottom: -3.75em;
	font-size: 0.9em;
	font-weight: 300;
	font-style: italic;
	color: #cecece;
}

.projects .item .bg:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #79a4be;
	opacity: 0;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
.projects .item .bg:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #0069aa;
	opacity: 0;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
.projects .item .bg span {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	width: 50%;
	left: 25%;
	margin-top: 85px;
	line-height: 1em;
	text-transform: uppercase;
	color: #fff;
	font-weight: 300;
	border: 2px solid #fff;
	border-radius: 3px;
	padding: 1em 0.5em;
	text-align: center;
	-webkit-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
	z-index: 30;
	opacity: 0;
}
.projects .item:hover h2 {
	color: #fff;
}
.projects .item:hover .bg:after,
.projects .item:hover .bg:before {
	opacity: 0.4;
}
.projects .item:hover .bg span {
	opacity: 1;
}


/* PROJECT DETAIL */

.project-detail .project-title {
	font-size: 1.25em;
	line-height: 1.2em;
	margin-bottom: 0.25em;
}
.project-detail .client {
	font-weight: 400;
	font-style: italic;
	color: #fff;
	margin-top: 0;
	padding-bottom: 1em;
	border-bottom: 1px solid #0069aa;
	margin-bottom: 2em;
}

.project-detail .main-article p {
	font-family: arial, inherit;
}
.documents h2 {
	margin-bottom: 0.5em;
	color: #79a4be;
	font-weight: 400;
}
.documents ul {
	padding: 0;
	margin: 0;
}
.documents ul li {
	list-style: none;
	padding-left: 0;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #cecece;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.documents ul li:last-of-type {
	border-bottom: 0;
}
.documents ul li a {
	color: #a5a5a5;
}
.documents ul li a:hover,
.documents ul li a:active {
	color: #79a4be;
}

.main-article.images h2,
.sidebar.downloads h2 {
	margin-top: 2em;
	padding-top: 2em;
	border-top: 1px solid rgba(255,255,255,0.1);
}


/* ==========================================================================
    Plugins
   ========================================================================== */





/* Foundation v2.1.4 http://foundation.zurb.com */
/* Artfully masterminded by ZURB  */

/* --------------------------------------------------
   Table of Contents
-----------------------------------------------------
:: Shared Styles
:: Page Name 1
:: Page Name 2
*/


/* -----------------------------------------
   Shared Styles
----------------------------------------- */

table th { font-weight: bold; }
table td, table th { padding: 9px 10px; text-align: left; }

/* Mobile */
@media only screen and (max-width: 767px) {

	table.responsive { margin-bottom: 0; }

	.pinned { position: absolute; left: 0; top: 0; background: #fff; width: 35%; overflow: hidden; overflow-x: scroll; border-right: 1px solid #ccc; border-left: 1px solid #ccc; }
	.pinned table { border-right: none; border-left: none; width: 100%; }
	.pinned table th, .pinned table td { white-space: nowrap; }
	.pinned td:last-child { border-bottom: 0; }

	div.table-wrapper { position: relative; margin-bottom: 20px; overflow: hidden; border-right: 1px solid #ccc; }
	div.table-wrapper div.scrollable { margin-left: 35%; }
	div.table-wrapper div.scrollable { overflow: scroll; overflow-y: hidden; }

	table.responsive td, table.responsive th { position: relative; white-space: nowrap; overflow: hidden; }
	table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td { display: none; }
}




/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
	overflow: hidden;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('fancybox_overlay.png');
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

.fancybox-wrap a:hover {
	background-color: transparent;
	color: #e9101b;
}

.fancybox-wrap a {
	color: #fff;
}













/* BACK TO TOP */



#back-top {
	display: none;
	position: fixed;
	bottom: 10px;
	right: 10px;
	text-indent: -999em;
	background-color: rgba(0, 0,0,0.15);
	width: 40px;
	height: 40px;
	border-radius: 3px;

}

#back-top:after {
	content: '';
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 10px 12px 10px;
	border-color: transparent transparent rgba(255, 255, 255, .6) transparent;
	position: absolute;
	top: 13px;
	left: 10px;
}





/* FORMS */

form {
	margin-bottom: 0px;
	margin-top: 0px;
}


label {
	display: block;
	margin-bottom: 5px;
	color: #A6A29A;

}

input[type="radio"] + label, input[type="checkbox"] + label {
	display: inline;
}

input[type="radio"] + label + label, input[type="checkbox"] + label + label {
	display: inline;
}

li label.error {
	float: right;
}

input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {
	font-weight: bold;
}

label.field-description {
	font-size: 0.75em;
	margin-top: 3px;
}

label.error {
	color: #ffcb05;
	border: 1px solid #ffcb05;
	border-top: 0;
	font-size: 0.75em;
	padding: 10px;
}

.required-item {
	margin-left: 4px;
	color: #ee2930;
}

input[type="text"], textarea, select {
	border: 1px solid #294557;
	background-color: #fff;
	/*background-color: #294557;*/
	padding: 0.5em 1em;
    /*color: #fff;*/
    color: #294557;
    width: 100%;
    margin-bottom: 2px;
}

input:focus, textarea:focus, select:focus,input[type="submit"]:focus {
	outline: 0;
    border-color: #79a4be;
}

textarea {
	padding: 1em;
}

select {
	-webkit-transition: border-radius 0.3s ease-out 0s;
	transition: border-radius 0.3s ease-out 0s;
}

input[type="submit"] {
	background-color: #80929d;
	padding: 0.5em 1em;
	border: 1px solid #80929d;
	color: #fff;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
	text-decoration:none;
	width: 100%;
}

input[type="submit"]:hover {
	border-color: #79a4be;
	background-color: #79a4be;
	text-decoration:none;
}

select:focus {
	border-radius: 1em 1em 0 0;
}





/* GOOGLE MAPS */

#map_canvas1 {

}

.map-overlay {
	width: 200px;

}

.map-overlay .header {
	text-align: center;
	padding: 5px 25px 3px 25px;
	text-transform: uppercase;
	color: #fff;
	height: auto;
	font-size: 1.25em;
	background: rgba(0, 105, 170, 0.8);
	-webkit-box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.2);
}

.map-overlay .map-body {
	color: #00243a;
	background-color: rgba(255,255,255,0.8);
	padding: 5px 25px 8px 25px;
	font-size: 1.25em;
	font-family:arial, sans-serif !important;
	position: relative;
	-webkit-box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.2);
	line-height: 1.4;
}

.map-overlay .map-body:after, .map-overlay .map-body:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;

}

.map-overlay .map-body:before {
	border-color: rgba(194, 225, 245, 0);
	border-top-color: rgba(255,255,255,0.8);
	border-width: 10px;
	margin-left: -10px;
}

.map-overlay .icon {
	display: block;
	width: 100%;
	height: 20px;
	position: relative;
}

.map-overlay .icon:after {
	background-color: rgba(0, 105, 170, 0.8);
	position: absolute;
	content: '';
	border-radius: 50%;
	width: 12px;
	height: 12px;
	bottom: -10px;
	left: 50%;
	margin-left: -9px;
	border: 3px solid #fff;
	-webkit-box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.35);
	box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.35);
}








/* MMMENU STYLES */

#mmenu {
    display: none;
}

html.mm-opened .mm-page {
	box-shadow: none;
}
.mm-menu.mm-opened {
    display: block !important;
}

.mm-menu.mm-opened {
	display: block !important;
}

.mm-ismenu {
  background: #2a2a2a;
  color: rgba(255, 255, 255, 1);
}

.mm-menu .mm-search input {
  background: rgba(255, 255, 255, 0) !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

.mm-search {
  background: inherit;
  width: 100%;
  height: 60px;
  padding: 10px;
  position: relative;
  top: 0;
  z-index: 2;
}

.mm-search input[type="text"] {
  border: 1px solid #fff !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.5) !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  line-height: inherit !important;
  outline: none !important;
  display: block !important;
  width: 76% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 10px !important;
  color: #fff !important;
  font-style: normal;
}

.mm-search input[type="submit"] {
	border: 2px solid rgba(255,255,255,0.5) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 4px 10px !important;
	width: 20% !important;
	float: right;
	border-radius: ;
}

.mm-search  ::-webkit-input-placeholder {
   color: rgba(255,255,255,0.5);
}

.mm-search  :-moz-placeholder { /* Firefox 18- */
   color: rgba(255,255,255,0.5);
}

.mm-search  ::-moz-placeholder {  /* Firefox 19+ */
   color: rgba(255,255,255,0.5);
}

.mm-search  :-ms-input-placeholder {
   color: rgba(255,255,255,0.5);
}


.mm-menu.mm-hassearch .mm-header {
  height: 50px;
  padding-top: 20px;
  top: 60px;
}

.mm-menu.mm-hasheader.mm-ismenu.mm-hassearch > .mm-panel {
	padding-top: 110px;
}

.mm-header .mm-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  width: 100%;
  position: relative;
  z-index: 1;
  color: #fff;
  text-transform: uppercase;
}

.mm-menu .mm-list > li > a.mm-subopen:after, .mm-menu .mm-list > li > a.mm-subclose:before {
border-color: rgba(255,255,255,0.75);
}

.mm-menu .mm-list > li.mm-selected > a:not(.mm-subopen), .mm-menu .mm-list > li.mm-selected > span {
	background: none;
	color: #79a4be;
}

.mm-list a:hover {
	color: #79a4be;
}
.mm-list .parent-active > a {
	color: #0069aa;
}




/* ==========================================================================
   Styles to remove from desktop site
   ========================================================================== */



.mobile-only {
	display: none;
}



/* ==========================================================================
   Helper classes
   ========================================================================== */

.clear {
	clear: both;
}


/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}



.image-gallery {

	margin-top: 60px;
	margin-bottom: 60px;
	float: left;
}

.image-gallery div {
	float: left;
	padding: 5px;
}

.image-gallery div img{
	width: 100%;
}

.image-gallery .w50 {
	width: 50%;
}

.image-gallery .w100 {
	width: 100%;
}


/* ==========================================================================
   STYLES
   'Normal' desktop
   ========================================================================== */
@media only screen and (max-width: 1920px) {
	/*.homepage-slider .rslides li {
		height: 480px;
	}*/
}
@media only screen and (max-width: 1600px) {

	/*.full-width {
	 	max-width: 1400px;
	 	margin-left: -360px;
	 	margin: 0 auto;
	}*/

	/*.full-width.padding {
	  	padding-left: 360px;
	  	padding-right: 360px;
	}*/

	/*.wrapper {
		min-width: 1200px;
	}

	.container {
	   	width: 1200px;
	}*/
	/*.homepage-slider .rslides li {
		height: 440px;
	}*/
	.homepage-slider .rslides_tabs {
		/*padding-right: 780px;*/
	}
	/*.content-banner {
		height: 400px;
	}*/

}

@media only screen and (max-width: 1400px) {

	/*.full-width {

		padding-left: 10px;
		padding-right: 10px;
	}*/

	.content {

		padding-left: 10px;
		padding-right: 10px;		
	}

	.title h1 {

		padding-left: 10px;
		padding-right: 10px;
	}

	footer nav {

		padding-left: 10px;
		padding-right: 10px;
	}

	.footer-logos {

		padding-left: 10px;
		padding-right: 10px;
	}

	header {

		padding-left: 10px;
		padding-right: 10px;
	}

	div.overview {

		padding-left: 10px;
		padding-right: 10px;
	}

	.homepage-slider .caption-wrapper {

		padding-left: 10px;
		padding-right: 10px;
	}

	footer .icon {

		right: 10px;
	}
}

@media only screen and (max-width: 1300px) {


	body {
		font-size: 1em;
	}

	 /* FULL WIDTH ELEMENTS */

	/*.full-width {
	 	width: 1920px;
	 	margin-left: -470px;

	}

	.full-width.padding {
	  	padding-left: 470px;
	  	padding-right: 470px;
	}*/


	/*.wrapper {
		min-width: 980px;
	}


	.container {
	   	width:980px;
	   	text-align:left;

	 }*/

	 /* NAVIGATION */
	header {
		height: 104px;
	}
	header .logo {
		width: 180px;
	}




	/* HOMEPAGE SLIDER */

	/*.homepage-slider .rslides li {
		height: 400px;
	}*/

	.rslides li, .rslides2 li {
	  width: 100%;
	  height: auto;
	}
	.rslides_tabs {
		/*margin-left: 0;*/
	}


	/* BANNER ITEMS */

	.homepage-slider .rslides_tabs {
		/*padding-right: 1000px;*/
	}


	/* CAPTION */

	.homepage-slider .slider-caption p  {
		font-size: 2.25em;
	}




	/* CONTENT BANNER */

	/*.content-banner {
		width: 1920px;
		margin-left: -470px;
		height: 380px;
	}*/

	.banner-content-wrapper {
		width: 1300px;
		left: 310px;
	}

	.content-banner .caption-wrapper {
		min-height: 150px;
	}

	.title {

	}

	.image-gallery a {
		width: 50%;
	}












}

		/* ==========================================================================
		   MOBILE STYLES
		   Tablet styles
		   ========================================================================== */

		@media only screen and (max-width: 1000px) {




			 /* FULL WIDTH ELEMENTS */

			/*.full-width {
			 	width: 100%;
			 	margin-left: 0px;

			}

			.full-width.padding {
			  	padding-left: 0px;
			  	padding-right: 0px;
			}


			.full-width.mobile-padding {
			  	padding-left: 20px;
			  	padding-right: 20px;
			}*/

			/*.wrapper {
				min-width: 0;
			}

			.container {
			   	width:100%;
			   	text-align:left;
			   	padding: 0;
			 }*/

			/* HEADER */

			header .logo {
				width: 160px;
			}



			/* HOMEPAGE SLIDER */




			/* BANNER ITEMS */

			/*.slider-content-wrapper {
				width: 100%;
				left: 0;
			}*/

			/* CAPTION */

			.homepage-slider .caption-wrapper {
				margin-left: 20px;
				bottom: 0;
				min-height: 130px;
			}

			.homepage-slider .slider-caption p  {
				font-size: 2em;
				padding:  0;
			}

			.homepage-slider .rslides_tabs {
				text-align: left;
				padding-left: 20px;
				padding-right: 0;
				right: inherit;
				bottom: 0.75em;
			}


			/* NAVIGATION */
			nav.main li {
				padding: 2.75em 1.25em;
			}




			/* HOMEPAGE: OVERVIEW */

			.overview p {

			}
			.overview a.more {

			}






			/* FOOTER */





			/* CONTENT BANNER */

			.content-banner {
				width: 100%;
				/*height: 300px;*/
				margin: 0;
			}


			/* FOOTER */

			footer nav li {
				display: block;
				margin-bottom: 0.25em;
			}
			footer .icon {
				top: 2em;
			}



			/* INTERNAL TITLE */
			.title {

			}
			.title h1 {
				display: block;
				width: 100%;
				margin: 0.75em 0;
			}


			.content .main-article .left, .content .main-article .right {
			    width: 100%;
			    padding-right: 0;
			    padding-left: 0;
			}

		}


		@media only screen and (max-width: 860px) {
			nav.main a {
				margin-right: 0;
				margin-left: 0;
			}
			.main-article .block-list .item,
			.main-article .block-list .item:nth-of-type(3n),
			.main-article .block-list .item:nth-of-type(3n-2) {
				width: 47%;
				margin-right: 6%;
				clear: none;
			}
			.main-article .block-list .item:nth-of-type(2n+1) {
				clear: left;
			}
			.main-article .block-list .item:nth-of-type(2n) {
				margin-right: 0;
			}

		}


		.footer-logos {
			max-width: 1400px;
			margin: 0 auto;;
			text-align: center;
		}

		.footer-logos ul{
			list-style: none;
			padding: 0;
			margin: 0;
			display: inline-block;
		}

		.footer-logos li{
			float: left;
			margin-right: 7px;
			margin-left: 7px;
		}

		.footer-logos li span{
			display: inline-block;
			width: 55px;
			height: 70px;
			background-repeat: no-repeat;
			background-size: 100%;
			background-position: 50%;
		}

		.footer-logos ul.left{
			float: left;
		}

		.footer-logos ul.right{
			float: right;
		}

		.footer-logos ul.left li:first-child{	
			margin-left: 0;
		}

		.footer-logos ul.right li:first-child{	
			margin-right: 0;
		}

		.footer-logos li span.brandsa{
			width: 77px;
			height: 80px;
		}

		.footer-logos li span.jas{
			width: 63px;
			height: 80px;
		}


		.footer-logos li span.cm3{
			width: 70px;
			height: 70px;
			margin: 0 15px;
		}

		.footer-logos li span.Achilles{
			width: 75px;
			height: 70px;
		}
		



			/* ==========================================================================
			   MOBILE STYLES
			   Mobile MENU
			   ========================================================================== */

			@media only screen and (max-width: 767px) {

				.desktop-only {
					display: none;
				}

				.mobile-only {
					display: block;
				}

				/*.wrapper {
					min-width: 0px;
				}


				.container {
					width:100%;
					margin:0;
					text-align:left;
					padding-left:0px;
					padding-right:0px;
				}*/


				.homepage-slider {
					display: none !important;
				}
				header {
					height: 60px;
				}
				header .logo {
					float: right;
					padding-top: 8px;
					margin-right: 10px;
					margin-top: 0;
					margin-bottom: 0;
				}

				.mobile-nav-button {
                    display: block;
                    color: #343433;
                    border: 1px solid #1b3668;
                    border-radius: 50%;
                    width: 34px;
                    height: 34px;
                    padding-top: 10px;
                    padding-left: 6px;
                    position: absolute;
                    top: 14px;
                    left: 20px;
                }

                .mobile-nav-button span {
                    width: 20px;
                    height: 2px;
                    display: block;
                    margin: 0 0 3px 0px;
                    border-radius: 5px;
                    background-color: #1b3668;
                }

                #toggleMenu {
                	position: absolute;
                	top:14px;
                	left: 20px;
                }

                #toggleMenu i {
                	background-color: #0069aa;
                }

                .mobile-phone {
                    position: absolute;
                    top: 14px;
                    left: 70px;
                }

                .mobile-phone a {
                    display: block;
                    color: #fff;
                    text-decoration: none;
                    margin: 3px 0 0;
                    font-weight: 700;
                    background: transparent url('../img/phone-icon.svg') no-repeat left center;
                    background-size: 26px ;
                    width: 26px;
                    height: 26px;
                }





				/* HOMEPAGE MOBILE BANNER */

				.homepage-mobile-banner {
					background-size: auto 100%;
					background-position: center;
					background-repeat: no-repeat;
					height: 400px;
					position: relative;
					width: 100%;
					padding: 0;
					margin: 0;
				}

				.homepage-mobile-banner .slider-caption {
					position: absolute;
					bottom: 50px;
					width: 100%;
					padding: 0 20px;
				}

				.homepage-mobile-banner .slider-caption a {
					display: inline-block;
					font-size: 2em;
					color: #fff;
					width: 100%;
					text-align: left;
					-webkit-transition: all 0.3s ease-in 0;
					-o-transition: all 0.3s ease-in 0;
					transition: all 0.3s ease-in 0;
				}
				.homepage-mobile-banner .slider-caption a:hover {
					color: #79a4be;
					border-color: #79a4be;
				}


				/* BANNER ITEMS */

				.homepage-slider .slider-content-wrapper {
					display: none;
				}

				/* HOMEPAGE: OVERVIEW */

				.overview .left,
				.overview .right {
					width: 100%;
					padding-right: 0;
					padding-left: 0;
					float: none;
				}
				.overview h2 {
					margin-top: 2em;
				}



				/* FOOTER */
				footer nav li {
					padding-right: 0;
				}

				footer nav li span {
					display: block;
				}





				/* CONTENT */

				.content-mobile-banner {
					background-size: auto 100%;
					background-position: center;
					background-repeat: no-repeat;
					height: 370px;
					position: relative;
					width: 100%;
					padding: 0;
					margin: 0;
				}

				.content .main-article,
				.content .sidebar {
					float: none;
					width: 100%;
					padding-left: 0;
					padding-right: 0;
					margin-left: 0;
					margin-right: 0;
					border: 0;
				}
				.content .main-article.images h2,
				.content .sidebar.downloads h2{
					border-top: 0;
					margin-top: 0;
					padding-top: 1em;
				}

				.content .sidebar {
					margin-top: 2em;
				}
				.content .go-back {
					margin-bottom: 1em;
				}



				.image-gallery .w50 {
					width: 100%;
				}

				.footer-logos ul{
					width: 100%;
					margin-bottom: 40px;
				}

				.footer-logos ul li{
					float: none;
					display: inline-block;
				}



				@media only screen and (max-width: 600px) {
					.main-article .block-list .item {
						display: block;
						width: 100% !important;
						margin-right: 0;
						float: none;
						clear: both;
					}
					.main-article .block-list.logos .item {
						float: left;
						clear: none;
					}
					.main-article .block-list.logos .item:nth-of-type(2n+1) {
						clear: left;
					}
					.main-article .block-list.logos .item:nth-of-type(2n-1) {
						margin-right: 6%;
					}
				}




















			}

					@media only screen and (max-width: 480px) {

						/* HEADER */



						/* HOMEPAGE MOBILE BANNER */

						.homepage-mobile-banner {
							height: 360px;
						}

						.homepage-mobile-banner .slider-caption a {
							font-size: 1.5em;
						}


						.overview a.more {
							max-width: none;
						}



						.content-mobile-banner {
							height: 240px;
						}

						.image-gallery a {
							width: 100%;
						}

						footer nav {
							padding-right: 45px;
						}


						footer .icon {
							width:34px;
							height: 40px;
						}









					}



						@media only screen and (max-width: 400px) {

						.homepage-mobile-banner {
							height: 300px;
						}

						.homepage-mobile-banner .slider-caption a {
							font-size: 1.25em;
						}



						/* HOMEPAGE: OVERVIEW */

						div.overview {
							/*padding-top: 2em;
							padding-bottom: 2em;*/
							max-width: 1400px;
						}
						.overview h1,
						.overview h2 {
							font-size: 1.4em;
						}


						}







/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {




    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
