/*
verde - #006633
azul - #1FA7E0
*/
body{font-family: 'Libre Franklin', sans-serif; background-color: #fbfbfb;}
.section{ margin: 80px auto;}
a { color: #1FA7E0;}
/*NAVBAR*/
img.img-fulid { max-width: 100%; float: left; max-height: 86px;}
.navbar{background: rgba(255,255,255,0.9); z-index:  999; position: fixed; width: 100%; top: 0;}
.navbar-brand { position: relative; padding: 0px;}
.top-nav-collapse { background: #fff; z-index: 999999; top: 0px !important; padding: 10px 0; box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.06); -webkit-animation-duration: 1s;
  animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fadeInDown; animation-name: fadeInDown; background: #fff !important;}
.top-nav-collapse .navbar-brand { top: 0px;}
.top-nav-collapse .navbar-nav .nav-link {
  color: #333 !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.top-nav-collapse .navbar-nav .nav-link:hover { color: #0F6634 !important;}
.top-nav-collapse .navbar-nav .nav-link.active { color: #0F6634 !important;}
.navbar-expand-lg .navbar-nav .nav-link{color: #333333;
  padding: 0 22px;
  margin-top: 20px;
  margin-bottom: 20px;
  line-height: 40px;  
  background: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: 18px;
  text-transform: uppercase;
}
.navbar-expand-lg .navbar-nav li a:hover,
.navbar-expand-lg .navbar-nav li .active > a,
.navbar-expand-lg .navbar-nav li a:focus { color: #006633;}
.navbar .nav-link.active {
	background: #006633;
    background: linear-gradient(to bottom, #1FA7E0, #006633));
	background: -webkit-linear-gradient(to bottom, #1FA7E0, #85b426);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	border-bottom: 2px solid ;
	-moz-border-image: -moz-linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
	-webkit-border-image: -webkit-linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
	border-image: linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
	border-image-slice: 1;
}
.dropdown-toggle::after { display: none;}
.nav-item ul{ display: none;}


/* only small tablets */
@media (min-width: 768px) and (max-width: 991px) {
  #nav-main li a.nav-link { padding-top: 18px; }
}
.navbar-toggler { display: none;}
.mobile-menu { display: none;}
.slicknav_menu { display: none;}

@media screen and (max-width: 768px) {
  .navbar-header { width: 100%; }
  .navbar-brand { position: absolute; padding: 15px; top: 0; }
  .navbar-brand img { width: 40%; }
  #mobile-menu { display: none; }
  .slicknav_menu { display: block; }
  .slicknav_nav .active a { background: #0F6634; color: #fff;}
  .slicknav_nav a:hover, .slicknav_nav .active { color: #0F6634; background: #f8f9fa;}
  .slicknav_nav .dropdown li a.active { background: #f8f9fa; color: #0F6634;}
}

/*COOKIES*/
.wgt-cookies {position: fixed;width: 35%;margin: 0;padding: 22px 30px;z-index: 9999;background: rgba(31,167,224, 0.9);opacity:1;color: #FFFFFF;float: left;text-align: center;bottom: 10px;left: 10px;transition: all 1s ease;-o-transition: all 1s ease;-ms-transition: all 1s ease;-moz-transition: all 1s ease;-webkit-transition: all 1s ease;}
.wgt-cookies .content {position: relative;width: 100%;max-width: 100%;margin: 0 auto;padding: 0;display: inline-block;}
.msg_cookies, .opt_cookies { position: relative; width: 100%; margin: 0; padding: 0; float: left; text-align: justify; }
.opt_cookies {position: absolute;bottom: 7%;left: 0;}
.msg_cookies {margin: 0;font-size: 12px;line-height: 12px;}
.opt_cookies a:first-child {margin: 0;padding: 0px;font-size: 14px;color: white;display: inline-block;position: absolute;left: 0;}
.opt_cookies a:last-child {position: absolute;padding: 3px 10px;width: 64px;color: white;border: 1px solid #00a452;background: #006633;font-size: 12px;line-height: 20px;text-align: center;right: 0;bottom: -23px;transition: 0.5s all;}
.opt_cookies a:last-child:hover {  color: #FFFFFF; text-decoration: none;background: #008040;}
.msg_cookies p{ font-size:14px; padding: 0;}
.wgt-cookies_hide {opacity:0; transition: all 1s ease;-o-transition: all 1s ease;-ms-transition: all 1s ease;-moz-transition: all 1s ease;-webkit-transition: all 1s ease;}
/*SLIDER*/
.carousel { position: relative;}
.carousel-inner {position: relative; width: 100%; overflow: hidden; height: 100%;}
.carousel-item { height: 100%; position: relative; display: none; align-items: center; width: 100%; @include transition($carousel-transition); backface-visibility: hidden;  perspective: 1000px;}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev { display: block;}
.carousel-item-next,
.carousel-item-prev { position: absolute; top: 0;}

// CSS3 transforms when supported by the browser
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0);

  @supports (transform-style: preserve-3d) {
    transform: translate3d(0, 0, 0);
  }
}

.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%);

  @supports (transform-style: preserve-3d) {
    transform: translate3d(100%, 0, 0);
  }
}

.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%);

  @supports (transform-style: preserve-3d) {
    transform: translate3d(-100%, 0, 0);
  }
}


//
// Left/right controls for nav
//

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  // Use flex for alignment (1-3)
  display: flex; // 1. allow flex styles
  align-items: center; // 2. vertically center contents
  justify-content: center; // 3. horizontally center contents
  width: $carousel-control-width;
  color: $carousel-control-color;
  text-align: center;
  opacity: $carousel-control-opacity;
  // We can't have a transition here because WebKit cancels the carousel
  // animation if you trip this while in the middle of another animation.

  // Hover/focus state
  @include hover-focus {
    color: $carousel-control-color;
    text-decoration: none;
    outline: 0;
    opacity: .9;
  }
}
.carousel-control-prev {
  left: 0;
  @if $enable-gradients {
    background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
  }
}
.carousel-control-next {
  right: 0;
  @if $enable-gradients {
    background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
  }
}

// Icons for within
.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: $carousel-control-icon-width;
  height: $carousel-control-icon-width;
  background: transparent no-repeat center center;
  background-size: 100% 100%;
}
.carousel-control-prev-icon {
  background-image: $carousel-control-prev-icon-bg;
}
.carousel-control-next-icon {
  background-image: $carousel-control-next-icon-bg;
}


// Optional indicator pips
//
// Add an ordered list with the following class and add a list item for each
// slide your carousel holds.

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0; // override <ol> default
  // Use the .carousel-control's width as margin so we don't overlay those
  margin-right: $carousel-control-width;
  margin-left: $carousel-control-width;
  list-style: none;

  li {
    position: relative;
    flex: 0 1 auto;
    width: $carousel-indicator-width;
    height: $carousel-indicator-height;
    margin-right: $carousel-indicator-spacer;
    margin-left: $carousel-indicator-spacer;
    text-indent: -999px;
    background-color: rgba($carousel-indicator-active-bg, .5);

    // Use pseudo classes to increase the hit area by 10px on top and bottom.
    &::before {
      position: absolute;
      top: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: "";
    }
    &::after {
      position: absolute;
      bottom: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: "";
    }
  }

  .active {
    background-color: $carousel-indicator-active-bg;
  }
}


// Optional captions
//
//

.carousel-caption {
  position: absolute;
  right: ((100% - $carousel-caption-width) / 2);
  bottom: 20px;
  left: ((100% - $carousel-caption-width) / 2);
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: $carousel-caption-color;
  text-align: center;
}
.banner_shadow {width: 100%; height: 100%; background: rgba(000,000,000,0.2);  position: absolute;  top: 0;}
.banner_descricao { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; top: 0; color: #FFFFFF; z-index: 3; overflow: hidden; }
.banner_table { width: 100%; height: 100%; margin: 0; padding: 0; display: table; top: 0; color: #FFFFFF; z-index: 3; }
.banner_cell { position: relative; width: 100%; height: 100%; margin: 0 auto; padding: 12% 0 8%; display: table-cell; }
.banner_content { position: relative; width: 96%; max-width: 1240px; margin: auto; padding: 0; }
.banner_content_middle { vertical-align: middle; }
.banner_content_top { vertical-align: top; }
.banner_content_bottom { vertical-align: bottom; }

/*LOADER*/


#preloader {
	
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #006633;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #209a90;
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #1FA7E0;
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.section-title{ text-align: center; width: 100%; display: block; margin: 3% auto; padding: 0;}
.section-title h1.titulo{ 
font-size: 42px;
margin-top: 0;
text-transform: uppercase;
font-weight: 700;
background: #006633;
background: linear-gradient(to bottom, #1FA7E0, #006633);
    background-clip: border-box;
background: -webkit-linear-gradient(to bottom, #1FA7E0, #006633);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
position: relative;}
hr.lines {
    margin: auto;
        margin-top: auto;
    width: 70px;
    position: relative;
    border-top: 2px solid;
    margin-top: 15px;
	-moz-border-image: -moz-linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
-webkit-border-image: -webkit-linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
border-image: linear-gradient(to right, #1FA7E0 50%, #85b426 100%);
    border-image-slice: 100%;
border-image-slice: 1;
}
/*EVENTOS*/
.event_item { border-radius: 10px; overflow: hidden; background: #1FA7E0; -webkit-transition:	all 0.5s ease; 	-moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; height: 100%;}
.event_item:hover{background: #006633; }
.event_item .img-evento{ height: 250px!IMPORTANT; }
.titulo-evento{ width: 100%; padding: 15px 10px; margin: 0;}
.titulo-evento h1{ margin: 0;font-size: 16px;line-height: 18px;color: #FFF; text-transform: uppercase;}
.event_item a{ text-decoration: none;}
.img-evento .hover {
    opacity: 0;
    width: 100%;
    height: 100%;
	top: 100%;
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    -webkit-transition:	all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	display: table;
	color: #FFF;
}

.middle{display: table-cell; vertical-align: middle; text-align: center;}
.event_item:hover .img-evento .hover {
    opacity: 1;
}

/**/
.separador_conteudos { color: #FFF; text-shadow: 2px 2px 2px rgba(11, 11, 11, 1);}
.parallax-window .container_content { padding: 100px 0;  background: rgba(0,0,0, 0.5);}
.separador_conteudos .parallax-window h1{ text-align: center; }

/**/

.button-saber {
    line-height: 50px;
    height: 50px;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    margin-top: 10px;
    width: 60%;
    cursor: pointer;
	text-decoration: none;
}
.button-saber {
	color: rgba(0,102,51,1);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	position: relative;
}
a.button-saber{
	color: rgba(51,51,51,1);
	text-decoration: none;
	display: block;
}
.button-saber::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	border: 1px solid rgba(0,102,51,1);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.button-saber:hover::before{
	opacity: 0;
	-webkit-transform: scale(1.2,1.2);
	transform: scale(1.2,1.2);
}
.button-saber::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
	background-color: rgba(31,167,224,0.5);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transform: scale(0.5,0.5);
	transform: scale(0.5,0.5);
}
.button-saber:hover::after{
	opacity: 1 ;
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
}

/**/

.contact-block  #sendmessage {
  color: #18d26e;
  border: 1px solid #18d26e;
  display: none;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-block #errormessage {
  color: red;
  display: none;
  border: 1px solid red;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}


.contact-block .validation {
  color: red;
  display: none;
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 13px;
}

.contact-block  input, .contact-block textarea {
  padding: 10px 14px;
  border-radius: 0;
  box-shadow: none;
  font-size: 15px;
}

.contact-block #submit {
  background: #006633;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  cursor: pointer;
}

.contact-block #submit:hover {
  background: #209a90;
}
.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #006633;
    outline: 0;
    box-shadow: none;
}


/*FOOTER*/
.conteudo_footer {  border-top: 1px solid #063;background: #FFF;}
.conteudo_footer p{ margin-top: 1rem; margin-bottom: 1rem; }
footer{ background: #006633; color: #FFF; font-size: 12px;}
footer a{ color: #FFF;}
.menu-footer { float: left; margin: 1rem 0;}
.menu-footer .barra{ margin: 0 5px;}
.copyright { text-align: right;}
footer p{ margin-top: 1rem; margin-bottom: 1rem; }

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

}
.img_portofolio, .item_portofolio {
	position: relative;
    width: 100%;
    margin-bottom: 5%;
    overflow: hidden;
    border: 1px solid #F4F4F4;
}
.imgparceiro{
	width: 100%; 
	height: 100%; 
	background-position: center center; 
	background-repeat: no-repeat; 
	-webkit-background-size: contain; 
	-moz-background-size: contain; 
	-o-background-size: contain; 
	background-size: contain; 
}

.overlayparc { 
	position: absolute; 
	bottom: 0; 
	left: 0; 
	right: 0; 
	background-color: rgba(0,102,51,0.75); 
	overflow: hidden; 
	width: 100%; 
	height: 0; 
	-webkit-transition: .5s ease;
    -moz-transition: .5s ease;
    -ms-transition: .5s ease;
    -o-transition: .5s ease;
	transition: .5s ease; 
}
.textparc i{ font-size: 32px;}

.parceiro:hover .overlayparc, .item_portofolio:hover .overlayparc,.img_portofolio:hover .overlayparc {
	width: 100%; 
	height:100%;
}
.parceiro:hover .textparc, .item_portofolio:hover .textparc,.img_portofolio:hover .textparc {

	width:100%;
	opacity:1;
	-webkit-transition: opacity .5s ease-out;
  -moz-transition: opacity .5s ease-out;
  -ms-transition: opacity .5s ease-out;
  -o-transition: opacity .5s ease-out;
  transition: opacity .5s ease-out;
}
.textparc { 
	opacity:0;
	color: #FFFFFF; 
	font-size: 20px; 
	position: relative; 
	top: 50%; 
	left: 50%; 
	-webkit-transform:translate(-50%, -50%); 
	-moz-transform:translate(-50%, -50%); 
	-ms-transform:translate(-50%, -50%); 
	-o-transform:translate(-50%, -50%); 
	transform:translate(-50%, -50%); 
	width: 100%; 
	text-align:  center; 
}
.textparc a, .textparc a:hover { color: #FFFFFF; font-size: 14px; margin-top: 10px; }

a {
text-decoration: none;
}
.item-menu {
    background: #1FA7E0;
    color: #FFF;
    border-radius: 10px;
    overflow: hidden;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.item-menu:hover {
	background: #006633;
}

.item-menu span {

    padding: 10px 15px;
    display: block;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 18px;
    text-align: center;

}

/* Estilos Macro */

.ficheiro {
    display: table;
    width: 100%;
    padding: 10px;
    border: 1px solid #f5f5f5;
    background-color: #0fa2c0;
    margin: 5px 0;
    border-radius: 5px;
	color: #fff;
}
.ficheiro .left {
    display: table-cell;
    vertical-align: middle;
}
.ficheiro a {
    text-decoration: none;
	color: #fff;
}
.ficheiro p {
    margin: 0;
}
.ficheiro .right {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
    font-size: 14px;
}