// =============================================================================
// String Replace
// =============================================================================

@function str-replace($string, $search, $replace: "") {
	$index: str-index($string, $search);

	@if $index {
		@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
	}

	@return $string;
}

// =============================================================================
// Font Face
// =============================================================================

@mixin font-face($name, $path, $weight: null, $style: null, $exts: eot woff ttf svg) {
	$src: null;

	$extmods: (
		eot: "?#iefix",
		svg: "#" + str-replace($name, " ", "_")
	);

	$formats: (
		otf: "opentype",
		ttf: "truetype"
	);

	@each $ext in $exts {
		$extmod: if(map-has-key($extmods, $ext), $ext + map-get($extmods, $ext), $ext);
		$format: if(map-has-key($formats, $ext), map-get($formats, $ext), $ext);
		$src: append($src, url(quote($path + "." + $extmod)) format(quote($format)), comma);
	}

	@font-face {
		font-family: quote($name);
		font-style: $style;
		font-weight: $weight;
		src: $src;
	}
}

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
          border-radius: $radius;
}

@mixin filter($radius) {
  -ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity='+$radius+')'; 
  filter: alpha(opacity=$radius); 
  opacity:$radius/100;
}

@mixin rotate($radius){
	/* Safari */
	-webkit-transform: rotate(-$radius);
	
	/* Firefox */
	-moz-transform: rotate(-$radius);
	
	/* IE */
	-ms-transform: rotate(-$radius);
	
	/* Opera */
	-o-transform: rotate(-$radius);
}

