@import "normalize.css";
@import "boilerplate.css";

/*-----------------------------------------------------------

  Colors:
  GREEN : #003050


  GENERIC STYLES
-------------------------------------------------------------*/

.swiper-pagination-bullet {
	border     : 2px solid white;
	background : transparent !important;
	opacity    : 1 !important;
}

.swiper-pagination-bullet-active {
	background : #003050 !important;
	border     : 2px solid #003050;
}

.row {
	clear : both;
}

.clearer {
	clear : both;
}

.widthContainer {
	max-width : 1150px;
	margin    : 0 auto;
}

.relative {
	position : relative;
}

html {
	font-size   : 16px;
	font-family : 'Source Sans Pro', Arial, sans-serif;
	color       : #333;
}

section {
	clear : both;
}

button,
input,
select {
	outline : none;
}

h1 {
	clear       : both;
	margin-top  : 0px;
	line-height : 2.2rem;
}

h2 {
	font-weight    : 700px;
	text-transform : uppercase;
	font-size      : 1.25rem;
	color          : #003050;
	margin-top     : 30px;
}

.mainContent img {
	max-width: 100%;
}

@media screen and (min-width: 768px) {
	.floatLeft {
		float: left;
	}

	.floatLeft img,
	img.floatLeft {
		margin-right: 20px;
		margin-bottom: 20px;
	}
}


/*-----------------------------------------------------------
  HEADER
------------------------------------------------------------*/

header .widthContainer {
	position : relative;
	height   : 100%;
}

.topStrip {
	display : none;
}

.searchButton {
	float       : right;
	width       : 20px;
	height      : 20px;
	margin-left : 40px;
}

.logoContainer {
	height   : 84px;
	width    : 160px;
	position : relative;
	float    : left;
}

.logoContainer img {
	max-height : 100%;
	position   : absolute;
	top        : 0px;
	left       : 0px;
	opacity    : 1;
}

.searchPopup {
	background : #003050;
	color      : white;
	font-size  : 2rem;
	width      : 100%;
	text-align : center;
	max-height : 0px;
	overflow   : hidden;
	box-sizing : border-box;

	transition : 300ms max-height;

	position   : absolute;
	top        : 100%;
	z-index    : 10;
}

.searchPopup.open,
.searchPopup.stayOpen {
	max-height : 100px;
}

.searchPopup .widthContainer {
	padding : 20px 10px;
	height  : 100%;
}

.searchPopup input {
	border        : 0 none;
	background    : transparent;
	width         : 50%;
	min-width     : 280px;
	border-bottom : 2px solid #e2f0bd;
	text-align    : center;
	outline       : none;
	font-style    : italic;
}

.searchPopup button {
	border     : 0 none;
	background : transparent;
}

.searchPopup img {
	height : 35px;
}

@media (max-width : 949px) {
	/* breakpoint for mobile menu */
	header {
		width      : 100%;
		height     : 60px;
		box-sizing : border-box;
		z-index    : 10;
		position   : relative;
	}

	header .fixedContainer {
		border-bottom : 2px solid #003050;
		background    : white;
		box-sizing    : border-box;
		z-index       : 10;
		box-sizing    : border-box;
		transition    : 300ms all;
		position      : fixed;
		width         : 100%;
		height        : 60px;
	}

	.navButton {
		float  : right;
		margin : 7px;
	}

	.searchButton {
		float      : right;
		border     : 10px solid transparent;
		opacity    : .4;
		margin-top : 7px;
	}

	.logoContainer {
		position : relative;
		height   : 50px;
		width    : 120px;
		bottom   : 10px;
		left     : 5px;
	}

	.logoContainer img:nth-child(2) {
		opacity : 0;
	}

	.desktopPopup {
		display : none;
	}

	header .menuContainer {
		background                 : #003050;
		color                      : white;
		font-size                  : 1.25rem;
		width                      : 100%;
		position                   : fixed;
		top                        : 60px;
		z-index                    : 10;
		height                     : calc(100vh - 80px);
		padding                    : 0 0 0 0;
		overflow                   : hidden;
		overflow-y                 : scroll;
		-webkit-overflow-scrolling : touch;
		max-height                 : 0px;

		transition                 : 300ms max-height ease-out, 300ms padding-top ease-out, 300ms padding-bottom ease-out;
	}

	header.open .menuContainer {
		padding-top    : 10px;
		padding-bottom : 10px;
		max-height     : 120vh;
	}

	.servicesFeatures {
		display : none;
	}

	.desktop header {
		position : static;
	}

	.desktop header .menuContainer {
		position   : absolute;
		overflow-y : hidden;
		height     : auto;
	}

	.desktop header.open .menuContainer {
		padding : 10px 0 30px;
	}

	.desktop header .menuContainer nav:last-child {
		padding-bottom : 30px;
	}

	header nav ul {
		list-style : none;
		margin     : 0;
		padding    : 0;
	}

	header nav a {
		display         : block;
		padding         : 10px 0px;
		margin          : 0 15px;
		color           : white;
		text-decoration : none;
	}

	header nav > ul > li > a {
		text-transform  : uppercase;
		background      : url('../images/mobilemenu-arrow-down.png') right center no-repeat;
		background-size : 20px;
	}

	header nav > ul > li.open > a {
		background      : url('../images/mobilemenu-arrow-up.png') right center no-repeat;
		background-size : 20px;
	}

	header nav ul ul {
		max-height  : 0px;
		overflow    : hidden;
		transition  : 300ms max-height ease-out;
		margin-left : 20px;
	}

	header nav ul .open ul {
		max-height : 1000px;
		transition : 300ms max-height ease-in;
	}

	header nav ul ul a {
		font-size : .85em;
	}

	header ul ul li:last-child a {
		margin-bottom : 20px;
	}
}

