@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT@9..144,700,50&family=Lexend:wght@300;400;700&display=swap");
@import url("w2default.css");
/*
@mixin btnA($cor){
	height: 50px;
	display: inline-flex;align-items: center;
	padding: 10px 25px;
	border-radius: 50px;
	background-color: $cor;
	color: #ffffff;
	&:hover{ background-color: darken($cor, 10%); } 
}

.btn-knowmore { @include btnA($orange); }
*/
@keyframes layer-1-anim { 0% { transform: translateY(0px); opacity: 0; animation-timing-function: linear; }
  50% { transform: translateY(5%); opacity: 1; animation-timing-function: linear; }
  0% { transform: translateY(10%); opacity: 0; animation-timing-function: linear; } }
/*animation-name:bt-start-animation; animation-duration: 1.5s; animation-direction: normal; animation-iteration-count: infinite; animation-fill-mode: none; animation-play-state: running; will-change: transform; transform-style: initial;*/
* { color: #404040; font-family: "Lexend", serif; font-size: 20px; font-weight: 300; }

html, body { background-color: #fff; }

h1, h1 *, h2, h2 * { color: #2C7D53; font-family: "Fraunces", serif; line-height: normal; font-style: normal; }

h2 { position: relative; }

h2, h2 * { font-size: 40px; line-height: 45px; }

h3, h3 * { font-family: "Lexend", serif; font-size: 24px; font-weight: 700; color: #2C7D53; }

.wrapper { width: 1170px; }

.general-section { padding: 100px 0; }

.db-content a { color: #2C7D53; }

sup { vertical-align: super; font-size: 0.7em !important; }

p { line-height: 25px; }

.btn { background-color: #F89844; color: #fff; border-radius: 25px; font-size: 16px; font-weight: 400; text-transform: uppercase; height: 50px; padding: 0 20px; position: relative; top: 0; box-shadow: 0 0px 0px rgba(0, 0, 0, 0); transform: scale(1); transition: top 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; }

.btn:hover { top: -5px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); transform: scale(1.004); }

a[href="javascript:void(0);"] { cursor: default; }

header { background-color: transparent; position: fixed; top: 0; left: 0; width: 100%; height: 100px; z-index: 102; transition: all 0.3s ease; box-shadow: 0 0px 0px rgba(0, 0, 0, 0); transition: background 0.3s ease, box-shadow 0.3s ease; }
header * { color: #fff; }
header .wrapper { display: flex; align-items: center; height: 100%; }
header .left { display: flex; align-items: center; flex-shrink: 0; }
header .left a { display: block; width: 150px; height: 34px; position: relative; }
header .left a img { width: 100%; height: 100%; opacity: 1; transition: opacity 0.3s ease; }
header .left a:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../images/header-logo-truncated.svg") no-repeat 0 0; background-size: contain; opacity: 0; visibility: hidden; transition: opacity 0.3s ease; }
header .right { display: flex; align-items: center; margin-left: 30px; position: relative; transition: margin 0.3s ease; }
header nav { width: 100%; }
header nav ul.lev1 { display: flex; }
header nav li.lev1 { position: relative; padding: 25px 0; }
header nav li.lev1:not(:last-child) { margin-right: 30px; }
header nav a.lev1 { font-size: 14px; font-weight: 700; position: relative; padding-bottom: 7px; display: inline-flex; align-items: center; }
header nav a.lev1:before { content: ""; display: block; position: absolute; bottom: -5px; left: 0; width: 100%; height: 4px; background-color: transparent; border-radius: 4px; transition: background 0.3s ease, bottom 0.3s ease; }
header nav li.lev1.children > a:after { background: url("../images/icons.svg") no-repeat 0 0; background-size: 200px; content: ""; width: 10px; height: 10px; margin-left: 10px; display: block; }
header nav a.lev1:hover:before { background-color: #fff; bottom: 0; }
header nav li.lev1:hover ul.lev2 { opacity: 1; top: 70px; pointer-events: all; }
header nav li.lev1.active a.lev1:before { background-color: #fff; bottom: 0; }
header nav ul.lev2 { position: absolute; left: 0; top: 50px; background-color: #fff; border-radius: 10px; padding: 5px 25px; min-width: 200px; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2); opacity: 0; pointer-events: none; transition: opacity 0.3s ease, top 0.3s ease; }
header nav ul.lev2 * { color: #D75238; font-size: 14px; }
header nav ul.lev2 li:not(:last-child) { border-bottom: solid 1px #D5D5D5; }
header nav ul.lev2 a { padding: 15px 0; display: inline-block; white-space: nowrap; transform-origin: center; transition: transform 0.3s ease; }
header nav ul.lev2 a:hover { transform: scale(1.05); }
header nav ul.lev2 li.active a { font-weight: 700; pointer-events: none; }

footer { position: relative; }
footer * { color: #fff; }
footer .top { background-color: #2C7D53; padding: 20px 0; }
footer .top * { font-size: 14px; line-height: 20px; }
footer .top .left ul { display: flex; flex-wrap: wrap; }
footer .top .left ul li { display: inline-flex; margin: 5px 10px; }
footer .top .left ul a { display: block; }
footer .top .left ul a img { height: 54px; }
footer .top .right { flex-shrink: 0; margin-left: 30px; display: flex; align-items: center; }
footer .top .right .text { margin-right: 10px; }
footer .top .right .icons { display: flex; }
footer .top .right .icons a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 40px; border: solid 2px #fff; margin-left: 10px; transition: border 0.3s ease; }
footer .top .right .icons a:before { font-family: FontAwesome; content: "\f39e"; font-size: 16px; transition: color 0.3s ease; }
footer .top .right .icons a:hover { border-color: #F89844; }
footer .top .right .icons a:hover::before { color: #F89844; }
footer .top .right .icons a[data-icon="instagram"]:before { content: "\f16d"; }
footer .top .right .icons a[data-icon="linkedin"]:before { content: "\f0e1"; }
footer .bot { background-color: #234129; padding: 10px 0; }
footer .bot * { font-size: 12px; line-height: 15px; }
footer .wrapper { display: flex; justify-content: space-between; position: relative; }
footer .btn-jumptop { background-color: #F89844; position: absolute; right: 20px; top: -80px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 40px; transition: top 0.3s ease; }
footer .btn-jumptop:before { content: ""; background: url("../images/icons.svg") -15px 0 no-repeat; background-size: 300px; width: 15px; height: 15px; display: block; }
footer .btn-jumptop:hover { top: -85px; }

#homebanner, #secbanner { background-color: #404040; position: relative; }
#homebanner *, #secbanner * { color: #fff; }
#homebanner .wrapper, #secbanner .wrapper { z-index: 3; }
#homebanner .maskbot, #secbanner .maskbot { background: url("../images/banner-maskbot.png") bottom center repeat-x; position: absolute; bottom: 0; left: 0; width: 100%; height: 80px; z-index: 2; pointer-events: none; }
#homebanner h1, #secbanner h1 { position: relative; padding-bottom: 20px; margin-bottom: 20px; text-align: center; }
#homebanner h1, #homebanner h1 *, #secbanner h1, #secbanner h1 * { font-size: 120px; line-height: 120px; font-family: "Fraunces", serif; }
#homebanner p, #homebanner p *, #secbanner p, #secbanner p * { font-size: 40px; line-height: 50px; text-align: center; }

#homebanner:before, #secbanner:before { background: url("../images/banner-texture.png") center bottom 100px no-repeat; content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }

#homebanner { min-height: 100vh; height: 100vh; position: relative; /*.box-pagination .wrapper{height: 100%;}
.swiper-pagination-bullets.swiper-pagination-horizontal {bottom: auto; left: auto; width: 10px; height: 100%; top: 0; right: 10px; display: flex; flex-direction: column; justify-content: center;}
.swiper-pagination-clickable .swiper-pagination-bullet {background: transparent; width: 10px; height: 10px; margin-bottom: 15px; border-radius: 0; border:solid 2px #fff; transform: rotate(45deg); opacity: 0.8!important; pointer-events: all;}
.swiper-pagination-bullet-active {background-color: #fff !important;}*/ }
#homebanner .swiper-container { height: 100%; position: relative; display: block; }
#homebanner .swiper-wrapper { height: 100%; }
#homebanner .swiper-slide { padding: 100px 0 160px 0; display: flex; align-items: center; }
#homebanner .swiper-slide .content { max-width: 770px; margin: auto; }
#homebanner .box-knowmore { position: absolute; left: 0; bottom: 150px; width: 100%; /*pointer-events: none;*/ z-index: 10; }
#homebanner .box-knowmore .wrapper { position: relative; }
#homebanner .box-knowmore span { position: absolute; color: #fff; font-size: 14px; white-space: nowrap; display: flex; align-items: center; transform: rotate(-90deg); transform-origin: 0 0; }
#homebanner .box-knowmore span:before { background: url("../images/icons.svg") -60px 0 no-repeat; background-size: 400px; content: ""; display: inline-flex; width: 20px; height: 20px; margin-right: 5px; }
#homebanner .swiper-slide:before { content: ""; display: block; background-color: #2C7D53; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.7; }
#homebanner .box-pagination { /*position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; pointer-events: none;*/ display: none; }

#secbanner { height: 500px; }
#secbanner .wrapper { padding: 100px 0 100px 0; display: flex; align-items: center; height: 100%; }
#secbanner .wrapper .content { width: 100%; max-width: 850px; margin: 0 auto; }
#secbanner .wrapper .content h1 { font-size: 65px; line-height: 70px; padding-bottom: 0px; margin-bottom: 10px; }
#secbanner .wrapper .content p { font-size: 30px; line-height: 35px; }

#secbanner:before { background: url("../images/banner-texture.png") center bottom -35px no-repeat; }

#secbanner:after { content: ""; display: block; background-color: #2C7D53; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.7; }

body.truncated header { background-color: #fff; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
body.truncated header * { color: #2C7D53; }
body.truncated header .left a img { opacity: 0; }
body.truncated header .left a:after { opacity: 1; visibility: visible; }
body.truncated header nav a.lev1:hover:before, body.truncated header nav li.lev1.active a:before { background-color: #2C7D53; }
body.truncated header nav li.lev1.children > a:after { background-position: 0 -50px; }

.general-container { padding: 80px 0 100px 0; }

.pretop { position: absolute; top: -80px; display: flex; align-items: center; width: 100%; }
.pretop .left { flex-shrink: 0; font-size: 12px; }
.pretop .left a { background-color: transparent; border: solid 1px #F89844; height: 20px; font-size: 12px; color: #F89844; padding: 0 10px 0 5px; flex-shrink: 0; transition: background 0.3s ease, color 0.3s ease; }
.pretop .left a:before { background: url("../images/icons.svg") -30px -20px no-repeat; background-size: 200px; content: ""; width: 10px; height: 10px; margin-right: 5px; }
.pretop .left a:hover { background-color: #F89844; color: #fff; top: 0; box-shadow: 0 0 0; }
.pretop .left a:hover:before { background-position: -30px 0px; }
.pretop .right { background-color: #D5D5D5; width: 100%; height: 1px; }

.grid-a { display: grid; grid-gap: 30px; grid-template-columns: repeat(3, 1fr); }
.grid-a article { background-color: #fff; border-radius: 10px; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2); position: relative; top: 0; transition: top 0.3s ease; }
.grid-a article .image { background-size: cover; width: 100%; height: 0; padding-bottom: 56%; border-radius: 10px; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2); }
.grid-a article .contents { padding: 40px; position: relative; }
.grid-a article .contents h2 { font-family: "Lexend", serif; font-size: 20px; line-height: 25px; margin-bottom: 5px; }
.grid-a article .contents .date { display: flex; font-size: 16px; line-height: 20px; color: #2C7D53; align-items: center; white-space: nowrap; }
.grid-a article .contents .date:after { background-color: #D5D5D5; content: ""; width: 100%; height: 1px; display: block; margin-left: 10px; }
.grid-a article .contents .description { font-size: 16px; line-height: 20px; }
.grid-a article .contents .box-knowmore-ind { position: absolute; width: 100%; left: 0; bottom: -40px; text-align: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease, bottom 0.3s ease; }
.grid-a article .contents .box-knowmore-ind a:after { background: url("../images/icons.svg") -80px 0px no-repeat; background-size: 400px; content: ""; width: 20px; height: 20px; margin-left: 10px; }
.grid-a article:hover { top: -25px; }
.grid-a article:hover .box-knowmore-ind { opacity: 1; bottom: -25px; pointer-events: all; }

.box-knowmore { margin-top: 50px; }
.box-knowmore a { background-color: #F89844; border-radius: 25px; color: #fff; }
.box-knowmore a:after { background: url("../images/icons.svg") -80px 0 no-repeat; background-size: 400px; content: ""; width: 20px; height: 20px; margin-left: 10px; }

/*########################################################
					MOBILE MENU
##########################################################*/
#mobile-menu-switch { width: 40px; height: 40px; position: fixed; right: 30px; top: 25px; z-index: 10004; transition: top 0.3s ease; }

#mobile-menu-switch span { background-color: #fff; width: 30px; left: 5px; height: 4px; border-radius: 4px; display: block; position: absolute; pointer-events: none; }

.truncated #mobile-menu-switch span { background-color: #2C7D53; }

#mobile-menu-switch span:nth-child(1) { top: 5px; transition: all 0.3s ease; }

#mobile-menu-switch span:nth-child(2) { top: 17px; transition: all 0.3s ease; }

#mobile-menu-switch span:nth-child(3) { top: 30px; transition: all 0.3s ease; }

#mobile-menu-switch.active span:nth-child(1) { top: 13px; transform: rotate(45deg); }

#mobile-menu-switch.active span:nth-child(2) { display: none; }

#mobile-menu-switch.active span:nth-child(3) { top: 13px; transform: rotate(-45deg); }

#mobile-menu-switch.active span { background-color: #fff !important; }

#mobile-menu { background-color: #2C7D53; position: fixed; width: 300px; height: 100%; right: -100%; padding-top: 80px; z-index: 10002; transition: all 0.3s ease; overflow: auto; box-shadow: 0 0 0 rgba(0, 0, 0, 0.5); }

#mobile-menu.active { right: 0; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); }

#mobile-menu a { display: block; font-size: 20px; line-height: 25px; font-family: "Lexend", serif; font-weight: 700; padding: 20px 30px; color: #fff; }

#mobile-menu li.lev1.children > a { padding-bottom: 00px; }

#mobile-menu li:last-child a { border-bottom: none; }

#mobile-menu li.lev1.active > a { color: #FEC897; }

#mobile-menu li.lev2.active a { color: #FEC897; }

#mobile-menu ul.lev2 { margin: 0 30px; }

#mobile-menu li.lev2:not(:last-child) { border-bottom: dotted 1px #fff; }

#mobile-menu li.lev2 a { font-size: 16px; line-height: 20px; font-family: "Lexend", serif; font-weight: 300; padding: 15px; }

#mobile-menu a br { display: none; }

/*########################################################
				GELERIA GERAL
##########################################################*/
.gallery-a { position: relative; width: 100%; margin-top: 50px; }
.gallery-a .swiper-container { width: calc(100% + 24px); overflow: hidden; position: relative; padding: 10px 12px 25px 12px; margin-left: -12px; }
.gallery-a .swiper-slide { width: 100%; height: 0; padding-bottom: 56%; border-radius: 10px; opacity: 0; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); transition: opacity 0.5s ease; }
.gallery-a picture { display: block; width: 100%; height: 0; padding-bottom: 56%; overflow: hidden; border-radius: 10px; }
.gallery-a img { width: 100%; }
.gallery-a .swiper-slide-active { opacity: 1; }
.gallery-a .box-pagination { position: absolute; bottom: 4px; right: 30px; width: 100%; display: flex; justify-content: flex-end; align-items: center; }
.gallery-a .swiper-pagination-fraction { background: #2C7D53; position: relative; display: flex; align-items: center; color: #fff; font-size: 14px; width: auto; padding: 0 15px 0 10px; height: 40px; margin-right: -10px; bottom: 11px; border-radius: 10px 0 0 10px; }
.gallery-a .swiper-pagination-fraction span { font-family: "Fraunces", serif; color: #fff; font-size: 16px; margin: 0 5px; }
.gallery-a .swiper-button-next, .gallery-a .swiper-button-prev { background: #234129; position: relative; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; border-radius: 0; left: auto; right: auto; top: auto; bottom: auto; transition: background 0.3s ease; overflow: hidden; }
.gallery-a .swiper-button-next { border-radius: 0 10px 10px 0; }
.gallery-a .swiper-button-prev { border-radius: 10px 0 0 10px; border-right: solid 1px rgba(44, 125, 83, 0.3); }
.gallery-a .swiper-button-next:after, .gallery-a .swiper-button-prev:after { background: url("../images/icons.svg") 0 0 no-repeat; background-size: 200px; font-size: 0; width: 10px; height: 10px; }
.gallery-a .swiper-button-next:after { background-position: -20px 0; }
.gallery-a .swiper-button-prev:after { background-position: -30px 0; }
.gallery-a .swiper-button-next:hover:before, .gallery-a .swiper-button-prev:hover:before { background-color: rgba(44, 125, 83, 0.3); opacity: 1; }
.gallery-a .swiper-button-next.swiper-button-disabled, .gallery-a .swiper-button-prev.swiper-button-disabled { background-color: #234129; opacity: 1; }
.gallery-a .swiper-button-next:before, .gallery-a .swiper-button-prev:before { content: ""; opacity: 0.2; width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: 0; transition: opacity 0.3s ease, background 0.3s ease; }
.gallery-a .swiper-button-next.swiper-button-disabled:before, .gallery-a .swiper-button-prev.swiper-button-disabled:before { background-color: #fff; opacity: 0.1; }
.gallery-a .caption { background-color: #fff; position: absolute; left: 20px; bottom: -10px; border-radius: 10px; padding: 10px 20px; box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); font-size: 16px; z-index: 2; }

/*########################################################
					HOMEPAGE
##########################################################*/
.sectiontype-a h2 { text-align: center; position: relative; padding: 70px 0 30px; }
.sectiontype-a h2:before { background: url("../images/icons.svg") 0 0 no-repeat; background-size: 1000px; content: ""; position: absolute; top: 0; left: 50%; width: 50px; height: 50px; margin-left: -16px; }
.sectiontype-a .contents { display: flex; }
.sectiontype-a .contents .left { width: 50%; padding: 0 30px 0 0; display: flex; flex-direction: column; justify-content: space-between; }
.sectiontype-a .contents .right { width: 50%; }
.sectiontype-a .contents .right .image img { width: 100%; border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }

.sectiontype-b { padding-top: 180px; }
.sectiontype-b h2 { text-align: center; position: relative; padding: 70px 0 30px; }
.sectiontype-b h2:before { content: ""; position: absolute; top: 0; left: 50%; width: 32px; height: 52px; margin-left: -16px; background-color: rgba(200, 0, 0, 0.2); }
.sectiontype-b .contents { display: flex; }
.sectiontype-b .contents .left { width: 50%; }
.sectiontype-b .contents .left .image img { width: 100%; border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
.sectiontype-b .contents .right { width: 50%; padding: 0 0 0 30px; display: flex; flex-direction: column; justify-content: space-between; }

#home-about { position: relative; display: flex; justify-content: center; }

#home-about:after { content: ""; background-color: #D5D5D5; height: 1px; width: 100%; max-width: 1170px; position: absolute; bottom: 0; }

.home .sectiontype-a h2:before { background-position: -450px -250px; }

#home-news h2 { text-align: center; position: relative; padding: 70px 0 30px; }
#home-news h2:before { background: url("../images/icons.svg") -500px -250px no-repeat; background-size: 1000px; content: ""; position: absolute; top: 0; left: 50%; width: 50px; height: 50px; margin-left: -16px; }
#home-news .list { display: flex; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
#home-news .list article { background-color: #404040; position: relative; width: 33%; }
#home-news .list .image { background-size: cover; width: 100%; padding-bottom: 100%; overflow: hidden; position: relative; }
#home-news .list .image:before { background: url("../images/mask-news-home.png") 0 0 no-repeat; background-size: 100% 100%; content: ""; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; }
#home-news .list .contents { position: absolute; bottom: 0; z-index: 1; padding: 40px; }
#home-news .list .contents * { color: #fff; }
#home-news .list .contents h3 { font-size: 20px; margin-bottom: 0; }
#home-news .list .contents .date { font-size: 12px; }
#home-news .list .contents .description { font-size: 16px; line-height: 20px; margin-bottom: 20px; }
#home-news .list .contents .box-knowmore-ind { display: flex; justify-content: space-between; align-items: center; position: relative; }
#home-news .list .contents .box-knowmore-ind a { flex-shrink: 0; position: relative; z-index: 1; opacity: 0; max-width: 50px; overflow: hidden; white-space: nowrap; transition: opacity 0.3s ease, max-width 0.3s ease; }
#home-news .list .contents .box-knowmore-ind a:after { background: url("../images/icons.svg") -80px 0px no-repeat; background-size: 400px; content: ""; width: 20px; height: 20px; margin-left: 10px; }
#home-news .list .contents .box-knowmore-ind a:hover { opacity: 1; max-width: 200px; top: 0; }
#home-news .list .contents .box-knowmore-ind:before { background-color: #F89844; content: ""; width: calc(100% - 50px); height: 2px; }
#home-news .list .contents .box-knowmore-ind:after { background: url("../images/plus-orange.png") center center no-repeat; content: ""; width: 46px; height: 46px; border: solid 2px #F89844; border-radius: 50px; flex-shrink: 0; position: absolute; right: 0; cursor: pointer; }
#home-news .box-knowmore { text-align: center; }

#home-objetivos { background-color: #F2F2F2; position: relative; }
#home-objetivos h3, #home-objetivos h3 * { font-family: "Fraunces", serif; font-size: 40px; line-height: 45px; }

#home-objetivos:before { background: url("../images/section-top-divider.png") 0 0 repeat-x; content: ""; height: 182px; width: 100%; position: absolute; top: -45px; }

/*########################################################
				PTYPE-A
##########################################################*/
.ptype-a h1, .ptype-a h1 * { font-size: 40px; line-height: 45px; text-align: center; margin-bottom: 50px; }
.ptype-a .description { -webkit-columns: 2; -moz-columns: 2; columns: 2; -webkit-column-gap: 30px; -moz-column-gap: 30px; column-gap: 30px; }
.ptype-a .description strong { color: #2C7D53; }

/*########################################################
				PROJETO
##########################################################*/
#project-presentation .wrapper { max-width: 770px; }
#project-presentation h2 { text-align: center; }
#project-presentation .description { margin-bottom: 60px; }

#project-sheet { background: #234129 url("../images/bg-sheet.png") 0 0 no-repeat; background-size: cover; padding: 20px 30px; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
#project-sheet * { color: #fff; }
#project-sheet .text { font-family: "Fraunces", serif; font-size: 30px; line-height: 35px; margin-right: 20px; }
#project-sheet .btn-container a { display: inline-flex; align-items: center; white-space: nowrap; border: solid 1px #fff; border-radius: 20px; height: 40px; padding: 0 20px; font-size: 16px; transition: background 0.3s ease, color 0.3s ease; }
#project-sheet .btn-container a:after { content: ""; display: inline-flex; background: url("../images/icons.svg") -220px 0 no-repeat; background-size: 400px; width: 20px; height: 20px; margin-left: 10px; }
#project-sheet .btn-container a:hover { background-color: #fff; color: #2C7D53; }
#project-sheet .btn-container a:hover:after { background-position: -220px -100px; }

#project-gallery { height: 600px; position: relative; }
#project-gallery .swiper-container { height: 100%; }
#project-gallery .swiper-container:before { background: url("../images/texture-project-galery.png") center center no-repeat; content: ""; display: block; width: 100%; height: 100%; position: absolute; z-index: 10; pointer-events: none; }
#project-gallery .swiper-slide:before { background-color: #2C7D53; content: ""; display: block; width: 100%; height: 100%; position: absolute; opacity: 0.7; pointer-events: none; }
#project-gallery .swiper-slide:nth-child(3n+1):before { background-color: #2C7D53; }
#project-gallery .swiper-slide:nth-child(2n):before { background-color: #F89844; }
#project-gallery .swiper-slide:nth-child(3n):before { background-color: #D75238; }
#project-gallery .swiper-slide .wrapper { height: 100%; padding: 200px 0; display: flex; justify-content: center; align-items: center; }
#project-gallery .swiper-slide .wrapper * { font-family: "Fraunces", serif; font-size: 120px; color: #fff; }
#project-gallery .swiper-pagination { display: none; }

#project-gallery:before { background: url("../images/banner-maskbot.png") 0 0 repeat-x; content: ""; height: 80px; width: 100%; position: absolute; top: 0px; z-index: 10; transform: rotateX(180deg); }

#project-gallery:after { background: url("../images/banner-maskbot.png") 0 0 repeat-x; content: ""; height: 80px; width: 100%; position: absolute; bottom: 0px; z-index: 10; }

#project-other .grid { display: grid; grid-gap: 30px; grid-template-columns: repeat(2, 1fr); }
#project-other .grid-item { background-color: #47190E; border-radius: 10px; padding: 40px; position: relative; }
#project-other .grid-item * { color: #fff; }
#project-other .grid-item h4, #project-other .grid-item h4 * { font-family: "Fraunces", serif; font-size: 40px; line-height: 45px; position: relative; z-index: 1; }
#project-other .grid-item ul { position: relative; z-index: 1; }
#project-other .grid-item ul li:not(:last-child) { border-bottom: dotted 1px #fff; }
#project-other .grid-item ul li a { display: block; font-size: 20px; line-height: 24px; padding: 20px 0; transition: padding 0.3s ease; }
#project-other .grid-item ul li a:hover { padding-left: 20px; }
#project-other .grid-item:after { background-color: #47190E; content: ""; width: 100%; height: 100%; position: absolute; pointer-events: none; top: 0; left: 0; opacity: 0.7; border-radius: 10px; }

/*########################################################
				PARCEIROS
##########################################################*/
#partners-container .general-section { padding-top: 80px; padding-bottom: 100px; position: relative; }
#partners-container .general-section h2 { text-align: center; margin-bottom: 50px; }
#partners-container .general-section:nth-child(even) { background-color: #F2F2F2; padding-top: 180px; padding-bottom: 180px; }
#partners-container .general-section:nth-child(even):before { background: url("../images/section-top-divider.png") 0 0 repeat-x; content: ""; height: 182px; width: 100%; position: absolute; top: -45px; }
#partners-container .general-section:nth-child(even):after { background: url("../images/section-bot-divider.png") 0 0 repeat-x; content: ""; height: 182px; width: 100%; position: absolute; bottom: -60px; }
#partners-container .general-section:nth-child(even):last-child { padding-bottom: 100px; }
#partners-container .general-section:nth-child(even):last-child:after { display: none; }
#partners-container .grid-a { grid-template-columns: repeat(4, 1fr); }
#partners-container .grid-a a { border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); overflow: hidden; display: block; position: relative; top: 0; transition: top 0.3s ease; }
#partners-container .grid-a a img { width: 100%; }
#partners-container .grid-a a:hover { top: -25px; }
#partners-container .grid-a a[href="javascript:void(0);"]:hover { top: 0; }

/*########################################################
				OBJECTIVOS E ACTIVIDADES
##########################################################*/
#activities-lev3 { background-color: #F2F2F2; padding-top: 180px; position: relative; }
#activities-lev3 h2 { text-align: center; margin-bottom: 50px; }

#activities-lev3:before { background: url("../images/section-top-divider.png") 0 0 repeat-x; content: ""; height: 182px; width: 100%; position: absolute; top: -45px; }

/*########################################################
				NEWS DETAIL
##########################################################*/
#news-detail h1, #news-detail h1 * { text-align: left; margin-bottom: 10px; }
#news-detail .date { display: flex; align-items: center; font-size: 20px; color: #2C7D53; white-space: nowrap; margin-bottom: 50px; }
#news-detail .date:after { background-color: #D5D5D5; content: ""; width: 100%; height: 1px; margin-left: 20px; }
#news-detail .mainimage { width: 100%; max-height: 600px; margin-bottom: 50px; text-align: center; }
#news-detail .mainimage img { max-height: 600px; max-width: 100%; border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
#news-detail .box-knowmore { margin-top: 15px; display: flex; align-items: center; justify-content: flex-end; }
#news-detail .box-knowmore a { background-color: transparent; border: solid 1px #F89844; height: 20px; font-size: 12px; color: #F89844; padding: 0 5px 0 10px; flex-shrink: 0; transition: background 0.3s ease, color 0.3s ease; }
#news-detail .box-knowmore a:after { background: url("../images/icons.svg") -20px -20px no-repeat; background-size: 200px; content: ""; width: 10px; height: 10px; margin-left: 5px; }
#news-detail .box-knowmore a:before { display: none; }
#news-detail .box-knowmore a:hover { background-color: #F89844; color: #fff; top: 0; box-shadow: 0 0 0; }
#news-detail .box-knowmore a:hover:after { background-position: -20px 0; }
#news-detail .box-knowmore:before { background-color: #F89844; content: ""; width: 100%; height: 1px; }

/*########################################################
				CONTACTOS
##########################################################*/
#contacts-container h2, #contacts-container h2 * { text-align: center; margin-bottom: 50px; }
#contacts-container .description table, #contacts-container .description tbody { display: block; border: 0; }
#contacts-container .description table tr, #contacts-container .description tbody tr { display: flex; border: 0; }
#contacts-container .description table td, #contacts-container .description tbody td { border: 0; padding: 0; width: calc(33% - 15px) !important; }
#contacts-container .description table td:nth-child(2), #contacts-container .description tbody td:nth-child(2) { width: 33% !important; padding: 0 30px; }