@mixin vertical-align($position: relative) {
  position: $position;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
// fim funcoes



// variaveis
$font:'Cairo', sans-serif;
$primary-color:#000000;
$font-default: $font;

$col1:70%;
$col2:30%;
$sep:20px;

$margem:34px;
//$margem_mobile:10px;

//fim variaveis

:root{
	--var-sep:8px;
	--var-sep_dir:0px;
	--var-margem:34px;
	--var-dark-bg:#000;
	--var-dark-color:#fff;

	//e5e5ffe5
	--var-white-bg:#fff;
	--var-white-color:#000;

	--var-padding-bottom: 90px;
	
	@media only screen and (max-width:767px)
	{
		--var-margem:10px;
		--var-padding-bottom:60px;
	}

	@media only screen and (max-width:767px)
	{
		--var-sep:0px;
	}
}

body,html
{
	font-family: $font-default;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	border: none;
	color: var(--var-white-color);
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	background-color: var(--var-white-bg);
}

a
{
	color: inherit;
	text-decoration: none;
	-moz-transition: all 0.3s ease-out;
    /* WebKit */
    -webkit-transition: all 0.3s ease-out;
    /* Opera */
    -o-transition: all 0.3s ease-out;
    /* Standard */
    transition: all 0.3s ease-out;
}

a:hover, .botao:hover
{
	text-decoration: none;
	
}

.bold, strong,b
{
	font-weight: 700;
}

.black
{
	font-weight: 900;
}

input, textarea
{
	outline: none;
}

.acenter
{
	text-align: center;
}

.italic
{
	font-style: italic;
}

.left
{
	float: left;
}

.right
{
	float: right;
}

.clear
{
	clear: both;
}

.relative
{
	position: relative
}

.absolute
{
	position: absolute;
}

.vvhide
{
	visibility: hidden;
}

.block
{
	display: block;
}

.aright
{
	text-align: right;
}

textarea,
input[type="text"],
input[type="button"],
input[type="submit"] {
     -webkit-appearance: none;
	 appearance: none;
     border-radius: 0;
}

button,input[type=button],input[type=submit]
{
	-webkit-appearance: none;
	appearance: none;
}


header
{
	height: $margem;
	position: relative;
	z-index: 9999;
	
	.h1
	{
		margin-left: calc(var(--var-margem) + var(--var-sep));
		float: left;
		margin-top: 10px;
		
		svg
		{
			width: 90px;
			height: auto;
			display: block;
		}
	}
	
	.lupa_wrap
	{
		float: right;
		margin-right: calc(var(--var-margem) + 5px + var(--var-sep_dir));
		padding-top: 6px;
		height: 20px;
		
		@media only screen and (max-width:767px)
		{
			margin-right: calc( (1 * $margem) + 15px);
		}

		.lupa{
			svg{
				width: 20px;
				height: auto;
			}
		}
	}
	
	.form_wrap
	{
		margin-right: 15px;
// 		margin-top: 20px;
		margin-top: 3px;
		display: none;
		height: 25px;
		
		@media only screen and (max-width:767px)
		{
			margin-top: 4px;	
		}
		
		&.show
		{
			display: block;
		}
		
		.caixa
		{
			background-color: #fff;
			border: none;
			font-size: 13px;
			height: 20px;
			width: 130px;
			padding-left: 5px;
			border: solid 1px #fff;
			//top: -13px;
			position: relative;
			
		}
	}
	
	.menu_open_wrap
	{
		position: fixed;
		top: var(--var-margem);
		right: 0px;
		height: $margem;
		width: $margem;
		background-color: #000;
		
		@media only screen and (max-width:767px)
		{
			top: 0px;
			right: var(--var-margem);
		}
		
		.menu_open {
			margin-left: 6px;
			margin-top: 9px;
		 	width: 22px;
		 	height: 18px;
		 	-webkit-transform: rotate(0deg);
		 	-moz-transform: rotate(0deg);
		 	-o-transform: rotate(0deg);
		 	transform: rotate(0deg);
		  	-webkit-transition: .5s ease-in-out;
		  	-moz-transition: .5s ease-in-out;
		  	-o-transition: .5s ease-in-out;
		  	transition: .5s ease-in-out;
		  	cursor: pointer;
		  	position: relative;
		  	z-index: 10000;
		  	//margin-right: $margin;
		}
		
		.menu_open span {
		  display: block;
		  position: absolute;
		  height: 2px;
		  width: 100%;
		  background: #fff;
		  opacity: 1;
		  left: 0;
		  -webkit-transform: rotate(0deg);
		  -moz-transform: rotate(0deg);
		  -o-transform: rotate(0deg);
		  transform: rotate(0deg);
		  -webkit-transition: .25s ease-in-out;
		  -moz-transition: .25s ease-in-out;
		  -o-transition: .25s ease-in-out;
		  transition: .25s ease-in-out;
		}
		
		.menu_open span:nth-child(1) {
		  top: 0px;
		}
		
		.menu_open span:nth-child(2),.menu_open span:nth-child(3) {
		  top: 7px;
		}
		
		.menu_open span:nth-child(3)
		{
			box-shadow: none;
		}
		
		.menu_open span:nth-child(4) {
		  top: 14px;
		  width: 100%;
		}
		
		.menu_open.open span:nth-child(1) {
		  top: 7px;
		  width: 0%;
		  left: 50%;
		  box-shadow: none;
		}
		
		.menu_open.open span:nth-child(2) {
		  -webkit-transform: rotate(45deg);
		  -moz-transform: rotate(45deg);
		  -o-transform: rotate(45deg);
		  transform: rotate(45deg);  
		}
		
		.menu_open.open span:nth-child(3) {
		  -webkit-transform: rotate(-45deg);
		  -moz-transform: rotate(-45deg);
		  -o-transform: rotate(-45deg);
		  transform: rotate(-45deg); 
		}
		
		.menu_open.open span:nth-child(4) {
		  top: 7px;
		  width: 0%;
		  left: 50%;
		  box-shadow: none;
		}
	}
	
	.lang_socials
	{
		background-color: #000;
		position: fixed;
		left: 0px;
		bottom: 0px;
		
		@media only screen and (max-width:767px)
		{
			display: none;
		}
		
		.row
		{
			width: var(--var-margem);
			text-align: center;
			position: relative;
			font-size: 14px;
			font-weight: bold;
			color: #fff;
			padding-top: 5px;
			padding-bottom: 5px;
			
			@media only screen and (max-width:767px)
			{
				display: inline-block;	
				width: auto;
				padding-left: 8px;
			}
			
			img
			{
				max-width: 40%;
			}
			
			.fb
			{
				img
				{
					max-width: 30%;
				}
			}
		}
		
		.row2
		{
			width: var(--var-margem);
			height: 90px;
			background-color: #000;
			color: #fff;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 1px;
			font-size: 13px;
			padding-top: 0px;
			padding-bottom: 0px;
			
			@media only screen and (max-width:767px)
			{
				display: none;
			}
			
			p
			{
				margin-top:30px;
			 	transform: rotate(90deg);
			 	transform-origin: center center;
			}
		}
		
		a:hover
		{
			opacity: 0.7;
		}
	}
	
	nav
	{
		.lang_socials
		{
			display: none;
			
			@media only screen and (max-width:767px)
			{
				position: relative;
				bottom: auto;
				left: auto;	
				display: block;
			}
		}
		
		background-color: #000;
		position: fixed;
		z-index: 8999;
		right: var(--var-margem);
		top: var(--var-margem);

		@media only screen and (max-width:767px)
		{
			display: none;
			top: 34px;
		}
 		
		&.loading{
			z-index: -1;
			visibility: hidden;
			display: block;

			@media only screen and (max-width:767px)
			{
				z-index: 100;
				visibility: visible;
				display: none;
			}
		}
 		
 		@media only screen and (max-width:767px)
		{
			width: calc(100% - (2 * var(--var-margem)));	
		}
		
		ul
		{
			margin: 0;
			padding: 0;
			padding-left: 12px;
			
			@media only screen and (max-width:767px)
			{
				padding-left: 8px;	
			}
			
			padding-top: 15px;
			padding-right: 15px;
			padding-bottom: 30px;
			
			li
			{
				list-style: none;
				margin-top: 12px;
				font-size: 13px;
				line-height: 19px;
				color: #fff;
				text-transform: uppercase;
				position: relative;
				
				&:first-child
				{
					margin-top: 0px;
				}
				
				a
				{
					padding-left: 3px;
					padding-right: 15px;
					
					&:hover, &.sel
					{
						// background-color: #fff;
						// color: #000;
						font-weight: 700;
					}
				}
				
				.submenu
				{
					display: none;
					width: calc(80% - 15px);
					z-index: 8998;
					background-color: #000;
					padding-bottom: 2px;
					padding-top: 4px;
					
					li{
						margin-top: 4px;
					}
				}
				
				&:hover
				{
					> .submenu
					{
						display: block;
					}
				}
			}
		}
	}

	.menu_rapido{
		margin: 0;
		padding: 0;
		margin-top: 3px;

		li{
			list-style: none;
			display: inline-block;
			padding-right: 35px;
		}
	}
}

footer
{
	font-size: 22px;
	line-height: 26px;
	color: #fff;


	/*	
	#newsletter_footer
	{
		background-color:#242424;
		margin-top: 100px;
		padding-top: 95px;
		padding-bottom: 75px;
		
		padding-left: var(--var-margem);
		padding-right: var(--var-margem);
		
		@media only screen and (max-width:767px)
		{
			padding-top: 65px;
			padding-bottom: 55px;
		}
		
		.newsletter_footer_inner
		{
			width: 60%;
			max-width: 600px;
			margin-left: auto;
			margin-right: auto;
			
			@media only screen and (max-width:1023px)
			{
				width: 85%;	
			}
			
			@media only screen and (max-width:767px)
			{
				width: 100%;
			}
		}
		
		h4
		{
			font-weight: bold;
			text-transform: uppercase;
		}
		
		.subscribe_txt
		{
			width: 70%;
			margin-top: 2px;
		}
		
		#newsletter_load
		{
			display: none;
			
			.msg
			{
				color: #ff0000;
				margin-top: 10px;
			}
		}
		
		#f_newsletter
		{
			margin-top: 44px;
		}
		
		.caixas
		{
			border: solid 1px #000;
			background-color: #fff;
			height: 34px;
			padding-left: 5px;
			width: calc(100% - 70px);
			margin-bottom: 10px;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			font-size: 20px;
			
			&.caixas_error
			{
				border: solid 1px #ff0000;
			}
		}
		
		.label
		{
			width: 70px;
			display: inline-block;
			text-transform: capitalize;
		}
		
		#bt_news
		{
			margin-top: 16px;
			border: none;
			width: 100px;
			height: 34px;
			font-size: 15px;
			font-weight: bold;
			background-color: #fff;
			color: #000;
			text-transform: uppercase;
			border: solid 1px #fff;
			-webkit-transition: all 0.3s ease-out;
			-moz-transition: all 0.3s ease-out;
			-o-transition: all 0.3s ease-out;
			transition: all 0.3s ease-out;
			
			&:hover
			{
				background-color: #000;
				color: #fff;
				cursor: pointer;
			}
		}
	}
	
	#contact_footer
	{
		background-color: #000;
		padding-top: 70px;
		padding-bottom: 165px;
		padding-left: calc(var(--var-margem) + var(--var-sep));
		padding-right: calc(var(--var-margem) + var(--var-sep_dir));
		
		@media only screen and (max-width:767px)
		{
			padding-bottom: 65px;
			text-align: center;
		}
		
		.col1
		{
			width: 20%;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			&.aright
			{
				text-align: right;
				
				@media only screen and (max-width:767px)
				{
					margin-top: 50px;
					text-align: center;	
				}
			}
		}
		
		.col2
		{
			width: 60%;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			ul{
				margin: 0;
				padding: 0;
				display: -webkit-flex;
			    display: -ms-flexbox;
			    display: flex;
			 
			    -webkit-flex-wrap: wrap;
			    -ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			    
			    justify-content: space-between;
			    
			    @media only screen and (max-width:767px)
				{
					display: block;
					width: 100%;
					text-align: center;	
				}
			    
			    li{
				    list-style: none;
				    
				    &:nth-child(2)
				    {
					    font-size: 14px;
					    line-height: 18px;
					    
					    @media only screen and (max-width:767px)
						{
							margin-top: 20px;	
						}
					    
					    a{
						    text-decoration: underline
					    }
				    }
			    }
			}
		}
		
		.socials
		{
			ul
			{
				margin: 0;
				padding: 0;
				
				li
				{
					list-style: none;
					width: 36px;
					display: inline-block;
					margin-left: 6px;

					&:first-child
					{
						margin-left: 0px;
					}

					img
					{
						max-width: 100%;
						height: auto;
						display: block;
					}
				}
			}
		}
		
		.logo
		{
			width: 180px;
			max-width: 90%;
			height: auto;

			@media only screen and (max-width:1023px)
			{
				width: 120px;
			}
		}
		
		.texto
		{
			margin-top: 22px;
			
			@media only screen and (max-width:1023px)
			{
				margin-top: 6px;	
			}

			img{
				max-width: 100%;
				height: auto;
			}
		}
	}
	*/

	.apoios_bar{
		width: calc(100% - (2 * var(--var-margem)));
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 40px;

		img{
			display: block;
			max-width: 100%;
			height: auto;
		}

		.bar_desktop{
			display: block;
		}

		.bar_mobile{
			display: none;
		}
	}
		
	#newsletter_footer
	{
		
		padding-top: 30px;

		@media only screen and (max-width:767px)
		{
			max-width: 450px;
			margin-left: auto;
			margin-right: auto;
		}
		
		h4, .h4
		{
			font-weight: bold;
			text-transform: uppercase;
		}
		
		.subscribe_txt
		{
			width: 80%;
			margin-top: 2px;

			@media only screen and (max-width:767px)
			{
				width: 100%;
			}
		}
		
		#newsletter_load
		{
			display: none;
			
			.msg
			{
				color: #ff0000;
				margin-top: 10px;
			}
		}
		
		#f_newsletter
		{
			margin-top: 44px;
		}
		
		.caixas
		{
			border: solid 1px #000;
			background-color: #fff;
			height: 34px;
			padding-left: 5px;
			width: calc(100% - 70px);
			margin-bottom: 10px;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			font-size: 15px;
			
			&.caixas_error
			{
				border: solid 1px #ff0000;
			}
		}
		
		.label
		{
			width: 70px;
			display: inline-block;
			text-transform: capitalize;
		}
		
		#bt_news
		{
			margin-top: 16px;
			border: none;
			width: 150px;
			height: 42px;
			font-size: 15px;
			font-weight: bold;
			background-color: #fff;
			color: #000;
			text-transform: uppercase;
			border: solid 1px #fff;
			-webkit-transition: all 0.3s ease-out;
			-moz-transition: all 0.3s ease-out;
			-o-transition: all 0.3s ease-out;
			transition: all 0.3s ease-out;
			
			&:hover
			{
				background-color: #000;
				color: #fff;
				cursor: pointer;
			}
		}
	}

	#contact_footer
	{
		background-color: #000;
		padding-top: 70px;
		padding-bottom: 70px;
		padding-left: calc(var(--var-margem) + var(--var-sep));
		padding-right: calc(var(--var-margem) + var(--var-sep_dir));
		margin-top: 100px;
		
		@media only screen and (max-width:767px)
		{
			margin-top: 50px;
			padding-bottom: 65px;
			text-align: center;
		}
		
		.col1
		{
			width: 15%;

			img, svg{
				max-width: 90%;
				height: auto;
			}
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			&.aright
			{
				text-align: right;
				
				@media only screen and (max-width:767px)
				{
					margin-top: 50px;
					text-align: center;	
				}
			}
		}
		
		.col2
		{
			width: 30%;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			ul{
				margin: 0;
				padding: 0;
				display: -webkit-flex;
			    display: -ms-flexbox;
			    display: flex;
				margin-top: 20px;
			 
			    -webkit-flex-wrap: wrap;
			    -ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			    
			    justify-content: space-between;
			    
			    @media only screen and (max-width:767px)
				{
					display: block;
					width: 100%;
					text-align: center;	
				}
			    
			    li{
				    list-style: none;
				    
				    &:nth-child(2)
				    {
					    font-size: var(--var-14);
					    line-height: var(--var-line-18);
					    
					    @media only screen and (max-width:767px)
						{
							margin-top: 20px;	
						}
					    
					    a{
						    text-decoration: underline
					    }
				    }
			    }
			}
		}

		.col3{
			width: 60px;
			padding-left: 50px;
			padding-right: 50px;
			
			@media only screen and (max-width:1023px)
			{
				padding-left: 20px;
				padding-right: 20px;
			}

			@media only screen and (max-width:767px)
			{
				width: 100%;
				padding-left: 0px;
				padding-right: 0px;
			}
		}

		.col4{
			width: calc(100% - 15% - 30% - 160px);

			@media only screen and (max-width:1023px)
			{
				width: calc(100% - 15% - 30% - 100px);
			}

			@media only screen and (max-width:767px)
			{
				width: 100%;
			}
		}
		
		.socials
		{
			margin-top: 30px;

			ul
			{
				margin: 0;
				padding: 0;
				
				li
				{
					list-style: none;
					width: 60px;
					display: inline-block;
					margin-top: 20px;

					@media only screen and (max-width:1023px)
					{
						width: 40px;
					}

					&:first-child
					{
						margin-top: 0px;
					}

					img
					{
						width: 100%;
						max-width: 100%;
						height: auto;
						display: block;
					}
				}
			}
		}
		
		.logo
		{
			width: 180px;
			max-width: 90%;
			height: auto;

			@media only screen and (max-width:1023px)
			{
				width: 120px;
			}
		}
		
		.texto
		{
			margin-top: 22px;
			
			@media only screen and (max-width:1023px)
			{
				margin-top: 6px;	
			}

			img{
				max-width: 100%;
				height: auto;
			}
		}
	}
}

section
{
	margin-left: calc(var(--var-margem) + var(--var-sep));
	margin-right: calc(var(--var-margem) + var(--var-sep_dir));
		
	input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	    color: #ECE7E1;
	}
	input:focus::-webkit-input-placeholder,textarea:focus::-webkit-input-placeholder {
	    color: #ECE7E1;
	}
	
	/* Firefox < 19 */
	input:-moz-placeholder, textarea:-moz-placeholder {
	    color: #ECE7E1;
	}
	input:focus:-moz-placeholder, textare:focus:-moz-placeholder {
	    color: #ECE7E1;
	}
	
	/* Firefox > 19 */
	input::-moz-placeholder, textarea::-moz-placeholder {
	    color: #ECE7E1;
	}
	input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
	    color: #ECE7E1;
	}
	
	/* Internet Explorer 10 */
	input:-ms-input-placeholder, textarea:-ms-input-placeholder {
	    color: #ECE7E1;
	}
	input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
	    color: #ECE7E1;
	}
	
	.home_wrap
	{
		#flexslider
		{
			.img_palombar
			{
				position: absolute;
				z-index: 999;
				width: 100%;
				height: 100%;
				
				img
				{
					margin-left: auto;
					margin-right: auto;
					width: 120px;
					height: auto;
					@include vertical-align();
					
					@media only screen and (max-width:1023px)
					{
						width: 60px;	
					}
					
					@media only screen and (max-width:767px)
					{
						width: 40px;	
					}
				}
			}
			
			.slides
			{
				li
				{
					@media only screen and (max-width:767px)
					{
						height: 50vh;
						
						.img_banner
						{
							object-fit: cover;
							height: 100%;
						}
					}
				}
			}
		}
	}
	
	.slideshow_topo
	{
		position: relative;
		margin-bottom: 80px;
		
		.texto_wrap
		{
			top: 58px; left:80px; position: absolute;
			color: #fff;
			width: 80%;
			max-width: 1000px;
			z-index: 9000;
			
			@media only screen and (max-width:1023px)
			{
				top:28px;
				left: 45px;	
			}
			
			@media only screen and (max-width:767px)
			{
				top:28px;
				left: 20px;
			}
			
			h1
			{
				font-weight: 700;
				font-size: 64px;
				line-height: 64px;
				text-transform: uppercase;

				@media only screen and (max-width:1023px)
				{
					font-size: 55px;
					line-height: 55px;
				}
				
				@media only screen and (max-width:767px)
				{
					font-size: 42px;
					line-height: 42px;	
				}
			}
			
			p{
				margin-top: 5px;
				font-weight: 300;
				font-size: 26px;
				line-height: 28px;
				
				@media only screen and (max-width:767px)
				{
					font-size: 20px;
					line-height: 22px;	
				}
			}
		}
		
		.slides
		{
			li
			{
				@media only screen and (max-width:767px)
				{
					height: 50vh;
					
					.img_banner
					{
						object-fit: cover;
						height: 100%;
					}
				}
			}
		}
	}
	
	.destaque
	{
		font-weight: 300;
		font-size: 30px;
		line-height: 35px;
		padding-right: 0px!important;

		@media only screen and (max-width:1023px)
		{
			font-size: 25px;
			line-height: 30px;
		}

		@media only screen and (max-width:767px)
		{
			font-size: 22px;
			line-height: 26px;
		}

		img{
			max-width: 100%;
			height: auto;
		}
	}
	
	.apoio
	{
		font-size: 14px;
		line-height: 16px;
	}
	
	.col1
	{
		width: calc(#{$col1} - #{$sep});
		padding-right: $sep;
		
		@media only screen and (max-width:767px)
		{
			width: 100%;
			padding-right: 0px;	
		}
	}
	
	.col2
	{
		width: $col2;
		
		@media only screen and (max-width:767px)
		{
			width: 100%;
			margin-top: 20px;
		}
	}
	
	.template1
	{
		padding-bottom: 40px;
		
		.col2{
			width: calc(#{$col2} - 5%);
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
		}
	}
	
	.template4
	{
		padding-bottom: var(--var-padding-bottom);
		
		.col1
		{
			width: 80%;
			margin-left: auto;
			margin-right: auto;
			
			@media only screen and (max-width:1023px)
			{
				width: 90%;
			}
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			&.destaque
			{
				font-size: 25px;
				line-height: 30px;

				@media only screen and (max-width:1023px)
				{
					font-size: 22px;
					line-height: 25px;
				}

				@media only screen and (max-width:767px)
				{
					font-size: 20px;
					line-height: 24px;
				}
			}
		}
	}
	
	.template2, .template3
	{
		padding-bottom: var(--var-padding-bottom);
		
		.inner-content
		{
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    justify-content: space-between;
		}
		
		.conteudo, .img
		{
			width: calc((100% - 25px) / 2); 
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
		}
		
		.conteudo
		{
			font-size: 17px;
			font-weight: 300;
			line-height: 21px;
			order: 1;
			padding-right: 80px;
			
			@media only screen and (max-width:1023px)
			{
				padding-right: 25px;	
			}
			
			@media only screen and (max-width:767px)
			{
				padding-right: 0px;	
				order: 2;
				margin-top: 15px;
			}
		}
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			margin-bottom: 25px;
			font-size: 22px;
		}
		
		.img
		{
			order: 2;
			
			@media only screen and (max-width:767px)
			{
				order: 1;	
			}
			
			img
			{
				width: 100%;
				max-width: 100%;
				height: auto;
				display: block;
			}

			video{
				width: 100%;
				display: block;
			}
		}
	}
	
	.template2
	{
		.conteudo
		{
			order: 2;
			padding-left: 80px;
			padding-right: 0px;
			
			@media only screen and (max-width:1023px)
			{
				padding-left: 25px;	
			}
			
			@media only screen and (max-width:767px)
			{
				padding-left: 0px;
				margin-top: 15px;
			}
		}
		
		.img
		{
			order: 1;
		}
	}
	
	.template5
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
			
		}

		.inner-content
		{
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    justify-content: space-between;
		}
		
		.conteudo
		{
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
		}
		
		.container_images
		{
			.grid-sizer
			{
				//width: calc((100% - 30px) / 3);
				width: calc( (4 * ( (100% - (11 * 15px) ) / 12 ) + (3 * 15px)));
				
				@media only screen and (max-width:767px)
				{
					width: calc((100% - 15px) / 2);
				}
			}
			
			.gutter-sizer
			{
	 			width: 15px;
			}
			
			.grid-item
			{
				margin-bottom: 15px;
				position: relative;
				
				.filter
				{
					background-color: rgba(0,0,0,0.6);
					position: absolute;
					top: 0px;
					left: 0px;
					width: 100%;
					height: 100%;
					
					.info_wrap
					{
						font-size: 15px;
						color: #fff;
						padding-left: 80px;
						position: absolute;
						bottom: 20px;
						padding-right: 80px;
						width: 330px;
						line-height: 17px;
						
						@media only screen and (max-width:1023px)
						{
							padding-left: 50px;
							width: 65%;	
						}
						
						@media only screen and (max-width:767px)
						{
							padding-left: 20px;
							width: 75%;
						}
						
						h3
						{
							font-weight: 700;
							margin-left: 0px;
						}
						
						.texto
						{
							@media only screen and (max-width:767px)
							{
								display: none;
							}

							img{
								max-width: 100%;
								height: auto;
							}
						}
					}
				}
				
				.filtera
				{
					.info_wrap
					{
						margin-top: 20px;
						font-size: 15px;
						color: #000;
						padding-left: 80px;
						padding-right: 80px;
						width: 330px;
						line-height: 17px;
						
						@media only screen and (max-width:1023px)
						{
							padding-left: 50px;
							width: 65%;	
						}
						
						@media only screen and (max-width:767px)
						{
							padding-left: 20px;
							width: 75%;
						}
					}
				}
				
				.video
				{
					position: absolute;
					top:0px;
					left: 0px;
					width: 100%;
					height: 100%;
					background-image: url(/images/play.svg);
					background-repeat: no-repeat;
					background-position: center center;
					background-size: 40px;
					
				}

				&.colunas3
				{
					width: calc( (12 * ((100% - (11 * 15px)) / 12 ) + (11 * 15px)));
					
					@media only screen and (max-width:767px)
					{
						width: 100%;	
					}
					
					.img{
						padding-bottom: 60%;
					}
					
					.filter
					{
						.info_wrap{
							bottom: auto;
							top: 60px;
							
							@media only screen and (max-width:767px)
							{
								top: 20px;	
							}
						}
					}
				}			

									
				&.full
				{
					width:100%;
					
					img
					{
						max-width: 100%;
						height: auto;
						width: 100%;
						display: block;
					}
				}

				
				&.colunas2
				{
					width: calc( (8 * ((100% - (11 * 15px)) / 12 ) + (7 * 15px)));
					
					@media only screen and (max-width:767px)
					{
						width: calc((100% - 15px) / 2);
					}
					
					.img{
						padding-bottom: 70%;
					}
				}
				
				&.colunas1
				{
					width: calc( (4 * ((100% - (11 * 15px)) / 12 ) + (3 * 15px)));
					
					@media only screen and (max-width:767px)
					{
						width: calc((100% - 15px) / 2);
					}
					
					.img{
						padding-bottom: 70%;
					}
				}
				
				.number
				{
					position: absolute; z-index: 0; display: none;
				}
				
				.img{
					background-repeat: no-repeat;
					background-size: cover;	
					background-position: center center;
				}
				
				.imagem_capa
				{
					max-width: 100%;
					width: 100%;
					height: auto;
					display: block;
				}
			}

			&.single{
				.conteudo
				{
					font-size: 16px;
					font-weight: 300;
					line-height: 19px;
					order: 2;
					width: 40%;
					padding-left: 80px;
					
					@media only screen and (max-width:1023px)
					{
						padding-left: 25px;	
					}
					
					@media only screen and (max-width:767px)
					{
						padding-left: 0px;	
						margin-top: 15px;
						width: 100%;
					}
				}
				
				h3
				{
					font-weight: 900;
					text-transform: uppercase;
					margin-bottom: 25px;
				}
				
				.img
				{
					order: 1;
					width: 55%;

					@media only screen and (max-width:767px)
					{
						width: 100%;
					}
					
					.img-container{
						position: relative;
						width: 100%;
						padding-top: 56.25%; /* 16:9 */
						background: #000;
						cursor: pointer;
						overflow: hidden;
						height: 0px;

						.play{
							position: absolute;
							top: 50%;
							left: 50%;
							transform: translate(-50%, -50%);
							width: 40px;
							height: 44px;
							object-fit: contain;
						}
							
						.img-inner, iframe, img {
							position: absolute;
							top: 0;
							left: 0;
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					}
				}
			}
		}
			
		.container_images
		{
			.grid-item
			{
				&.detail_item_g
				{
					.filter{
						background-color: transparent;
					}
				}
			}
		}
	}
	
	.template6
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 14px;
		}
		
		.ficheiros
		{
			font-size: 0px;
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    margin-top: 0px;
			
			li
			{
				font-size: 16px;
				width: calc((100% - 45px) / 4);
				display: inline-block;
				font-weight: 700;
				line-height: 18px;
				margin-top: 15px;
				margin-bottom: 5px;
				margin-left: 15px;
				
				@media only screen and (max-width:1023px)
				{
					width: calc((100% - 15px) / 2);	
				}
				
				@media only screen and (max-width:767px)
				{
					width: calc((100% - 15px) / 2);
				}
				
				&:nth-child(4n+1)
				{
					margin-left: 0px;
					
					@media only screen and (max-width:1023px)
					{
						margin-left: 15px;	
					}
				}
				
				@media only screen and (max-width:1023px)
				{
					&:nth-child(2n+1)
					{
						margin-left: 0px;	
					}
				}
				
				.type
				{
					font-weight: 300;
				}
			}
		}
	}
	
	.template7
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		ul
		{
			margin:0px;
			padding: 0px;
			width: 100%;
			font-size: 0px;
			
			li
			{
				list-style: none;
				margin-top: 25px;
				width: calc((100% - (5 * #{$sep})) / 6);
				display: inline-block;
				margin-left: $sep;
				position: relative;
				
				@media only screen and (max-width:1023px)
				{
					width: calc((100% - (3 * #{$sep})) / 4);	
				}
				
				@media only screen and (max-width:767px)
				{
					width: calc((100% - (1 * #{$sep})) / 2);
				}
				
				&:first-child
				{
					margin-top: 0px;
				}
				
				&:nth-child(6n-5)
				{
					margin-left: 0px;
					
					@media only screen and (max-width:1023px)
					{
						margin-left: $sep;	
					}
				}
				
				@media only screen and (max-width:1023px)
				{
					&:nth-child(4n-3)
					{
						margin-left: 0px;
					}	
				}
				
				@media only screen and (max-width:767px)
				{
					&:nth-child(2n-1)
					{
						margin-left: 0px;
					}
				}
				
				.img
				{
					-moz-transition: all 0.3s ease-out;
				    /* WebKit */
				    -webkit-transition: all 0.3s ease-out;
				    /* Opera */
				    -o-transition: all 0.3s ease-out;
				    /* Standard */
				    transition: all 0.3s ease-out;

					img
					{
						max-width: 100%;
						height: auto;
						width: 100%;
						display: block;
					}
				}
				
				.content
				{
					position: absolute;
					width: 100%;
					bottom:20px;
					left: 0px;
					font-size: 16px;
					line-height: 20px;
					display: none;
					
					h3
					{
						font-weight: 700;
						margin-left: 10px;
						text-transform: none;
					}
					
					.cargo
					{
						margin-top: 3px;
						margin-left: 10px;
						font-weight: 300;
					}
				}
				
				&:hover
				{
					.img
					{
						opacity: 0.25;
					}
					
					.content
					{
						display: block;
					}
				}
			}
		}
		
		.item_detail
		{
			padding-bottom: 70px;
			
			.col1{
				width: 25%;
				padding-right: 0px;
				
				img
				{
					width: 100%;
					height: auto;
					max-width: 100%;
					display: block;
				}
			}
			
			.col2
			{
				width: 50%;
				margin-left: $sep;
				
				@media only screen and (max-width:1023px)
				{
					width: 60%;	
				}
				
				@media only screen and (max-width:767px)
				{
					width: 65%;	
					margin-top: 0px;
				}
				
				h2
				{
					margin-bottom: 0px;
					margin-top: 10px;
					font-size: 16px;
					line-height: 20px;
				}
				
				.cargo
				{
					font-size: 15px;
					line-height: 19px;
					margin-top: 3px;
				}
				
				.texto
				{
					font-size: 14px;
					line-height: 18px;
					margin-top: 20px;

					img{
						max-width: 100%;
						height: auto;
					}
				}
			}
		}
	}

	.template14
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		ul
		{
			margin:0px;
			padding: 0px;
			width: 100%;
			font-size: 0px;
			display: grid;
			grid-template-columns: repeat(6, 1fr);
			grid-gap: calc($sep + 15px);

			@media only screen and (max-width:1023px)
			{
				grid-template-columns: repeat(4, 1fr);
			}

			@media only screen and (max-width:767px)
			{
				grid-template-columns: repeat(2, 1fr);
			}
			
			li
			{
				list-style: none;
				margin-top: 25px;
				//width: calc((100% - (5 * #{$sep})) / 6);
				//display: inline-block;
				//margin-left: $sep;
				position: relative;
				grid-column: span 1;

				&.colunas-2{
					grid-column: span 2;
				}
				
				// @media only screen and (max-width:1023px)
				// {
				// 	width: calc((100% - (3 * #{$sep})) / 4);	
				// }
				
				// @media only screen and (max-width:767px)
				// {
				// 	width: calc((100% - (1 * #{$sep})) / 2);
				// }
				
				.img
				{
					-moz-transition: all 0.3s ease-out;
				    /* WebKit */
				    -webkit-transition: all 0.3s ease-out;
				    /* Opera */
				    -o-transition: all 0.3s ease-out;
				    /* Standard */
				    transition: all 0.3s ease-out;
					display: flex;

					img
					{
						max-width: 100%;
						height: auto;
						width: 100%;
						display: block;
						object-fit: contain;
					}
				}
				
				.content
				{
					font-size: 16px;
					line-height: 20px;
					margin-top: 20px;
					
					h3
					{
						font-weight: 700;
						margin-left: 10px;
						text-transform: none;
					}
					
					.cargo
					{
						margin-top: 3px;
						margin-left: 10px;
						font-weight: 300;
					}
				}
				
				a{
					&:hover
					{
						.img
						{
							opacity: 0.25;
						}
						
						.content
						{
							display: block;
						}
					}
				}
			}
		}
		
		.item_detail
		{
			padding-bottom: 70px;
			
			.col1{
				width: 25%;
				padding-right: 0px;
				
				img
				{
					width: 100%;
					height: auto;
					max-width: 100%;
					display: block;
				}
			}
			
			.col2
			{
				width: 50%;
				margin-left: $sep;
				
				@media only screen and (max-width:1023px)
				{
					width: 60%;	
				}
				
				@media only screen and (max-width:767px)
				{
					width: 65%;	
					margin-top: 0px;
				}
				
				h2
				{
					margin-bottom: 0px;
					margin-top: 10px;
					font-size: 16px;
					line-height: 20px;
				}
				
				.cargo
				{
					font-size: 15px;
					line-height: 19px;
					margin-top: 3px;
				}
				
				.texto
				{
					font-size: 14px;
					line-height: 18px;
					margin-top: 20px;

					img{
						max-width: 100%;
						height: auto;
					}
				}
			}
		}
	}

	.template16
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		ul
		{
			margin:0px;
			padding: 0px;
			width: 100%;
			font-size: 0px;
			display: grid;
			grid-template-columns: repeat(6, 1fr);
			grid-gap: calc($sep + 15px);

			@media only screen and (max-width:1023px)
			{
				grid-template-columns: repeat(4, 1fr);
			}

			@media only screen and (max-width:767px)
			{
				grid-template-columns: repeat(2, 1fr);
				grid-gap: calc($sep + 5px);
			}
			
			li
			{
				list-style: none;
				margin-top: 25px;
				//width: calc((100% - (5 * #{$sep})) / 6);
				//display: inline-block;
				//margin-left: $sep;
				position: relative;
				grid-column: span 1;

				// @media only screen and (max-width:1023px)
				// {
				// 	width: calc((100% - (3 * #{$sep})) / 4);	
				// }
				
				// @media only screen and (max-width:767px)
				// {
				// 	width: calc((100% - (1 * #{$sep})) / 2);
				// }
				
				.img
				{
					-moz-transition: all 0.3s ease-out;
				    /* WebKit */
				    -webkit-transition: all 0.3s ease-out;
				    /* Opera */
				    -o-transition: all 0.3s ease-out;
				    /* Standard */
				    transition: all 0.3s ease-out;
					display: flex;
					position: relative;

					img
					{
						max-width: 100%;
						height: auto;
						width: 100%;
						display: block;
						object-fit: contain;
						align-self: flex-end;
					}

					.filter{
						position: absolute;
						top:0px;
						left:0px;
						width: 100%;
						height: 100%;
						background-color: rgba(0,0,0,0.5);
						opacity: 0;
						-moz-transition: all 0.3s ease-out;
						/* WebKit */
						-webkit-transition: all 0.3s ease-out;
						/* Opera */
						-o-transition: all 0.3s ease-out;
						/* Standard */
						transition: all 0.3s ease-out;

						.tipo{
							color:#fff;
							font-weight: 700;
							position: absolute;
							bottom: 15px;
							left: 15px;
							font-size: 15px;
						}
					}
				}
				
				.content
				{
					font-size: 16px;
					line-height: 20px;
					margin-top: 20px;
					
					h3
					{
						font-weight: 700;
						margin-left: 10px;
						text-transform: none;
					}
					
					.cargo
					{
						margin-top: 3px;
						margin-left: 10px;
						font-weight: 300;
					}
				}
				
				a{
					&:hover
					{
						.filter{
							opacity: 1;
						}
						.content
						{
							display: block;
						}
					}
				}

				&.expander {
					grid-column: span 6;
					padding: 20px;
					box-sizing: border-box;
					
					@media only screen and (max-width:1023px)
					{
						grid-column: span 4;
					}

					@media only screen and (max-width:767px)
					{
						grid-column: span 2;
						padding: 10px;
					}
				}
			}
		}
		
		.item_detail
		{
			padding-bottom: 70px;
			width: 70%;
			margin-left: auto;
			margin-right: auto;
			position: relative;

			@media only screen and (max-width:1023px)
			{
				width: 100%;
			}
			
			.col1{
				width: 25%;
				padding-right: 0px;
				
				img
				{
					width: 100%;
					height: auto;
					max-width: 100%;
					display: block;
				}
			}
			
			.col2
			{
				width: 70%;
				margin-left: $sep;
				
				
				@media only screen and (max-width:767px)
				{
					width: 65%;	
					margin-top: 0px;
				}
				
				h2
				{
					margin-bottom: 0px;
					margin-top: 10px;
					font-size: 16px;
					line-height: 20px;
				}
				
				.cargo
				{
					font-size: 15px;
					line-height: 19px;
					margin-top: 3px;
				}
				
				.texto
				{
					font-size: 14px;
					line-height: 18px;
					margin-top: 20px;

					img{
						max-width: 100%;
						height: auto;
					}
				}
			}

			.closepop{
				position: absolute;
				top:0px;
				right: -20px;
				
				@media only screen and (max-width:767px)
				{
					right: -10px;
				}

				.bar{
					&.horizontal{
						transform: rotate(45deg);
					}

					&.vertical{
						transform: rotate(45deg);
					}
				}
			}
		}
		
		.filtros-selecionados{
			display: none;
		}

		.filtro-ativo {
			display: inline-block;
			background:transparent;
			border: solid 1px var(--var-dark-color);
			padding: 5px 8px;
			margin: 3px;
			border-radius: 4px;
		}

		.filtro-ativo button {
			margin-left: 5px;
			border: none;
			color: var(--var-dark-color);
			background: transparent;
			cursor: pointer;
		}

		.open-filtros{
			text-align: right;
			display: block;
			text-decoration: underline;
		}

		#filtros{
			position: absolute;
			right: 0px;
			top:0px;
			z-index: 1000;
			width: 200px;
			background-color: var(--var-dark-bg);
			color: var(--var-dark-color);
			padding: 20px;
			display: none;

			.filtros-wrap{
				position: relative;
			}

			.close-filtros{
				position: absolute;
				top:5px;
				right: 0px;

				.box{
					border-color: var(--var-dark-color);
					.bar{
						&.horizontal{
							transform: rotate(45deg);
							background-color:var(--var-dark-color);
						}

						&.vertical{
							transform: rotate(45deg);
							background-color:var(--var-dark-color);
						}
					}

					&:hover{
						.bar{
							&.horizontal, &.vertical{
								background-color:var(--var-dark-bg);
							}
						}
					}
				}
			}

			hr{
				background-color: var(--var-dark-color);
			}

			.opcao-filtro{
				cursor: pointer;
				-moz-transition: all 0.2s ease-out;
				-webkit-transition: all 0.2s ease-out;
				-o-transition: all 0.2s ease-out;
				transition: all 0.2s ease-out;
				display: grid;
				grid-template-columns: 1fr 20px; /* 1ª coluna flexível, 2ª com 30px */
  				gap: 10px; /* opcional */

				.count{
					text-align: right;
				}

				&:hover{
					opacity: 0.7;
				}
			}

			.grupo-filtro{
				strong{
					display: block;
					margin-top: 20px;
				}
			}
		}


		.filtros_menu{
			display: flex;
			
			.filtros_menu_content{
				display: flex;
				margin-left: auto;
				
				.open-filtros{
					display: block;
					text-decoration: underline;
				}

				.filtros-selecionados-container
				{
					position: relative;
					margin-right: 30px;

					.filtros-selecionados{
						position: relative;
						top:-7px;

						.filtro-ativo{
							border: solid 1px var(--var-dark-bg);
							padding:2px 5px;
							border-radius: 2px;

							button{
								color: var(--var-dark-bg);
							}
						}
					}
				}
			}
		}
	}
	
	.template8
	{
		padding-bottom: var(--var-padding-bottom);;
		
		.map_canvas {
			width:100%;
			height:0px;
			padding-bottom: 48%;
			z-index:100;
			position: relative;
			
			iframe {
				position:absolute;
				top:0;
				left:0;
				width:100%!important;
				height:100%!important;
			}
		}
	}
	
	.template9
	{
		padding-bottom: var(--var-padding-bottom);;
		line-height: 22px;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		.inner_content
		{
			width: 90%;
			margin-left: auto;
			margin-right: auto;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			.col
			{
				width: calc((100% - #{$sep}) / 2);
				font-weight: 300;
				font-size: 18px;
				line-height: 22px;
				
				@media only screen and (max-width:767px)
				{
					width: 100%;
					margin-bottom: 20px;	
				}
			}
		}
	}
	
	.template10
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		.inner_content
		{
// 			width: 90%;
			margin-left: auto;
			margin-right: auto;
			
			.col
			{
				width: calc((100% - 60px) / 4);
				font-weight: 300;
				font-size: 14px;
				line-height: 20px;
				margin-left: 20px;
				
				@media only screen and (max-width:767px)
				{
					width: calc((100% - 0px) / 1);
					margin-bottom: 20px;
					margin-left: 0px;
					&:nth-child(even)
					{
						margin-left: 0px;
					}
				}
				
				&.ml0
				{
					margin-left: 0px;
				}
			}
		}
	}
	
	.template11
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			padding-bottom: 10px;
		}
		
		.texto
		{
			font-size: 15px;
			line-height: 21px;

			img{
				max-width: 100%;
				height: auto;
			}
		}
	}

	.template12
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		ul
		{
			margin:0px;
			padding: 0px;
			width: 100%;
			font-size: 0px;
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			grid-gap: 15px;

			@media only screen and (max-width:767px)
			{
				grid-template-columns: 1fr;
			}
			
			li
			{
				grid-column: span 1;
				list-style: none;
				position: relative;
				
				.img
				{
					-moz-transition: all 0.3s ease-out;
				    /* WebKit */
				    -webkit-transition: all 0.3s ease-out;
				    /* Opera */
				    -o-transition: all 0.3s ease-out;
				    /* Standard */
				    transition: all 0.3s ease-out;
					position: relative;
					padding-bottom: 75%;

					img
					{
						position: absolute;
						width: 100%;
						height: 100%;
						display: block;
						object-fit: cover;
					}
				}
				
				.content
				{
					position: absolute;
					width: 100%;
					bottom:0px;
					left: 0px;
					font-size: 17px;
					line-height: 21px;
					color: #fff;
					background-color: rgba(0,0,0,0.4);
					height: 50px;
					padding-top: 6px;
					padding-bottom: 10px;
					-webkit-transition: all 0.2s ease-out;
					-moz-transition: all 0.2s ease-out;
					-o-transition: all 0.2s ease-out;
					transition: all 0.2s ease-out;

					@media only screen and (max-width:1023px)
					{
						height: 60px;
						font-size: 15px;
						line-height: 19px;
					}

					@media only screen and (max-width:767px)
					{
						height: 45px;
					}
					
					h3
					{
						font-weight: 700;
						margin-left: 10px;
						text-transform: none;
						margin-right: 10px;
					}
				}

				&:hover{
					.content
					{
						height: 70px;
					}
				}
			}
		}
		
		.item_detail
		{
			padding-bottom: 70px;
			
			.col1{
				width: 25%;
				padding-right: 0px;
				
				img
				{
					width: 100%;
					height: auto;
					max-width: 100%;
					display: block;
				}
			}
			
			.col2
			{
				width: 50%;
				margin-left: $sep;
				
				@media only screen and (max-width:1023px)
				{
					width: 60%;	
				}
				
				@media only screen and (max-width:767px)
				{
					width: 65%;	
					margin-top: 0px;
				}
				
				h2
				{
					margin-bottom: 0px;
					margin-top: 10px;
					font-size: 16px;
					line-height: 20px;
				}
				
				.cargo
				{
					font-size: 15px;
					line-height: 19px;
					margin-top: 3px;
				}
				
				.texto
				{
					font-size: 14px;
					line-height: 18px;
					margin-top: 20px;

					img{
						max-width: 100%;
						height: auto;
					}
				}
			}
		}
	}

	.template13
	{
		padding-bottom: var(--var-padding-bottom);;
		
		h2
		{
			font-weight: 900;
			text-transform: uppercase;
			font-size: 27px;
			line-height: 31px;
			margin-bottom: 10px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}

		.container_images{
			.slider{
				.slider_item{
					display: grid;
					grid-template-columns: 1fr 1fr 1fr 1fr;
					grid-gap:5px;

					@media only screen and (max-width:767px)
					{
						grid-template-columns: 1fr;
					}

					.image{
						grid-column: span 3;
					}

					.text{
						grid-column: span 1;
						padding-left: 10px;
						line-height: 20px;

						h3{
							font-weight: 900;
							text-transform: uppercase;
						}
					}
				}
			}
		}

		.carousel{
			margin-top: 15px;

			li{
				margin-right: 0px;
				
				.image-thumb{
					margin-left: 15px;
					cursor: pointer;
					position: relative;

					img{
						width: 100%;
						height: calc(((100vw - ( 2 * var(--var-sep))) / 4) * 0.6);
						object-fit: cover;
						display: block;
					}

					.play{
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						width: 40px;
						height: 44px;
						object-fit: contain;

						@media only screen and (max-width:767px)
						{
							width: 15px;
							height: 15px;
						}
					}
				}

				&:first-child{
					.image-thumb{
						margin-left: 0px;
					}
				}
			}

			.flex-direction-nav{
				.flex-next, .flex-prev{
					background-size: 10px;
					
				}

				.flex-next{
					right: 15px;

					@media only screen and (max-width:767px)
					{
						right: 5px;
					}
				}

				.flex-prev{
					left: 15px;

					@media only screen and (max-width:767px)
					{
						left: 5px;
					}
				}
			}
		}

		.slider{
			.flex-direction-nav{
				
				.flex-next{
					background-image: url(/images/right.png);
					background-size: 10px;
					right: calc(25% + 25px);

					@media only screen and (max-width:1023px)
					{
						right: calc(25% + 15px);
					}

					@media only screen and (max-width:767px)
					{
						display: none;
					}
				}

				.flex-prev{
					background-image: url(/images/left.png);
					background-size: 10px;

					@media only screen and (max-width:767px)
					{
						display: none;
					}
				}
			}
		}
	}
	
	.wrap_palombar
	{
		.template9
		{
			.inner_content{
				width: 80%;
				margin-left: 0px;
				
				@media only screen and (max-width:767px)
				{
					width: 100%;	
				}
			}
		}
	}
	
	&#wrap_contactos
	{
		.topo_white
		{
			margin-bottom: 0px;
		}
		
		.template4
		{
			.col1{
				margin-left: 80px;
				
				@media only screen and (max-width:1023px)
				{
					margin-left: 50px;	
				}
				
				@media only screen and (max-width:767px)
				{
					margin-left: 0px;
				}
				
				.destaque{
					font-weight: 400;
				}
			}
		}

		.template8{
			margin-left: 80px;
			margin-right: 80px;
				
			@media only screen and (max-width:1023px)
			{
				margin-left: 50px;	
				margin-right: 50px;
			}
			
			@media only screen and (max-width:767px)
			{
				margin-left: 20px;
				margin-right: 20px;
			}
		}
	}
	
	#conteudo
	{
		&.home
		{
			padding-top: 100px;
			
			@media only screen and (max-width:767px)
			{
				padding-top: 50px;	
			}
			
			.destaque
			{
				padding-right: 20px!important;
				
				@media only screen and (max-width:767px)
				{
					padding-right: 0px!important;	
				}
			}
		}
	}
	
	.ficheiros
	{
		margin: 0;
		padding: 0;
		margin-top: 10px;
		
		li
		{
			list-style: none;
			margin-top: 15px;
			font-size: 10px;
			font-weight: bold;
			width: 100%;
			
			p
			{
				display: inline-block;
				border: solid 1px #000;
				padding-left: 8px;
				padding-right: 8px;
				height: 22px;
				-webkit-box-sizing: border-box;
				-moz-box-sizing: border-box;
				box-sizing: border-box;
				line-height: 22px;
				margin-left: 3px;
				text-transform: uppercase;
			}
		
			a{
				p{
					-webkit-transition: all 0.3s ease-out;
					-moz-transition: all 0.3s ease-out;
					-o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
				}
			}
			
			a:hover
			{
				p
				{
					background-color: #fff;
				}
			
			}
			
		}
	}
	
	&#wrap_atividades
	{
		#conteudo{
			position: relative;
		}

		.event_inner
		{
			.template11
			{
				.texto
				{

					img{
						max-width: 100%;
						height: auto;
					}

					.ficheiros{
						margin-top: 10px;
						margin-left: 0px;
						margin-right: 0px;
					}
				}
			}
		}

		.submenu{
			position: absolute;
			right: 0px;
			top: 0px;
			margin: 0;
			padding: 0;
			z-index: 9000;
			transition: margin-right 0.1s ease;
			
			@media only screen and (max-width:767px)
			{
				width: 100%;
				text-align: right;
				top:-45px;
			}

			li{
				list-style: none;
				margin-bottom: 15px;
				text-align: right;

				@media only screen and (max-width:767px)
				{
					text-align: left;
					display: inline-block;
					margin-left: 10px;
					font-size: 13px;

					&:first-child{
						margin-left: 0px;
					}
				}

				a{
					border: solid 1px var(--var-dark-bg);
					padding: 1px 5px;
					border-radius: 2px;
				}
			}
		}
		
		.datepick-nav{
			position: absolute;
			top:7px;
			width: 210px;
			transform: translateX(-50%);
			left: 50%;
		}
	}
	
	.legenda
	{
		font-size: 15px;
		line-height: 18px;
		margin-top: 3px;
	}
	
	.topo_white
	{
		height: 200px; width: 100%; background-color: transparent;
		margin-bottom: 30px;

		@media only screen and (max-width:1023px)
		{
			height: 150px;
		}
		
		h1
		{
			color: #000;
			font-weight: 700;
			font-size: 42px;
			line-height: 42px;
			text-transform: uppercase;
			position: absolute;
			top: 58px; left:80px;
			
			@media only screen and (max-width:1023px)
			{
				left: 50px;
				top: 28px;
			}
			
			@media only screen and (max-width:767px)
			{
				top:20px;
				left: 20px;	
			}
		}
	}
	
	.wrap_conteudos
	{
		.blocks
		{
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    .template6
		    {
			    width: calc((100% - 45px) / 4);
			    margin-left: 15px;
			    
			    @media only screen and (max-width:1023px)
				{
					width: calc((100% - 15px) / 2);	
				}
			
			    
			    .ficheiros{
				    li
				    {
					    width: 100%;
					    margin-left: 0px!important;
				    }
			    }
			    
			    &:nth-child(4n+1)
			    {
				    margin-left: 0px;
				    
				    @media only screen and (max-width:1023px)
					{
						margin-left: 15px;	
					}
			    }
			    
			    @media only screen and (max-width:1023px)
				{
					&:nth-child(2n+1)
				    {
					    margin-left: 0px;
					}
				}
		    }
		}
	}
	
	.container
	{
		margin-top: var(--var-margem);
		
		.grid-sizer
		{
			width: calc((100% - 45px) / 4);
			
			@media only screen and (max-width:767px)
			{
				width: calc((100% - 0px) / 1);
			}
		}
		
		.gutter-sizer
		{
 			width: 15px;
		}
		
		.grid-item
		{
			padding-bottom: 60px;
			border-top: solid 1px #000;
			
			@media only screen and (max-width:767px)
			{
				border-top: none;	
			}
			
			.info
			{
				padding-top: 15px;
				
				.data
				{
					font-weight: 500;
					font-size: 15px;
					line-height: 20px;
					margin-bottom: 5px;
					text-transform: uppercase;
				}
				
				h2
				{
					font-weight: 700;
					font-size: 20px;
					line-height: 24px;
					margin-bottom: 15px;
					
					@media only screen and (max-width:767px)
					{
						font-size: 18px;
						line-height: 22px;
					}
				}
			}
			
			.resumo
			{
				font-size: 14px;
				line-height: 18px;
				margin-top: 20px;
				font-weight: 300;
			}
			
			&.large
			{
				width: calc((2 * ((100% - 45px) / 4)) + 15px);
				
				@media only screen and (max-width:767px)
				{
					width: 100%;	
				}
				
				h2
				{
					font-size: 26px;
					line-height: 28px;

					@media only screen and (max-width:1023px)
					{
						font-size: 23px;
						line-height: 26px;
					}

					@media only screen and (max-width:767px)
					{
						font-size: 20px;
						line-height: 24px;
					}
				}
				
				.resumo
				{
					font-size: 18px;
					line-height: 22px;	

					@media only screen and (max-width:1023px)
					{
						font-size: 16px;
						line-height: 20px;
					}
				}
			}
				
			&.no_border
			{
				border-top: none;
			}
			
			img
			{
				width: 100%;
				height: auto;
				max-width: 100%;
				display: block;
			}
		}
	}
	
	.news_wrap_home
	{
		margin-top: 60px;
		
		.container
		{
			margin-top: 0px;
			margin: 0;
			padding: 0;
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    justify-content: space-between;
			
			li
			{
				list-style: none;
				
				@media only screen and (max-width:767px)
				{
					display: none;
					&:first-child
					{
						display: block;
					}
					
					&:nth-child(4)
					{
						display: block;
					}
				}
			}
			
			.grid-item
			{
				padding-bottom: 0px;
			}
		}
	}
	
	.news_inner
	{
		padding-bottom: 60px;
		
		.content
		{
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
			
			.col
			{
				width: 15%;

				@media only screen and (max-width:1023px)
				{
					width: 10%;
				}
				
				@media only screen and (max-width:767px)
				{
					display: none;
				}
				
				.img_container
				{
					position: relative;
					left: calc(-1 * var(--var-margem));
					
					&.rightcol
					{
						left: var(--var-margem);
					}
					
					img
					{
						max-width: 100%;
						width: 100%;
						height: auto;
						display: block;
					}
				}
				
				&.top
				{
					align-self: flex-start;
				}
				
				&.middle
				{
					align-self: center;
				}
				
				&.bottom
				{
					align-self: flex-end;
				}
			}
			
			.centercol
			{
				width: 70%;

				@media only screen and (max-width:1023px)
				{
					width: 80%;
				}
				
				@media only screen and (max-width:767px)
				{
					width: 100%;	
				}
			}
			
			.header
			{
				.data
				{
					font-weight: 700;
					font-size: 16px;
					line-height: 20px;
					text-transform: uppercase;
				}
				
				h1
				{
					font-weight: 700;
					font-size: 26px;
					line-height: 28px;
					margin-bottom: 10px;

					@media only screen and (max-width:767px)
					{
						font-size: 22px;
						line-height: 26px;
					}
				}
			}

			.inner-column{
				width: 80%;
				margin-left: auto;
				margin-right: auto;

				@media only screen and (max-width:1023px)
				{
					width: 100%;
				}
			}
			
			.texto
			{
				margin-top: 25px;
				font-weight: 300;
				font-size: 22px;
				line-height: 26px;
				width: 80%;
				margin-left: auto;
				margin-right: auto;

				@media only screen and (max-width:1023px)
				{
					width: 100%;
				}
				
				@media only screen and (max-width:767px)
				{
					width: 100%;	
				}
				
				img
				{
					max-width: 100%;
					height: auto;
				}
			}
			
			.img
			{
				img
				{
					width: 100%;
					max-width: 100%;
					height: auto;
					display: block;
				}
			}
		}
		
		.ficheiros
		{
			li
			{
				font-size: 10px;
			}
		}
		
		.imagens_container
		{
			padding-top: 60px;
			
			@media only screen and (max-width:767px)
			{
				padding-top: 0px;	
			}
			
			.img_left
			{
				max-width: 40%;
				position: relative;
				clear: both;
				left: calc(-1 * var(--var-margem));
				
				@media only screen and (max-width:767px)
				{
					max-width: 100%;
					width: 100%;
					left: auto;
				}
				
				img
				{
					max-width: 100%;
					height: auto;
					display: block;
				}
				
				&:nth-child(even)
				{
					float: right;
					left: var(--var-margem);
					
					@media only screen and (max-width:767px)
					{
						left: auto;
						clear: both;	
					}
				}
			}
		}
	}
	
	.eventos_wrap_home
	{
		margin-top: 60px;
		
		@media only screen and (max-width:767px)
		{
			margin-top: 30px;	
		}
		
		.list_events
		{
			display: -webkit-flex;
		    display: -ms-flexbox;
		    display: flex;
		 
		    -webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		    
		    justify-content: space-between;
		    
		    @media only screen and (max-width:767px)
		    {
			    display: none;
		    }
		    
			.event
			{
				width: calc((100% - 10px) / 2);
				margin-bottom: 20px;
				
				
				img
				{
					max-width: 100%;
					height: auto;
					width: 100%;
					display: block;
				}
				
				.event_info
				{
					display: none;
				}
			}
		}
		
		#event_highlight
		{
			.col
			{
				width: 44%;

				@media only screen and (max-width:767px)
				{
					width: 100%;
				}
				
				img
				{
					max-width: 100%;
					width: 100%;
					height: auto;
					display: block;
				}
				
				h2
				{
					width: 70%;
					margin-left: 15px;
					margin-top: 10px;
					text-transform: uppercase;
					font-weight: 700;
					font-size: 25px;
					line-height: 28px;
					margin-bottom: 3px;

					@media only screen and (max-width:1023px)
					{
						font-size: 22px;
						line-height: 25px;
					}

					@media only screen and (max-width:767px)
					{
						width: 80%;
						font-size: 20px;
						line-height: 24px;
						margin-left: 0px;
						margin-top: 15px;
					}
				}
				
				.subtitulo
				{
					margin-left: 15px;
					width: 70%;
					font-weight: 300;
					font-size: 20px;
					line-height: 24px;

					@media only screen and (max-width:767px)
					{
						margin-left: 0px;
						width: 80%;
					}
				}
			}
		}
	}
	
	.eventos
	{
		.container{
			position: relative;
			
			#eventos_inner
			{
				// display: -webkit-flex;
			    // display: -ms-flexbox;
			    // display: flex;
			 
			    // -webkit-flex-wrap: wrap;
			    // -ms-flex-wrap: wrap;
			    // flex-wrap: wrap;
				display: grid;
				grid-template-columns: 1fr 1fr 1fr 1fr;
				grid-gap: 15px;
			    position: relative;

				@media only screen and (max-width:1023px)
				{
					grid-template-columns: 1fr 1fr 1fr;
				}

				@media only screen and (max-width:767px)
				{
					grid-template-columns: 1fr 1fr;
				}
			    
			    .evento_item
			    {
					padding-bottom: 80px;
					
					// @media only screen and (max-width:767px)
					// {
					// 	width: calc((100% - 15px) / 2);
					// }
					
					&:nth-child(3n+1)
					{
						margin-left: 0px;
						
						// @media only screen and (max-width:767px)
						// {
						// 	margin-left: 15px;	
						// }
					}
					
					@media only screen and (max-width:767px)
					{
						// &:nth-child(2n+1)
						// {
						// 	margin-left: 0px;
						// }
					}
					
					img
					{
						width: 100%;
						max-width: 100%;
						height: 100%;
						display: block;
					}
					
					.info
					{
						width: 70%;
						font-size: 18px;
						line-height: 23px;
						margin-top: 10px;

						@media only screen and (max-width:1023px)
						{
							width: 95%;
							font-size: 16px;
							line-height: 22px;
						}
						
						h2
						{
							font-weight: 700;
							text-transform: uppercase;
						}
						
						.subtitulo
						{
							font-weight: 300;
						}
					}
				}
				
				.no_results
				{
					width: 100%;
					text-align: center;
					padding-bottom: 120px;
				}
			}
			
			.bt_calendar
			{
				position: absolute;
				right: calc(-1 * var(--var-margem));
				width: var(--var-margem);
				top:0px;
				
				@media only screen and (max-width:767px)
				{
					right: 0px;
					top: calc( (-1 * 22px) + 0px);
					width: 22px;
					height: 22px;
				}
				
				img
				{
					width: 100%;
					max-width: 100%;
					height: auto;
					display: block;
				}
			}
		}
	}
	
	.event_inner
	{
		.ficheiros
		{
			width: 70%;
			margin-left: auto;
			margin-right: auto;
			
			@media only screen and (max-width:1023px)
			{
				width: 100%;	
			}
			
			@media only screen and (max-width:767px)
			{
				width: 90%;
			}
			
			li
			{
				font-size: 10px;
			}
		}
		
		.template11
		{
			width: 70%;
			margin-left: auto;
			margin-right: auto;
			border-top: solid 1px #000;
			
			@media only screen and (max-width:1023px)
			{
				width: 80%;	
			}
			
			@media only screen and (max-width:767px)
			{
				width: 100%;	
			}
			
			&:first-child
			{
				border-top: none;

				h2{
					margin-top: 0px;
				}
			}
			
			h2
			{
				padding-top: 5px;
				font-weight: 700;
				font-size: 24px;
				line-height: 26px;
				margin-top: 15px;

				@media only screen and (max-width:767px)
				{
					font-size: 20px;
					line-height: 22px;
				}
			}

			.texto{
				margin-top: 25px;
				font-weight: 300;
				font-size: 22px;
				line-height: 26px;

				@media only screen and (max-width:1023px)
				{
					font-size: 20px;
					line-height: 24px;
				}

				@media only screen and (max-width:767px)
				{
					font-size: 18px;
					line-height: 22px;	
				}

				img{
					max-width: 100%;
					height: auto;
				}
			}
		}
	}
	
	.eventos_outras_actividades
	{
		width: calc((100% - 30px) / 3);
		
		@media only screen and (max-width:767px)
		{
			width: 80%;	
		}
		
		h2
		{
			margin-bottom: 15px;
			font-size: 18px;
			line-height: 22px;
		}
	}
	
	.title_sep
	{
		font-weight: 900;
		text-transform: uppercase;
		font-size: 25px;
		line-height: 28px;
		margin-bottom: 10px;

		@media only screen and (max-width:1023px)
		{
			font-size: 22px;
			line-height: 25px;
		}

		@media only screen and (max-width:767px)
		{
			font-size: 20px;
			line-height: 24px;
		}
	}
	
	.projectos_wrap
	{
		margin-left: 40px;
		border-left:solid 1px #000;
		padding-bottom: 100px;
		
		.projectos_inner
		{
			padding-bottom: 35px;
			position: relative;
			
			&.hasprojects
			{
				background-image: url(/images/ano.png);
				background-position: top left;
				background-repeat: no-repeat;
				background-size: 8px;
			}
			
			.ano
			{
				position: absolute;
				left: -38px;
				font-size: 12px;
				line-height: 12px;
				margin-top: 2px;
				font-weight: 900;
			}
			
			.projecto_item
			{
				padding-left: 7.5%;
				padding-right: 10%;
				position: relative;
				display: -webkit-flex;
			    display: -ms-flexbox;
			    display: flex;
			 
			    -webkit-flex-wrap: wrap;
			    -ms-flex-wrap: wrap;
			    flex-wrap: wrap;
				
				&.sep
				{
					padding-top: 35px;
				}
				
				.info{
					position: absolute;
					left: 0px;
					top: 0px;
					width: 100%;
					height: 100%;
					z-index: 900;
					display: flex;
					justify-content: space-between;
					flex-direction: column;
					-moz-transition: all 0.2s ease-out;
					-webkit-transition: all 0.2s ease-out;
					-o-transition: all 0.2s ease-out;
					transition: all 0.2s ease-out;
					background-color: rgba(0,0,0,0.1);
					
					h2
					{
						padding-top: 25px;
						padding-left: 25px;
						font-weight: 700;
						font-size: 28px;
						line-height: 32px;
						text-transform: uppercase;

						@media only screen and (max-width:1023px)
						{
							padding-top: 15px;
							padding-left:15px;
							font-size: 25px;
							line-height: 28px;
						}

						@media only screen and (max-width:767px)
						{
							padding-top: 10px;
							font-size: 20px;
							line-height: 22px;
						}
					}

					.subtitulo{
						padding-left: 25px;
						font-size: 18px;
						line-height: 22px;
						padding-top: 10px;

						@media only screen and (max-width:1023px)
						{
							padding-left:15px;
						}

						@media only screen and (max-width:767px)
						{
							font-size: 16px;
							line-height: 20px;
						}
					}
					
					.footer{
						visibility: hidden;
						-moz-transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
						-o-transition: all 0.2s ease-out;
						transition: all 0.2s ease-out;
						display: flex;
						flex-direction: row;
						justify-content: space-between;
						
						.resumo
						{
							padding-left: 25px;
							padding-bottom: 25px;
							font-weight: 300;
							font-size: 15px;
							line-height: 18px;
							width: 85%;

							@media only screen and (max-width:1023px)
							{
								padding-left:15px;
								font-size: 14px;
								line-height: 17px;
							}

							@media only screen and (max-width:767px)
							{
								font-size: 12px;
								line-height: 15px;
							}
						}

						.box{
							width: 30px;
							height: 30px;
							margin-right: 25px;
							margin-bottom: 25px;
							align-self: flex-end;

							@media only screen and (max-width:1023px)
							{
								width: 25px;
								height: 25px;
								margin-right: 15px;
								margin-bottom: 15px;
							}

							@media only screen and (max-width:767px)
							{
								width: 15px;
								height: 15px;
							}

							&.nohover{
								background-color: transparent;
							}

							.bar{
								background-color: var(--var-dark-color);
							}
						}
						
					}
					
				}
				
				.projecto_content
				{
					width: 100%;
					height: 0;
					overflow: hidden;
					position: relative;

					padding-bottom: 35%;
					@media only screen and (max-width:1023px)
					{
						padding-bottom: 40%;
					}

					@media only screen and (max-width:767px)
					{
						padding-bottom: 85%;
					}

					.img{
						position: relative;
						overflow: hidden;
						z-index: 90;
						
						@media only screen and (max-width:767px)
						{
							height: 0px;
							padding-bottom: 85%;
						}

						img{
							width: 100%;
							max-width: 100%;
							height: 100%;
							object-fit: cover;

							@media only screen and (max-width:767px)
							{
								position: absolute;
							}
						}
					}


					&:hover{
						.info
						{
							background-color: rgba(0,0,0,0.5);

							.footer
							{
								visibility: visible;
							}
						}
					}
					
				}
				
				/*
				.projecto_fotos
				{
					width: calc(100% - 290px);
					position: relative;
					
					@media only screen and (max-width:767px)
					{
						display: none;	
					}
					
					&.gap1
					{
						.image
						{
							position: absolute;
							top:0px;
							width: 20%;
							
							&.image1
							{
								margin-left: 10%;
							}
							
							&.image2
							{
								right: 0px;
							}
						}
					}
					
					&.gapmore
					{
						.image{
							position: absolute;
							top: 0px;
							
							&.image1
							{
								right: 0px;
								width: 35%;
							}
							
							&.image2
							{
								margin-left: 25%;
								margin-top: 8.5%;
								width: 20%;
							}
						}
					}
					
					img
					{
						max-width: 100%;
						height: auto;
						display: block;
					}
				}
				*/
			}
		}
	}
	
	.projecto_inner
	{
		width: 70%;
		margin-left: auto;
		margin-right: auto;

		@media only screen and (max-width:1023px)
		{
			width: 100%;
		}

		.destaque{
			width: 80%;
			margin-left: auto;
			margin-right: auto;
			font-size: 25px;
			line-height: 30px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}
			
			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
		}
		
		.projecto_inner_content
		{
			padding-top: 30px;
			width: 80%;
			margin-left: auto;
			margin-right: auto;

			@media only screen and (max-width:767px)
			{
				padding-top: 0px;
				width: 100%;
			}
			
			.header
			{
				margin-left: auto;
				margin-right: auto;

				.data
				{
					font-weight: 700;
					font-size: 16px;
					line-height: 20px;
					text-transform: uppercase;
				}
				
				h1
				{
					font-weight: 300;
					font-size: 24px;
					line-height: 26px;
					margin-bottom: 10px;
				}
			}
			
			.img
			{
				margin-top: 10px;
				margin-left: auto;
				margin-right: auto;

				img
				{
					max-width: 100%;
					height: auto;
					display: block;
				}
			}
			
			.texto
			{
				margin-top: 25px;
				font-weight: 300;
				font-size: 22px;
				line-height: 26px;

				@media only screen and (max-width:1023px)
				{
					font-size: 20px;
					line-height: 24px;
				}
				
				@media only screen and (max-width:767px)
				{
					width: 100%;
					font-size: 18px;
					line-height: 22px;	
				}

				img{
					max-width: 100%;
					height: auto;
				}
			}
			
			.left{
				width: 50%;
				
				@media only screen and (max-width:767px)
				{
					width: 90%;
					float: none;	
				}
			}

			.ficheiros_wrap
			{
				padding-top: 20px;
				padding-bottom: 30px;
				margin-top: 50px;
				
				p.titulo
				{
					font-weight: 700;
					font-size: 22px;
					line-height: 26px;
					text-transform: uppercase;

					@media only screen and (max-width:1023px)
					{
						font-size: 20px;
						line-height: 24px;
					}

					@media only screen and (max-width:767px)
					{
						font-size: 18px;
						line-height: 22px;	
					}
				}
				
				&.template6
				{
					.ficheiros
					{
						li
						{
							font-size: 14px;
							width: 100%;
							margin-left: 0px!important;
						}
					}
				}
			}
			
			// .right
			// {
			// 	width: 200px;
				
			// 	@media only screen and (max-width:767px)
			// 	{
			// 		float: none;
			// 		margin-top: 40px;	
			// 	}
				
			// 	.ficheiros_wrap
			// 	{
			// 		padding-top: 20px;
			// 		padding-left: 10px;
			// 		padding-bottom: 30px;
			// 		padding-right: 10px;
			// 		background-color: #cccbcb;
			// 		margin-top: 20px;
					
			// 		p.titulo
			// 		{
			// 			font-weight: 900;
			// 			font-size: 12px;
			// 			line-height: 14px;
			// 			text-transform: uppercase;
			// 		}
					
			// 		&.template6
			// 		{
			// 			.ficheiros
			// 			{
			// 				li
			// 				{
			// 					font-size: 13px;
			// 					width: 100%;
			// 					margin-left: 0px!important;
			// 				}
			// 			}
			// 		}
			// 	}
			// }
		}
	}
	
	.wrap_projectos
	{
		overflow: hidden;
	}
	
	#formularios_wrap
	{
		margin-left: auto;
		margin-right: auto;
		width: 70%;

		@media only screen and (max-width:1023px)
		{
			width: 85%;
		}
		
		@media only screen and (max-width:767px)
		{
			width: 90%;	
		}
		
		h3
		{
			padding-top: 25px;
			padding-bottom: 10px;
			font-weight: 900;
			text-transform: uppercase;
		}
		
		.texto_apoio
		{
			padding-bottom: 10px;
		}
		
		.formulario_inner
		{
			background-color: #cccbcb;
			padding-left: 20px;
			padding-right: 20px;
			padding-bottom: 70px;
			padding-top: 10px;
			color: var(--var-dark-bg);
			
			.label{
				font-size: 17px;
				font-weight: 400;
				margin-top: 20px;
			}
			
			.caixa_formulario
			{
				font-weight: 300;
				border: none;
				height: 28px;
				width: calc(100% - 5px);
				padding-left: 5px;
				
				&.hcaixa
				{
					height: 80px;
				}
			}
			
			.campos_ob
			{
				margin-top: 15px;
				font-size: 11px;
				margin-bottom: 40px;
			}
			
			select.opcoes
			{
			    padding:3px;
			    padding-top: 0px;
			    padding-left: 5px;
			    margin: 0;
			    -webkit-border-radius:0px;
			    -moz-border-radius:0px;
			    border-radius:0px;
			    background: #fff;
			     border:none;
			    outline:none;
			    -webkit-box-sizing:border-box;
			    -moz-box-sizing:border-box;
			    box-sizing:border-box;
			    display: inline-block;
			    -webkit-appearance:none;
			    -moz-appearance:none;
			    appearance:none;
			    cursor:pointer;
			    width: 100%;
			    height: 28px;
			    color: #000;
			    background-image: url(/images/drop.svg);
				background-position: 98% center;
				background-repeat: no-repeat;
				background-size: 16px;
				border: none;
			}
			
			select.opcoes
			{
				border: none;
// 				box-shadow: 0 1px 2px 0 rgba(0,0,0,0.20), inset 0 2px 0 0 #FFFFFF;
			}
			
			.escolha_radio
			{
				font-size: 14px;
			}
			
			.error
			{
				font-weight: 700;
				color: #ff0000;
				padding-top: 8px;
				padding-bottom: 8px;
			}
		}
		
		.sucesso_txt
		{
			font-weight: 400;
			font-size: 15px;
			text-align: center;
			padding-top: 20px;
			padding-bottom: 20px;
			font-weight: 700;
		}
		
		.code
		{
			font-weight: 300;
			font-size: 12px;
			padding-top: 30px;
		}
	}
	
	.wrap_pesquisa
	{
		.conteudo_inner
		{
			width: 70%;
			margin-left: auto;
			margin-right: auto;
			
			@media only screen and (max-width:1023px)
			{
				width: 85%;	
			}
		}
		
		.no_results
		{
			min-height: 50vh;
			padding-top: 30px;
			text-align: center;
		}
		
		h2
		{
			padding-top: 50px;
			font-weight: 700;
			text-align: center;
			font-size: 25px;
			margin-bottom: 20px;

			@media only screen and (max-width:1023px)
			{
				font-size: 24px;
				line-height: 28px;
			}

			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 24px;
			}
			
		}
		
		.label
		{
			font-weight: 700;
			text-transform: uppercase;
			margin-top: 30px;
			
			&:first-child
			{
				margin-top: 0px;
			}
		}
		
		.resultados
		{
			line-height: 17px;
			
			p
			{
				padding-bottom: 2px;
			}
		}
	}

	.botao
	{
		margin-top: 16px;
		border: none;
		width: 100px;
		height: 34px;
		font-size: 15px;
		font-weight: bold;
		background-color: #fff;
		color: #000;
		text-transform: uppercase;
		border: solid 1px #fff;
		margin-left: 10px;
		margin-right: 10px;
		
		&:hover
		{
			background-color: #000;
			color: #fff;
			cursor: pointer;
		}
	}

	.download{
		margin-top: 20px;

		.botao{
			margin-left: 0;
			margin-right: 0;
			padding-left: 15px;
			padding-right: 15px;
			font-size: 13px;
		}
	}
}