@media (min-width : 950px) {
	/* breakpoint for desktop menu */
	header {
		height     : 110px;
		box-sizing : border-box;
		position   : relative;
		transition : 300ms all;
	}

	header .fixedContainer {
		position      : fixed;
		width         : 100%;
		height        : 110px;
		padding       : 10px;
		background    : white;
		border-bottom : 2px solid #003050;
		box-sizing    : border-box;
		z-index       : 10;
		transition    : 300ms all;
	}

	header.collapsed,
	header.collapsed .fixedContainer {
		height : 50px;
		top    : 0;
	}

	.navButton {
		display : none;
	}

	.topStrip {
		display     : block;
		float       : right;
		font-size   : 0.75rem;
		padding-top : 4px;

		position    : relative;
		top         : 0px;
		transition  : 300ms top;
	}

	.topStrip #google_translate_element {
		position: absolute;
		top: 0px;
		left: -200px;
	}

	.topStrip a {
		color           : #999;
		text-decoration : none;
	}

	.topStrip > a > img {
		vertical-align : middle;
		margin-right   : 5px;
		margin-left    : 20px;
		position       : relative;
		bottom         : 2px;
	}

	.searchButton {
		position   : relative;
		top        : 0px;
		transition : 300ms top;
	}

	header.collapsed .topStrip,
	header.collapsed .searchButton {
		top : -35px;
	}

	.logoContainer {
		position   : relative;
		bottom     : 0px;
		transition : 300ms all;
	}

	.logoContainer img {
		opacity    : 1;
		transition : 300ms all;
	}

	header.collapsed .logoContainer {
		height : 50px;
		width  : 120px;
		bottom : 25px;
	}

	header.collapsed .logoContainer img:nth-child(2) {
		opacity : 0;
	}

	.menu {
		position   : absolute;
		bottom     : -10px;
		left       : 200px;
		transition : 300ms left;
	}

	header.collapsed .menu {
		left : 140px;
	}

	.menu ul {
		margin     : 0;
		padding    : 0;
		list-style : none;
	}

	.menu li {
		text-transform : uppercase;
		font-weight    : 500;
		display        : inline-block;
		margin-right   : 30px;
	}

	.menu li a {
		color           : black;
		text-decoration : none;
		display         : block;
		box-sizing      : border-box;
		border-bottom   : 4px solid white;
		padding-bottom  : 6px;

		transition      : 200ms border-bottom;
	}

	.menu li.active a,
	.menu li a:hover {
		border-bottom : 4px solid #003050;
	}

	.menu ul ul,
	.menu ul ul ul,
	.menu .sub {
		display : none;
	}

	.menu.services {
		left  : auto !important;
		right : 0px;
	}

	.menu.services li {
		margin-left  : 30px;
		margin-right : 0px;
	}

	.searchPopup {
		margin-left : -10px;
	}

	.desktopPopup {
		background  : #003050;
		color       : white;
		transition  : 500ms max-height ease-out;
		overflow    : hidden;
		max-height  : 0px;
		position    : absolute;
		top         : 100%;
		width       : 100%;
		margin-left : -10px;
		z-index     : 10;
	}

	.desktopPopup.open {
		max-height : 500px;
	}

	.desktopPopup .widthContainer {
		padding : 30px 10px;
		-webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
	}

	.desktopPopup ul {
		margin        : 0;
		padding       : 0;
		list-style		: none;
	}

	.desktopPopup li {
		box-sizing: border-box;
		margin: 0;
		white-space: nowrap;
		padding: 10px 20px 10px 0;
		display: inline-block;
		width: 100%;
	}

	.desktopPopup li a {
		text-decoration : none;
		color           : white;
	}

	.desktopPopup li a:hover {
		text-decoration : underline;
	}

	.servicesFeatures {
		margin-top : 30px;
	}

	.servicesFeatures div {
		width      : 49%;
		display    : inline-block;
		background : #8eb71d;
		box-sizing : border-box;
		padding    : 20px 20px 20px 120px;
		position   : relative;
		font-size  : 0.875rem;
	}

	.servicesFeatures div:last-child {
		float : right;
	}

	.servicesFeatures div img {
		position              : absolute;
		top                   : 20px;
		left                  : 20px;
		width                 : 70px;
		height                : 70px;
		-webkit-border-radius : 35px;
		border-radius         : 35px;
	}

	.servicesFeatures div p {
		margin-top    : 0px;
		margin-bottom : 10px;
	}

	.servicesFeatures div p:first-of-type {
		margin-top  : 0px;
		padding-top : 0px;
	}

	.servicesFeatures div p.title {
		font-size : 1.375rem;
	}

	.servicesFeatures button {
		border          : 0 none;
		background      : url('../images/button-arrow-white.png') center right no-repeat transparent;
		background-size : contain;
		padding         : 1px 25px 1px 0;
		font-size       : 0.75rem;
		font-style      : italic;

		transition      : 200ms padding-right ease-out;
	}

	.servicesFeatures button:hover {
		text-decoration : underline;
		padding-right   : 30px;
	}
}

/*-----------------------------------------------------------
  TICKER
------------------------------------------------------------*/

.ticker {
	background : #003050;
	padding    : 5px 0;
	position   : relative;
	height     : 22px;
	overflow   : hidden;
}

.ticker .container {
	white-space : nowrap;
	position    : absolute;
}

.ticker a {
	color           : white;
	text-decoration : none;
	margin          : 20px;
}

.ticker a:hover {
	text-decoration : underline;
}

/*-----------------------------------------------------------
  MAIN FEATURE
------------------------------------------------------------*/
.mainFeature {
	height : 65vw;
}

.mainArticleFeature{
	height : 205px;
}

@media (min-width : 950px) {
	.mainFeature {
		height : 30vw;
	}
}

.mainFeature .swiper-container,
.mainFeature .swiper-wrapper,
.mainFeature .swiper-slide,
.mainFeature .widthContainer {
	height : 100%;
}

.mainArticleFeature .feature-container,
.mainArticleFeature .feature-wrapper,
.mainArticleFeature .feature-item,
.mainArticleFeature .widthContainer {
	height : 100%;
}

.mainFeature .swiper-slide {
	background      : top center no-repeat;
	background-size : cover;
}

.mainArticleFeature .feature-item {
	background      : center center no-repeat;
	background-size : cover;
}

.mainFeature .swiper-slide .link-banner
{
	display: block;
	height: 100%;
	width: 100%;
}

.mainArticleFeature .feature-item .link-banner
{
	display: block;
	height: 100%;
	width: 100%;
}

.mainFeature .widthContainer, .mainArticleFeature .widthContainer {
	height   : 100%;
	position : relative;
}

.mainFeature .box {
	position   : absolute;
	right      : 0px;
	bottom     : 0px;
	padding    : 15px 20px;
	background : rgba(0, 0, 0, .35);
	border     : 5px solid #003050;
	margin     : 10px;
}