.loader
{
	position: fixed; top:0px; left: 0px; width: 100%; height: 100%; background-color: var(--var-white-bg); background-image: url(/images/loading.gif); background-position: center center; background-repeat: no-repeat; z-index: 9000;
}

.flexslider
{
/*
	.banner_wrap
	{
		margin-top: 50px;
		text-align: center;
		font-size: 11px;
		line-height: 22px;
		font-family: $montserrat-extralight;
	}
*/
	.texto_wrap
	{
		top: 58px; left:80px; position: absolute;
		color: #fff;
		width: 80%;
		max-width: 1100px;
		
		@media only screen and (max-width:1023px)
		{
			top: 28px;
			left: 50px;	
		}
		
		@media only screen and (max-width:767px)
		{
			top: 20px;
			left: 20px;	
			width: 90%;
		}
		
		h1
		{
			font-weight: 700;
			font-size: 64px;
			line-height: 64px;
			text-transform: uppercase;

			@media only screen and (max-width:1023px)
			{
				font-size: 55px;
				line-height: 55px;
			}
			
			@media only screen and (max-width:767px)
			{
				font-size: 42px;
				line-height: 42px;	
			}
		}
		
		p{
			margin-top: 5px;
			font-weight: 300;
			font-size: 26px;
			line-height: 28px;
			
			@media only screen and (max-width:767px)
			{
				font-size: 20px;
				line-height: 22px;	
			}
		}
	}
}