.mainFeature .title {
	text-transform : uppercase;
	color          : white;
	font-weight    : 700;
	font-size      : 1rem;
	line-height    : 1rem;
}

.mainFeature .subText {
	color      : #ffffff;
	margin-top : 10px;
	margin-right: 80px;
	font-size  : .8rem;
	min-height: 20px;
}

.mainFeature button {
	border          : 0 none;
	background      : url('../images/button-arrow-green.png') center right no-repeat transparent;
	background-size : contain;
	padding         : 1px 25px 1px 0;
	font-size       : 0.75rem;
	font-style      : italic;
	color           : #ffffff;
	position        : absolute;
	bottom          : 17px;
	right           : 20px;

	transition      : 200ms padding-right ease-out;
}

.mainFeature button:hover {
	text-decoration : underline;
	padding-right   : 30px;
}

@media (min-width : 600px) {
	.mainFeature .box {
		max-width  : 70%;
		right      : 0px;
		bottom     : 30px;
		padding    : 15px 20px;
		background : rgba(0, 0, 0, .35);
		border     : 10px solid #003050;
	}

	.mainFeature .swiper-slide {
		background-size : cover;
	}
}

@media (min-width : 700px) {
	.mainFeature {
		height : 50vw;
	}

	.mainFeature .title {
		font-size   : 1.8rem;
		line-height : 1.8rem;
	}
}

@media (min-width : 900px) {
	.mainFeature {
		height : 40vw;
	}
}

@media (min-width : 1000px) {
	.mainFeature .title {
		font-size   : 2.2rem;
		line-height : 2.2rem;
	}
}

@media (min-width : 1200px) {
	.mainFeature {
		height : 30vw;
	}

	.mainFeature .title {
		font-size   : 2.2rem;
		line-height : 2.2rem;
	}
}

/*-----------------------------------------------------------
  GRID FEATURES
------------------------------------------------------------*/

.gridFeatures {
	padding-top : 30px;
	background  : #f7f7f7;
}

.gridFeatures article {
	position        : relative;
	height          : 50vw;
	background      : center center no-repeat #dedede;
	background-size : cover;
	overflow        : hidden;
}

.gridFeatures article.double {
	height : 50vw;
}

.gridFeatures article.noImage {
	height : 25vw;
}

.gridFeatures article .image {
	width           : 50%;
	height          : 100%;
	float           : left;
	background      : center center no-repeat;
	background-size : cover;
	display         : inline-block;
}

.gridFeatures article:nth-child(odd) .image {
	float: right;
}

.gridFeatures article.double .image,
.gridFeatures article.wide .image {
	width    : 100%;
	height   : 100%;
	position : absolute;
	left     : 0px;
	top      : 0px;
	z-index  : 1;
}

.gridFeatures article .box {
	font-size   : 1rem;
	line-height : 1rem;
	padding     : 20px 20px;
	width       : 50%;
	height      : 100%;
	box-sizing  : border-box;
	float       : left;
	color       : #333;
	font-weight : 700;
}

.gridFeatures article.double .box,
.gridFeatures article.wide .box {
	font-size   : 1.2rem;
	line-height : 1.2rem;
	background  : rgba(0, 0, 0, .35);
	border      : 10px solid #003050;
	position    : absolute;
	bottom      : 10px;
	right       : 10px;
	z-index     : 2;
	color       : white;
	width       : calc(100% - 20px);
	height      : auto;
	box-sizing  : border-box;
}

.gridFeatures .noImage {
	background : white;
}

.gridFeatures .noImage .box {
	width : 100%;
}

.gridFeatures button {
	display         : none;
	margin-top      : 30px;
	border          : 0 none;
	background      : url('../images/button-arrow-grey.png') center right no-repeat transparent;
	background-size : contain;
	padding         : 1px 25px 1px 0;
	font-size       : 0.75rem;
	font-style      : italic;
	line-height     : 1rem;

	transition      : 200ms padding-right ease-out;
}

.gridFeatures button:hover,
.gridFeatures a:hover button {
	text-decoration : underline;
	padding-right   : 30px;
}

.gridFeatures .double button,
.gridFeatures .wide button {
	background-image : url('../images/button-arrow-white.png') !important;
}

.gridFeatures .greenButtons {
	text-align : center;
	padding    : 20px 0 20px;
}

.gridFeatures .greenButtons button,
.gridFeatures .greenButtons a.button, a.button {
	text-decoration : none;
	display         : inline-block;
	clear           : none;
	margin          : 10px;
	color           : white;
	text-transform  : uppercase;
	padding         : 8px 40px 8px 15px;
	font-size       : 0.875rem;
	border-radius   : 30px;
	font-style      : normal;
	font-weight     : 700;
	background      : url('../images/button-arrow-lightgreen.png') right center no-repeat #003050;
	background-size : auto 100%;
}

.gridFeatures .greenButtons button:hover {
	text-decoration : none;
}

@media (min-width : 650px) {
	.gridFeatures {
		padding-top : 70px;
	}

	.gridFeatures article {
		width  : 50%;
		height : 25vw;
		float  : left;
		margin : 0;
	}

	.gridFeatures article.double {
		height : 49.999vw;
	}

	.gridFeatures article .box {
		font-size   : 1.4rem;
		line-height : 1.5rem;
	}

	.gridFeatures article.double .box,
	.gridFeatures article.wide .box {
		max-width : 45%;
	}
}

@media (min-width : 950px) {
	.gridFeatures article,
	.gridFeatures article.noImage {
		height : 237px;
	}

	.gridFeatures article.double {
		height : 474px;
	}

	.gridFeatures button {
		display : block;
	}
}

/*-----------------------------------------------------------
  BOTTOM FEATURES
------------------------------------------------------------*/
.bottomFeatures {
	padding-top : 30px;
}

.bottomFeatures article {
	margin-top : 10px;
	background : #003050;
	color      : white;
	padding    : 20px 20px 20px 120px;
	box-sizing : border-box;
	position   : relative;
}

@media (min-width : 750px) {
	.bottomFeatures article {
		width   : 49%;
		display : inline-block;
	}

	.bottomFeatures article:last-child {
		float    : right;
		position : relative;
	}
}

.bottomFeatures article a {
	color           : white;
	text-decoration : none;
}

.bottomFeatures article img {
	position : absolute;
	top      : 20px;
	left     : 20px;
	z-index  : 2;
}

.bottomFeatures article p {
	margin-top    : 10px;
	margin-bottom : 8px;
}

.bottomFeatures article .title {
	font-size      : 1.375rem;
	text-transform : uppercase;
	margin-top     : 0px;
	margin-bottom  : 0px;
}

.bottomFeatures article button {
	border          : 0 none;
	background      : url('../images/button-arrow-white.png') center right no-repeat transparent;
	background-size : contain;
	padding         : 1px 25px 1px 0;
	font-size       : 0.75rem;
	font-style      : italic;
	transition      : 200ms padding-right ease-out;
}

.bottomFeatures article button:hover {
	text-decoration : underline;
	padding-right   : 30px;
}

.bottomFeatures select {
	margin-top         : 15px;
	border             : 2px solid white;
	padding            : 5px 30px 5px 10px;
	border-radius      : 5px;
	background         : url('../images/select-arrow.png') center right no-repeat #003050;
	background-size    : auto 100%;
	width              : 100%;
	box-sizing         : border-box;

	-moz-appearance    : none; /* Firefox */
	-webkit-appearance : none; /* Safari and Chrome */
}

/*-----------------------------------------------------------
  FOOTER
------------------------------------------------------------*/
footer {
	background  : #191919;
	color       : white;
	clear       : both;
	margin-top  : 50px;
	padding-top : 80px;
}

footer .mapContainer {
	margin-bottom: 20px;
}

footer .footer-menu {
	margin    : 0 40px;
	display: block;
	width: 250px;
	float: left;
}

footer .footer-menu > ul > li {
	margin-bottom: 10px;
}

footer .footer-menu > ul > li:last-child {
	margin-bottom: 0;
}


footer .footer-menu > ul > li > a{
		display: block;
		text-transform: capitalize;
		background: #003050;
		font-size: 1.2rem;
		color: white;
		text-decoration: none;
		padding: 5px;
		height: 30px;
		text-align: center;
		font-weight: 600;
		line-height: 1.8;
}

footer .footer-menu > ul > li:nth-child(4) a, footer .footer-menu > ul > li:nth-child(5) a{
	background: #0D2434;
	font-weight: 400;
}

footer nav {
	text-transform : uppercase;
	font-size      : 1.25rem;
	margin-left    : 20px;
	text-align     : center;
}

footer nav ul, footer .footer-menu ul{
	list-style    : none;
	margin        : 0;
	padding       : 0;
	margin-bottom : 30px;
}

footer nav span {
	display       : block;
	margin-bottom : 10px;
}

footer nav a {
	display         : block;
	padding         : 7px 0;
	color           : #999;
	text-decoration : none;
	font-size       : 0.875rem;
	line-height     : 1.2rem;

	transition      : color 200ms;
}

footer nav a:hover {
	color           : white;
	text-decoration : underline;
}

footer .social {
	font-size : 0.875rem;
	float: right;
	margin: 0;
}

footer .social ul {
	display: block;
	list-style : none;
	margin     : 0;
	padding    : 0;
	border-top : 1px solid #424242;
}

footer .social > ul a {
	float: right;
	display         : block;
	color           : white;
	text-decoration : none;
	padding         : 10px 0;
}

footer .social img {
	width        : 33px;
	height       : 33px;
	margin-right : 10px;

	transition   : margin-right 200ms;
}

footer .contacts {
	clear: both;
	text-align: center;
	padding-left: -10px;
}

footer .contacts a {
	color: #003050;
}

footer .newsletter {
	font-size     : 0.875rem;
	padding-right : 10px;
	max-width         : 300px;
	text-align    : center;
	margin        : 30px auto 0;
}

footer .newsletter p {
	margin-top    : 0px;
	margin-bottom : 10px;
}

footer .newsletter .title {
	font-size : 1.125rem;
	color: #FFF;
	margin-bottom: 0;
}

#newsletter{
  float: left;
  margin-right: 30px;
	width         : 100%;
	height: 140px;
}

#emailField{
  float: left;
  padding-right: 25px;
	border        : 0 none;
	width         : 100%;
	box-sizing    : border-box;
	padding       : 10px 25px 10px 15px;
	border-radius : 0;
	color: #191919;
}

#btnNews{
  background: url("../images/newsletter-arrow-blue.png") no-repeat scroll 0 0 transparent;
  border: medium none;
  cursor: pointer;
  height: 20px;
  margin-left: -22px;
  margin-top: 8px;
	margin-bottom: 25px;
  width: 20px;
}

#newsletter p.msgerror{
	position: relative;
	display: block;
	padding: 10px 15px;
	background: #3C3C3C;
	color: #BABABA:
}

#newsletter p.msgerror.error{
	background: #8C0005;
	color: #FFF:
}

#newsletter p.msgerror.success{
	background: #007504;
	color: #FFF:
}

#newsletter p.msgerror:after {
	bottom: 100%;
	left: 10%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-bottom-color: #3C3C3C;
	border-width: 10px;
	margin-left: -10px;
}

#newsletter p.msgerror.error:after {
	border-bottom-color: #8C0005;
}

#newsletter p.msgerror.success:after {
	border-bottom-color: #007504;
}

footer .copyright {
	/*border-top     : 1px solid #424242;*/
	margin-top     : 80px;
	padding        : 20px;
	font-size      : 0.75rem;
	text-transform : uppercase;
	color: black;
	background: white;
	position: relative;
}

footer canvas {
	float : right;
	position: relative;
	z-index: 2;
}

footer .footerLogos {
	text-align: center;
	margin: 50px 0;
}

footer .footerLogos img {
	max-width: 85%;
	width: 350px;
}

footer .col {
	text-align: center;
}

#signature {
	margin-bottom: 20px;
}

@media (max-width : 614px) {

	footer .mapContainer {
		display: none;
	}

	footer .footer-menu {
		margin: 0 auto;
		display: block;
		width: 300px;
		clear: both;
		float: none;
	}

	footer .newsletter{
		clear: both;
		margin: 0 auto;
		display: block;
		width: 300px;
		float: none;
		text-align: left;
		padding: 0;
	}

	footer .social{
		clear: both;
		margin: 0 auto;
		display: block;
		width: 300px;
		float: none;
	}

	footer .social ul {
		margin: 0 auto;
		width: auto;
	}

	footer .social li {
		margin: 0 auto;
		width: 45%;
	}

	footer .social > ul a {
		float: left;
		width: auto;
		padding         : 10px 0px;
	}

}