#cookie_msg {
	height:20px;
	background-color:$primary-color;
	text-align:center;
	color:#fff;
	font-size:11px;
	line-height:20px;
	display:none;
	width:100%;
	position:fixed;
	z-index:99999;
	
	@media only screen and (max-width:767px)
	{
		height: 30px;
		font-size: 10px;
		line-height: 15px;
	}
}

#cookie_accept {
	text-decoration:underline;
}

.under {
	min-height:20px;
	background-color:#fbef1d;
	text-align:center;
}

#loadmoreajaxloader
{
	text-align: center;
}

p.loadmoretxt{
	text-align: center;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#map_contactos
{
	width:100%; height:0px; padding-bottom: 100%; margin-top: 30px;
	
	@media only screen and (max-width:1023px)
	{
		padding-bottom: 40%;	
	}
}

.goTop
{
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: block;
	z-index: 99999;
	
	@media only screen and (max-width:767px)
	{
		bottom: 5px;
		right: 5px;	
	}
}


#seta_scroll_down
{
	position: absolute;
	bottom: 20px;
	width: 100%;
	z-index: 8990;
	text-align: center;
	left: 0px;
	
	@media only screen and (max-width:1023px)
	{
		bottom: 10px;	
	}
	
	@media only screen and (max-width:767px)
	{
		bottom: 5px;
		
		img
		{
			width: 15px;
		}	
	}
	
	
	#seta
	{
		fill:#fff;
	}
}

#reposicao
{
	height: var(--var-margem);
	display: none;
}

.wrap_error
{
	min-height: 70vh;
}

.load_home
{
	text-align: center;
	width: 100%;
}

#calendar_wrap
{
	position: absolute;
	right: 0px;	
	top:0px;
	display: none;
	
	.datepick-month 
	{
		height: 40px;
		a.ui-state-holiday
		{
			color: #d83a31!important;
		}
	}
	
	.calendar_close
	{
		position: absolute;
		z-index: 99999;
		top:8px;
		left: 10px;
	}
}

.box {
		height: 22px;
		width: 22px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
		border: solid 1px #000;
		-webkit-transition: all 0.3s ease-out;
			-moz-transition: all 0.3s ease-out;
			-o-transition: all 0.3s ease-out;
			transition: all 0.3s ease-out;

	
	.bar {
		margin: 0 auto;
		position: absolute;
		background-color: #000;
	}
	
	.horizontal {
		width: 70%;
		height: 1px;
		left: 15%;
		top: 48%;
	
	}
	
	.vertical {
		width: 1px;
		height: 70%;
		left: 48%;
		top: 15%;
	}
}

a:hover
{
	.box
	{
		background-color: #fff;
	}
}

body{
	&.dark{
		background-color: var(--var-dark-bg);
		color: var(--var-dark-color);

		.loader
		{
			background-color: var(--var-dark-bg);
		}

		header{
			.h1{
				svg{
					g{
						fill: var(--var-dark-color);
					}
				}
			}

			.lupa{
				svg{
					path, polygon{
						fill: var(--var-dark-color);
					}
				}
			}

			.menu_open_wrap{
				background-color: var(--var-dark-color);

				span{
					background-color: var(--var-dark-bg);
				}
			}

			.form_wrap{
				.caixa{
					border: 1px solid var(--var-dark-color);
					background-color: var(--var-dark-bg);
					color: var(--var-dark-color);
				}
			} 

			nav{
				background-color: var(--var-dark-color);

				ul{
					li{
						color: var(--var-dark-bg);

						// a
						// {
						// 	&:hover, &.sel
						// 	{
						// 		background-color: var(--var-dark-bg);
						// 		color: var(--var-dark-color)
						// 	}
						// }
						
						.submenu{
							background-color: var(--var-dark-color);

							ul{
								li{
									color: var(--var-dark-bg);
								}
							}
						}
					}
				}
			}

			.lang_socials{
				background-color: var(--var-dark-color);
				
				.row{
					color:var(--var-dark-bg);

					svg{
						g{
							fill: var(--var-dark-bg);
						}
					}
				}

				.row2{
					background-color: var(--var-dark-color);
					color: var(--var-dark-bg);
				}
			}
		} 

		.flex-control-paging li a{
			border: 1px solid var(--var-dark-color);
		}

		section{
			.ficheiros{
				li{
					p{
						border-color: var(--var-dark-color);
					}

					a:hover
					{
						p
						{
							color: var(--var-dark-bg);
						}
						
					}
				}
			}

			.projectos_wrap
			{
				border-color: var(--var-dark-color);

				.projectos_inner
				{
					&.hasprojects
					{
						background-image: url(/images/ano_w.png);
					}
				}
			}

			.topo_white{
				h1{
					color:var(--var-dark-color)
				}
			}

			.filtro-ativo {
				border: solid 1px var(--var-dark-bg);

				button{
					color: var(--var-dark-bg)
				}
			}

			#filtros{
				background-color: var(--var-white-bg);
				color: var(--var-white-color);
				
				.close-filtros{
					
					.box{
						border-color: var(--var-white-color);
						.bar{
							&.horizontal{
								background-color:var(--var-white-color);
							}

							&.vertical{
								background-color:var(--var-white-color);
							}
						}
					}
				}

				hr{
					background-color: var(--var-white-color);
				}
			}

			.filtros_menu{
				
				.filtros_menu_content{
			
					.filtros-selecionados-container
					{
						.filtros-selecionados{
			
							.filtro-ativo{
								border-color: var(--var-dark-color);
			
								button{
									color: var(--var-dark-color);
								}
							}
						}
					}
				}
			}

			#calendar_wrap{
				.datepick-month {
					background-color: var(--var-dark-color);
					color: var(--var-dark-bg);

					th{
						color: var(--var-dark-bg);
						font-weight: 700;

						a{
							color: var(--var-dark-bg);
						}
					}
				}

				#calendar_table_wrap{
					background-color: var(--var-dark-color);
					border-color: transparent;
					position: relative;
					padding-bottom: 30px;
					
					&:before{
						content: "";
						position: absolute;
						top: 0px;
						left: 10px;
						width: calc(100% - 20px);
						height: 1px;
						background-color: var(--var-dark-bg);
						opacity: 1;
					}
				}
			}

			.bt_calendar{
				svg{
					polygon{
						fill: var(--var-dark-color);
					}
					path{
						fill: var(--var-dark-bg)
					}
				}
			}

			.calendar_close{
				svg{
					g{
						stroke: var(--var-dark-bg);
					}
				}
			}

			&#wrap_atividades{
				.submenu{
					li{
						a{
							border-color: var(--var-dark-color);
						}
					}
				}
			}
		}

		footer{
			#newsletter_footer{
				//background-color: var(--var-dark-color);
				color: var(--var-dark-bg);

				#bt_news{
					background-color: var(--var-dark-bg);
					color:var(--var-dark-color);

					&:hover{
						background-color: var(--var-dark-color);
						color:var(--var-dark-bg);
						border-color: var(--var-dark-bg);
					}
				}
			}

			#contact_footer{
				color:var(--var-dark-bg);
				background-color: #fff;

				.col1{
					.logo{
						g{
							fill: var(--var-dark-bg);
						}
					}
				}
				
				.socials{
					ul{
						li{
							svg{
								#Fill-114, #Path, #Fill-122, #Shape-path{
									fill: var(--var-dark-bg);
									
								}
								
								#Fill-116, #Shape, #footer_yt #Path, #footer_in #Shape-path1, #footer_in #Shape-path2, #footer_in #Shape-path3, #mockups-v01 #Path{
									fill: #fff;
								}
							}
						}
					}
				}
			}
		}
		
		.box{
			border-color: var(--var-dark-color);


			.bar{
				background-color: var(--var-dark-color);
			}

		}

		a:hover
		{
			.box
			{
				.bar{
					background-color: var(--var-dark-bg);
				}
			}
		}
	}
}