@media (min-width : 615px) {
	footer .newsletter{
		text-align: left;
		margin: 0 30px 0 0;
		float: right;
	}

	footer .social{
		width: 100%;
	}
}

@media (min-width : 1040px) {
	footer .mapContainer {
		width: 400px;
		float: left;
	}

	footer nav > div {
		float        : left;
		width        : 200px;
		margin-right : 20px;
	}

	footer .social {
		float       : left;
		width       : 300px;
		margin-left : 0px;
		clear       : none;
	}

	footer .social > ul a {
		padding-left    : 10px;
	}

	footer .contacts {
		padding-left: 10px;
		text-align: left;
	}

	footer .newsletter {
		float      : right;
		margin     : 0;
		text-align : left;
	}

	footer .col {
		text-align: left;
		float: left;
	}

	footer .col:first-child {
		padding-top: 10px;
	}

	footer .footerLogos {
		margin-top: 0px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	#signature {
		margin-top: 10px;
	}
}

/*-----------------------------------------------------------
  COLUMNS LAYOUT
------------------------------------------------------------*/
.submenu {
	display : none;
}

.mainContentBlock {
	padding-left  : 15px;
	padding-right : 15px;
}

.mainContentBlock iframe {
	margin-bottom: 30px;
}

@media (min-width : 700px) {
	.submenu {
		display       : block;
		float         : left;
		width         : 23%;
		padding-left  : 15px;
		margin-right  : 2%;
		margin-bottom : 50px;
		box-sizing    : border-box;
	}

	.mainContentBlock {
		width         : 65%;
		margin-right  : 2%;
		margin-bottom : 80px;
		float         : left;
		padding-top   : 0px;
		padding-right : 0px;
	}

	.extraColumn {
		clear       : both;
		width       : 65%;
		margin-left : 25%;
	}
}

@media (min-width : 950px) {
	.mainContentBlock {
		width        : 47.5%;
		margin-right : 2%;
		float        : left;
		padding      : 0;
		position     : relative;
	}

	.mainContentBlock.wide {
		width         : 75%;
		margin-right  : 0;
	}

	.descriptionInWide {
		width: 65%;
	}

	.extraColumn {
		width  : 24.8%;
		float  : left;
		margin : 0;
		clear  : none;
	}

	.mainContentBlock.double {
		width : 72.3%;
	}
}

/*-----------------------------------------------------------
  GENERIC CONTENT
------------------------------------------------------------*/
.breadCrumbs {
	color         : #999;
	font-size     : .75rem;
	font-style    : italic;
	margin-bottom : 15px;
	padding       : 20px 15px;
}

.breadCrumbs a {
	color           : #999;
	text-decoration : none;
}

.breadCrumbs a:hover,
.breadCrumbs a.active {
	color : black;
}

.breadCrumbs a:hover {
	text-decoration : underline;
}

.genericHeader .swiper-container,
.genericHeader .swiper-wrapper,
.genericHeader .swiper-slide {
	width  : 100%;
	height : 200px;
}

.genericHeader .swiper-slide {
	background      : center center no-repeat;
	background-size : cover;
}

.genericHeader + h1 {
	margin-top : 25px;
}

@media (min-width : 700px) {
	.submenu .title {
		text-transform : uppercase;
		font-size      : 1.25rem;
		font-weight    : 500;
	}

	.submenu ul {
		margin     : 10px 0 0 0;
		padding    : 0;
		list-style : none;
	}

	.submenu ul ul {
		font-size    : .9rem;
		margin-top   : 0;
		padding-left : 15px;
		display      : none;
	}

	.submenu a {
		display         : block;
		padding         : 5px 0;
		color           : #999;
		text-decoration : none;
	}

	.submenu a:hover {
		color           : black;
		text-decoration : underline;
	}

	.submenu .active > a {
		color : black;
	}

	.submenu .active > ul {
		display : block;
	}
}

/*-----------------------------------------------------------
  DOWNLOADS (IN PAGE)
------------------------------------------------------------*/
.pageDownloads {
	margin-top    : 40px;
	margin-bottom : 30px;
}

.filesList {
	border-top : 1px solid #c5cdd1;
}

.filesList article {
	border-bottom : 1px solid #c5cdd1;
	clear         : both;
	padding       : 20px 0;
}

.filesList article a {
	color           : #333;
	text-decoration : none;
}

.filesList img {
	float  : right;
	width  : 24px;
	height : 24px;
	margin : 0 10px;
}

.filesList .info {
	float       : right;
	border-left : 1px solid #c5cdd1;
}

.filesList .info div {
	display      : inline-block;
	border-right : 1px solid #c5cdd1;
	padding      : 0 10px;
	color        : #333;
	font-size    : 0.875rem;
}

/*-----------------------------------------------------------
  NEWS ARTICLE
------------------------------------------------------------*/
.newsArticle .date {
	font-size     : 0.875rem;
	color         : #999;
	margin-bottom : 10px;
	text-transform: lowercase;
}

.newsSlider .swiper-container,
.newsSlider .swiper-wrapper,
.newsSlider .swiper-slide {
	width  : 100%;
	height : 74vw;
}

.newsSlider .swiper-slide {
	background      : center center no-repeat;
	background-size : cover;
}

.newsSlider .swiper-slide .caption{
	display: block;
	position: absolute;
	bottom: 0px;
	right: 0px;
	width: auto;
	padding: 5px 10px;
	background: rgba(0,0,0,.5);
	color: #FFF;
  text-align: right;
}

.newsArticle .social {
	font-size : 0.875rem;
}

.newsArticle .social ul {
	list-style : none;
	margin     : 0;
	padding    : 0;
	border-top : 1px solid #e7e7e7;
}

.newsArticle .social a {
	display         : block;
	color           : #333;
	text-decoration : none;
	padding         : 12px 0;
	border-bottom   : 1px solid #e7e7e7;
	padding-left    : calc(50% - 50px);
}

.newsArticle .social img {
	width        : 33px;
	height       : 33px;
	margin-right : 10px;

	transition   : margin-right 200ms;
}

.newsArticle .social a:hover img {
	margin-right : 20px;
}

@media (min-width : 700px) {
	.newsArticle .date {
		border-bottom  : 1px solid #e7e7e7;
		padding-bottom : 10px;
		height         : 30px;
		box-sizing     : border-box;
	}

	.newsArticle .social {
		padding-top : 30px;
	}

	.newsArticle .social ul {
		display : inline-block;
	}

	.newsArticle .social li {
		width : 33.333333333%;
		float : left;
	}

	.newsArticle .social a {
		padding-left : 0;
	}
}

@media (min-width : 950px) {
	.newsSlider .swiper-container,
	.newsSlider .swiper-wrapper,
	.newsSlider .swiper-slide {
		width  : 100%;
		height : 400px;
	}

	.newsArticle .social ul {
		display : block;
	}

	.newsArticle .social li {
		width : auto;
		float : none;
	}
}

/*-----------------------------------------------------------
  NEWS LIST
------------------------------------------------------------*/
.newsList article {
	position        : relative;
	height          : 50vw;
	background      : center center no-repeat #dedede;
	background-size : cover;
	overflow        : hidden;
	clear           : both;
}

.newsList article.double {
	height : 50vw;
}

.newsList article.noImage {
	height : 25vw;
}

.newsList article .image {
	width           : 50%;
	height          : 100%;
	float           : left;
	background      : center center no-repeat;
	background-size : cover;
	display         : inline-block;
}

.newsList article.double .image,
.newsList article.wide .image {
	width    : 100%;
	height   : 100%;
	position : absolute;
	left     : 0px;
	top      : 0px;
	z-index  : 1;
}

.newsList article .box {
	font-size   : 1rem;
	line-height : 1rem;
	padding     : 20px 20px;
	width       : 50%;
	height      : 100%;
	box-sizing  : border-box;
	float       : left;
	color       : #333;
	font-weight : 700;
}

.newsList article:nth-child(even) .image {
	float: right;
}

.newsList article.double .box,
.newsList article.wide .box {
	font-size   : 1.2rem;
	line-height : 1.2rem;
	background  : rgba(0, 0, 0, .35);
	border      : 10px solid #003050;
	position    : absolute;
	bottom      : 10px;
	right       : 10px;
	z-index     : 2;
	color       : white;
	width       : calc(100% - 20px);
	height      : auto;
	box-sizing  : border-box;
}

.newsList .noImage {
	background : white;
}

.newsList .noImage .box {
	width : 100%;
}

.newsList button {
	display         : none;
	margin-top      : 30px;
	border          : 0 none;
	background      : url('../images/button-arrow-grey.png') center right no-repeat transparent;
	background-size : contain;
	padding         : 1px 25px 1px 0;
	font-size       : 0.75rem;
	font-style      : italic;
	line-height     : 1rem;

	transition      : 200ms padding-right ease-out;
}

.newsList button:hover,
.newsList a:hover button {
	text-decoration : underline;
	padding-right   : 30px;
}

.newsList .double button,
.newsList .wide button {
	background-image : url('../images/button-arrow-white.png') !important;
}

.newsList .greenButtons {
	text-align : center;
	padding    : 20px 0 50px;
}

.newsList .greenButtons button {
	display         : inline-block;
	clear           : none;
	margin          : 10px;
	color           : white;
	text-transform  : uppercase;
	padding         : 8px 40px 8px 15px;
	font-size       : 0.875rem;
	border-radius   : 30px;
	font-style      : normal;
	font-weight     : 700;
	background      : url('../images/button-arrow-lightgreen.png') right center no-repeat #003050;
	background-size : auto 100%;
}

.newsList .greenButtons button:hover {
	text-decoration : none;
}

@media (min-width : 650px) {
	.newsList article {
		width  : 100%;
		height : 25vw;
		float  : left;
		margin : 0;
	}

	.newsList article.double {
		width  : 100%;
		height : 49.999vw;
	}

	.newsList article.wide {
		width : 100%;
	}

	.newsList article .box {
		font-size   : 1.4rem;
		line-height : 1.5rem;
	}

	.newsList article.double .box,
	.newsList article.wide .box {
		max-width : 45%;
	}
}

@media (min-width : 950px) {
	.newsList article,
	.newsList article.noImage {
		width  : 66.6666%;
		height : 237px;
	}

	.newsList article.double {
		height : 474px;
	}

	.newsList button {
		display : block;
	}
}

/*-----------------------------------------------------------
  FILES TREE
------------------------------------------------------------*/
.filesTree {
	list-style : none;
	margin     : 0;
	padding    : 0;
}

.filesTree > li > a {
	display         : block;
	padding         : 10px 15px;
	color           : #333;
	background      : url('../images/fileslist-arrow-down.png') center right no-repeat #f4f5f6;
	background-size : contain;
	margin-bottom   : 4px;
	text-decoration : none;

	transition      : 300ms all;
}

.filesTree > li.open > a,
.filesTree > li > a:hover {
	color            : white;
	background-color : #003050;
	background-image : url('../images/fileslist-arrow-down-hover.png')
}

.filesTree > li.open > a {
	background-image : url('../images/fileslist-arrow-up.png');
}

.filesTree .filesList {
	max-height     : 0px;
	overflow       : hidden;
	padding-bottom : 0px;
	border-top     : 0px solid white;

	transition     : 200ms max-height ease-out, 200ms border-top, 200ms padding-bottom;
}

.filesTree .open .filesList {
	max-height     : 5000px;
	display        : block;
	padding-bottom : 10px;
	border-top     : 1px solid #c5cdd1;

	transition     : 400ms max-height ease-in, 400ms border-top, 400ms padding-bottom;
}

.filesTree .filesList .title {
	padding-left : 15px;
}

/*-----------------------------------------------------------
  FORM
------------------------------------------------------------*/
.mainContentBlock form {

}

.mainContentBlock form .row {
	margin-bottom : 10px;
	clear         : both;
}

.mainContentBlock form label {
	display       : block;
	font-size     : .9rem;
	margin-bottom : 3px;
}

.mainContentBlock form input[type='text'],
.mainContentBlock form textarea,
.mainContentBlock form select {
	border        : 2px solid #ccc;
	width         : 100%;
	box-sizing    : border-box;
	padding       : 10px 15px;
	border-radius : 5px;
}

.mainContentBlock form textarea {
	height : 150px;
}

.mainContentBlock form button {
	border         : 0 none;
	color          : white;
	background     : #999;
	border-radius  : 20px;
	text-transform : uppercase;
	padding        : 8px 15px;
	margin-top     : 20px;

	transition     : background 200ms;
}

.mainContentBlock form button:hover {
	background : #003050;
}

.mainContentBlock form input[type='checkbox'] {
	margin-right : 10px;
}

.mainContentBlock form input[type='radio'] {
	margin-right : 10px;
}

.mainContentBlock form input[type='radio']:not(:first-child) {
	margin-left : 20px;
}

.mainContentBlock form .checkRadioGroup {
	border-top    : 2px solid #ccc;
	border-bottom : 2px solid #ccc;
	padding       : 5px 0;
	line-height   : 2rem;
}

/*-----------------------------------------------------------
  SEARCH RESULTS
------------------------------------------------------------*/
.searchResults {
	margin-top : 130px;
}

.searchResults a {
	color           : #333;
	text-decoration : none;
	font-weight     : 700;
	font-size       : 1.25rem;
}

.searchResults a:hover {
	text-decoration : underline;
}

/*-----------------------------------------------------------
  GALLERY FOLDERS
------------------------------------------------------------*/
.galleries article {
	position        : relative;
	height          : 50vw;
	background      : center center no-repeat #dedede;
	background-size : cover;
	overflow        : hidden;
	clear           : both;
	margin-bottom   : 10px;
}

.galleries article.double {
	height : 50vw;
}

.galleries article .image {
	width           : 50%;
	height          : 100%;
	float           : left;
	background      : center center no-repeat;
	background-size : cover;
	display         : inline-block;
}

.galleries article .box {
	font-size   : 1rem;
	line-height : 1rem;
	padding     : 20px 20px;
	width       : 50%;
	height      : 100%;
	box-sizing  : border-box;
	float       : left;
	color       : #333;
	font-weight : 700;
}

.galleries button {
	display         : none;
	margin-top      : 30px;
	border          : 0 none;
	background      : url('../images/button-arrow-grey.png') center right no-repeat transparent;
	background-size : contain;
	padding         : 1px 25px 1px 0;
	font-size       : 0.75rem;
	font-style      : italic;
	line-height     : 1rem;

	transition      : 200ms padding-right ease-out;
}

.galleries button:hover,
.galleries a:hover button {
	text-decoration : underline;
	padding-right   : 30px;
}

.galleries .double button,
.galleries .wide button {
	background-image : url('../images/button-arrow-white.png') !important;
}

@media (min-width : 650px) {
	.galleries article {
		width  : 100%;
		height : 25vw;
		float  : left;
		margin : 0 0 10px 0;
	}

	.galleries article .box {
		font-size   : 1.4rem;
		line-height : 1.5rem;
	}
}

@media (min-width : 950px) {
	.galleries article {
		width  : 66.6666%;
		height : 237px;
	}

	.galleries button {
		display : block;
	}
}

/*-----------------------------------------------------------
  GALLERY PHOTOS
------------------------------------------------------------*/
.gallery {

}

.gallery img {
	width         : 100%;
	margin-bottom : 20px;
}

@media (min-width : 700px) {
	.gallery a {
		width         : 49%;
		height        : 240px;
		display       : inline-block;
		text-align    : center;
		box-sizing    : border-box;
		margin-bottom : 20px;
		background    : #f5f5f5;
	}

	.gallery a img {
		max-width  : 100%;
		max-height : 100%;
		width      : auto;
		position   : relative;
		top        : 50%;
		transform  : translateY(-50%);
	}

	.gallery a {
		display        : inline-block;
		vertical-align : top;
		clear          : right;
	}

	.gallery a:nth-child(odd) {
		float : right
	}
}

/*----------------------------------------------------------------
  PUBLICATION
-----------------------------------------------------------------*/

.divPub {
	-webkit-box-shadow : inset 0px -2px 2px 0px rgba(0, 0, 0, 0.3);
	box-shadow         : inset 0px -2px 2px 0px rgba(0, 0, 0, 0.3);
	background         : #cee4f2;
	color              : #0072bc;
	font-family        : Calibri, Arial;
	font-size          : 18px;
	font-style         : italic;
	line-height        : 28px;
	padding            : 10px 0 15px 0;
	text-align         : center;
}

.divPub.offline {
	background : #e7e8cc;
}

.divPub a {
	color                 : #464646;
	text-decoration       : none;
	padding               : 0px 9px;
	font-size             : 14px;
	line-height           : 26px;
	height                : 26px;
	display               : inline-block;
	border                : 1px solid #a9a9a9;
	-webkit-border-radius : 4px;
	-moz-border-radius    : 4px;
	border-radius         : 4px;
	-webkit-box-shadow    : 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
	-moz-box-shadow       : 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
	box-shadow            : 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
	background            : #fff;
}

.divPub a:hover {
	background : #0072bc;
	color      : #fff;
}


/* --------------------------------------------------------------------------------------------------------
 *  AVISOS
 * -------------------------------------------------------------------------------------------------------- */
.avisosHolder {
	position : absolute;
	top      : 0;
	left     : 0;
	width    : 100%;
	z-index  : 9999999;
}

.avisosOverlay {
	background : rgba(0, 0, 0, 0.7);
	position   : fixed;
	width      : 100%;
	height     : 200%;
	margin-top : -50%;
	z-index    : 9999998;
}

.aviso {
	box-sizing  : border-box;
	margin      : 0 auto;
	position    : relative;
	padding     : 50px 40px;
	border-top  : 2px solid #fff;
	line-height : 20px;
}

.aviso:first-child {
	border : 0;
}

.aviso h2, .aviso p {
	margin : 0;
}

.aviso h2 {
	text-transform : uppercase;
	font-family    : 'Asap Regular', sans-serif;
	font-weight    : normal;
	margin-bottom  : 20px;
	font-size      : 40px;
	line-height    : 44px;
	padding-right  : 50px;
}

.aviso .icon-close {
	position              : absolute;
	top                   : 0;
	right                 : 0;
	width                 : 30px;
	height                : 30px;
	border                : 2px solid #fff;
	-webkit-border-radius : 16px;
	border-radius         : 16px;
	cursor                : pointer;
	margin                : 50px 40px;
}

.aviso .icon-close:before {
	font-size   : 25px;
	margin      : 0 auto;
	display     : block;
	width       : 13px;
	line-height : 30px;
}

.aviso.amarelo {
	background : #ffde00;
	color      : #252525;
}
.aviso.amarelo h2
{
	color      : #252525;
}

.aviso.amarelo .icon-close {
	border : 2px solid #252525;
}

.aviso.laranja {
	background : #f26907;
	color      : #fff;
}

.aviso.laranja h2
{
	color      : #fff;
}

.aviso.vermelho {
	background : #ea1c23;
	color      : #fff;
}

.aviso.vermelho h2
{
	color      : #fff;
}


.aviso.azul {
	background : #003050;
	color      : #fff;
}

.aviso.azul h2
{
	color      : #fff;
}

@media (min-width : 870px) {
	.avisosHolder {
		padding-top : 100px;
	}

	.aviso {
		width : 850px;
	}
}

@media (max-width : 869px) {
	.aviso {
		padding : 30px 25px;
	}

	.aviso .icon-close {

		margin : 30px 25px;
	}

	.aviso h2 {
		font-size   : 26px;
		line-height : 30px;
	}

	.aviso h2 br {
		display : none;
	}
}


/*---------------------FILES------------------------------*/

.content-files {
	padding    : 0;
	margin     : 60px 0 0 0;
	list-style : none;
}

.content-files li {
	border-bottom : 1px solid #c5cdd1;
	padding       : 10px 0;
}

.content-files li:first-child {
	border-top : 1px solid #c5cdd1;
}

.content-files a {
	color           : #252525;
	display         : block;
	text-decoration : none;
	line-height     : 25px;
	padding         : 8px 0;
	font-size       : 0;
	position        : relative;
}

.content-files em {
	display        : inline-block;
	width          : 335px;
	padding-right  : 10px;
	overflow       : hidden;
	vertical-align : top;
	font-size      : 14px;
}

.content-files span {
	display        : inline-block;
	vertical-align : top;
	font-size      : 14px;
	text-align     : center;
	border-left    : 1px solid #d3d9dc;
	color          : #888;
}

.content-files span.extention {
	width : 50px;
}

.content-files span.size {
	width        : 100px;
	border-right : 1px solid #d3d9dc;
}

.content-files a:before {
	font-size   : 16px;
	position    : absolute;
	right       : 0;
	margin      : 0 10px 0 0;
	width       : 25px;
	height      : 25px;
	line-height : 25px;
}

.content-files a:hover {
	color : #888;
}

.content-files-sections {
	margin     : 25px 0 0 0;
	padding    : 0;
	list-style : none;
}

.content-files-sections > li {
	margin : 4px 0;
}

.content-files-sections > li .aPage
{
	text-decoration: none;
	color: #333;
}

.content-files-sections .content-files {
	margin  : 0;
	padding : 10px 0 6px 0;
	display : none;
}

.content-files-sections strong {
	background         : #f4f5f6;
	display            : block;
	line-height        : 20px;
	padding            : 10px;

	-webkit-transition : all 250ms ease-in-out;
	-moz-transition    : all 250ms ease-in-out;
	-ms-transition     : all 250ms ease-in-out;
	-o-transition      : all 250ms ease-in-out;
	transition         : all 250ms ease-in-out;
}

.content-files-sections strong:before {
	float       : right;
	display     : block;
	line-height : 20px;
	color       : #003050;
}

.content-files-sections .active strong {
	color      : #fff;
	background : #003050;
}

.content-files-sections .active strong:before {
	color : #fff;
}

/*---------------------------------------------------*/


/* FAQS */

.content-faqs-sections {
	margin     : 25px 0 0 0;
	padding    : 0;
	list-style : none;
}

.content-faqs-sections > li {
	margin : 4px 0;
}

.content-faqs-sections  div {
	margin  : 0;
	padding-left: 30px;
	display : none;
}

.content-faqs-sections  div p
{
	margin-top: 0;
}
.content-faqs-sections > li > strong {
	display            : block;
	line-height        : 20px;
	padding            : 10px;
	font-size					 : 16px;

	-webkit-transition : all 250ms ease-in-out;
	-moz-transition    : all 250ms ease-in-out;
	-ms-transition     : all 250ms ease-in-out;
	-o-transition      : all 250ms ease-in-out;
	transition         : all 250ms ease-in-out;
}

.content-faqs-sections strong:before {
	float       : right;
	display     : block;
	line-height : 20px;
	color       : #003050;
}


#map_wrapper {
    height: 400px;
		width: 100%;
}

#map_canvas {
    width: 100%;
    height: 100%;
}

/*
.content-faqs-sections .active strong {
	color      : #fff;

}

.content-faqs-sections .active strong:before {
	color : #fff;
}*/






.tabelaExecutivo img {
	max-width: 100%;
}

.tabelaExecutivo td {
	display: block;
}

@media screen and (min-width: 768px) {
	.tabelaExecutivo td {
		display: table-cell;
	}

	.tabelaExecutivo img {
		max-width: 200px;
		margin-right: 20px;
	}
}

.tabelaSelector {
	display: none;
}

.specialSelectorOutput {
	margin-bottom: 100px;
}

.specialSelectorOutput div {
	display: none;
}

.specialSelectorOutput div.active {
	display: block;
}

.pageSharing {
	margin-top: 50px;
}

.swiper-slide.video-gallery::before {
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url('../images/video-overlay.png') center center;
	background-size: cover;
}






.tabelaAnimais {
	border: 0 none !important;
}

.tabelaAnimais img {
	height: auto !important;
	border: 2px solid white !important;
}

.tabelaAnimais td {
	text-align: center;
	border: 0 none !important;
}

.tabelaAnimais a {
	font-weight: bold;
	color: #003050;
	text-decoration: none;
}

@media screen and (max-width:320px) {
	.tabelaAnimais td {
		display: block;
		clear: both;
		width: 100%;
	}
}





@media screen and (min-width:950px) {
	.fotoObra {
		width: 154%;
		max-width: none !important;
		margin: 20px 0;
	}
}







@media print {
	/*-----------------------------------------------------------
	  INCLUDE PRINT STYLES AT THE END
	-------------------------------------------------------------*/
}
