
header {
	height: 450px;               /* alterar */
	margin-bottom: 230px;
}

/* banner */
header .banner {
	clear: both;
	margin-top: 50px;
	overflow: hidden;
}

header .play-pause .la {
	margin-left: 15px;
	font-size: 24pt;
	background-color: #566f5e;
	color: #004015;
	padding: 10px 15px 10px 20px;
	border-radius: 30px 0 0 30px;
	cursor: pointer;
	transition: .5s;
}

header .play-pause .la.la-pause {
	color: #eba300;
}

header .play-pause .la:hover {
	color: #8fffb5;
}

header .play-pause .la:active {
	color: palevioletred;
}

header .play-pause {
	text-align: right;
}


/*  */
header .slides .slide {
	overflow: hidden;
}

header .slide:nth-child(n+2) {
	display: none;
}

header .slide,
header .slide figure {
	width: 100%;
}

header .slide figure {
	background-color: #7a9483;
	color: #566f5e;
	text-align: center;
	min-height: 150px;
	border-radius: 15px;
}

header .slide img {
	width: 100%;
	margin-bottom: -7px;
	border-radius: 15px;
}

header .text-banner {
	height: 150px;
}

header .text-banner h2 {
    font: bold 14pt "cormorant";
    color: #eba300;
    margin-bottom: 5px;
}

header .text-banner p {
	font: 800 18pt "merri";
	margin-bottom: 15px;
	color: #fff;
	text-transform: uppercase;
}

header .text-banner a {
	color: #fff;
}

header .text-banner.big p {
	font: 800 18pt "merri";
	text-transform: none;
}

header .slide figure {
	position: relative;
}

header .slide figure .bann-emph {
	position: absolute;
	top: 20px;
	right: 20px;
}

header .slide figure p {
	position: absolute;
	bottom: 20px;
	width: 100%;
	text-align: center;
	display: none;
	transition: .5s;
}

header .slide:hover figure p {
	display: block;
}



/*  animation  */
header .slide.enterSlide .text-banner {
	animation: entertext 2s .5s backwards;
}
header .slide.enterSlide figure {
	animation: enterfig 2s .5s backwards;
}

header .slide.exitSlide .text-banner {
	animation: exittext .5s .20s forwards;
}
header .slide.exitSlide figure {
	animation: exitfig .5s .20s forwards;
}


@keyframes entertext {
	from {
		transform: translateX(-101%);
	} to {
		transform: translateX(0);
	}
}
@keyframes enterfig {
	from {
		transform: translateX(101%);
	} to {
		transform: translateX(0);
	}
}

@keyframes exittext {
	from {
		transform: translateX(0);
	} to {
		transform: translateX(-101%);
	}
}
@keyframes exitfig {
	from {
		transform: translateX(0);
	} to {
		transform: translateX(101%);
	}
}


/*  */

header .ctrl-banner {
	margin-top: 15px;
}

header .ctrl-banner .las {
	font-size: 32pt;
	color: #ccc;
	cursor: pointer;
	transition: .5s;
}

header .ctrl-banner .las:hover {
	color: #004015;
}

header .ctrl-banner .las:active {
	color: palevioletred;
}

header .ctrl-banner .las:first-child {
	margin-right: 10px;
}

header .ctrl-banner .las:first-child:hover {
	transform:  translateX(-5px);
}

header .ctrl-banner .las:first-child:active {
	transform:  translateX(-8px);
}

header .ctrl-banner .las:last-child:hover {
	transform:  translateX(5px);
}

header .ctrl-banner .las:last-child:active {
	transform:  translateX(8px);
}






/* notice */

.notice article {
	width: 100%;
	height: 300px;
	overflow: hidden;
	border-radius: 5px;

	position: relative;
	margin-bottom: 15px;
}

.notice article .text-block {
	padding: 40px 5% 5px;
	position: absolute;
	width: 100%;
	z-index: 1;
	bottom: 0;
	
	background: rgba(133, 127, 55, 0.404);
	background: linear-gradient(#857f3700 10%, #857f379d 90%);
	background: -webkit-linear-gradient(#857f3700 10%, #857f379d 90%); 
	background: -moz-linear-gradient(#857f3700 10%, #857f379d 90%); 
	background: -o-linear-gradient(#857f3700 10%, #857f379d 90%);
}

.notice article:hover .text-block {		
	background: rgba(133, 127, 55, 0.712);
	background: linear-gradient(#857f3700 10%, #857f37ce 90%);
	background: -webkit-linear-gradient(#857f3700 10%, #857f37ce 90%); 
	background: -moz-linear-gradient(#857f3700 10%, #857f37ce 90%); 
	background: -o-linear-gradient(#857f3700 10%, #857f37ce 90%);
}

.notice article img {
	width: 150%;
	top: 0;
	transition: .7s;
}

.notice article:hover img {
	width: 120%;
}

.notice article h1 {
	font-size: 16pt;
	margin-bottom: 10px;
	color: #fff;
	text-shadow: 0 0 5px #333;
	transition: .5s;
}

.notice article:hover h1 {
	color: #fff;
	text-shadow: 0 0 5px #333;
}

.notice article p {
	font-weight: 500;
	font-size: 10pt;
}

.notice article .date {
	float: left;
	padding: 3px;
	width: 110px;
	color: #fff;
	text-shadow: 0 0 5px #333;
	transition: .5s;
}

.notice article:hover .date {
	color: #fff;
}

.notice article .category {
	float: right;
	background: #eba300;
	border-radius: 2px;
	text-align: center;
	padding: 1px 5px;
	min-width: 50px;
}

.notice article .category:hover {
	background: orangered;
}

.notice article .category a {
	color: #fff;
	transition: .3s;
	font: normal 10pt 'cormorant';
	text-transform: uppercase;
}

.notice article .category:hover a {
	background: none;
	color: #fff;
}

.notice button {
	background: #004015;
	border: none;
	color: #fff;

	padding: 20px 30px;
	font: 300 16pt 'merri';
	border-radius: 0 30px 30px;
	margin-top: 20px;

	cursor: pointer;
	transition: .5s;
}

.notice button:hover {
	background: #0e5125;
}



/* services shortdescription */

.service-shortdescription {
	overflow: auto;
	margin: 50px 0 0;
}

/* services */
.service-shortdescription .services {
	background: #b0feca;
	padding: 50px 5% 50px;
}

.service-shortdescription h1 {
	display: none;
}

.service-shortdescription .services ul,
.service-shortdescription .shortdescription .limit {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding: 50px 0;
}

.service-shortdescription .services li {
	width: 100%;
	height: 250px;
	border: 2px solid #004015;
	border-radius: 15px;
	text-align: center;
	overflow: hidden;
	position: relative;
}

.service-shortdescription .services li a {
	display: block;
	width: 100%;
	height: inherit;

	color: #004015;
	font: 600 14pt 'merri';
	text-transform: uppercase;
/*	text-shadow: 0 0 3px #666;*/
	padding-top: 70px
}

.service-shortdescription .services li .serv {
	font-size: 28pt;
}

.service-shortdescription .services li button {
	background: #004015;
	border: none;
	width: 100%;
	color: #fff;
	padding: 30px 10px;
	font: 100 14pt 'merri';
	position: absolute;
	left: 0;
	bottom: 0;

	cursor: pointer;
	transition: .3s;
}

.service-shortdescription .services li:hover button {
	background: #004015;
	padding: 120px 10px;
}

.service-shortdescription .services li button .la,
.service-shortdescription .services li button .las {
	display: none;
	color: #99f5b8;
}

.service-shortdescription .services li:hover button .la,
.service-shortdescription .services li:hover button .las {
	display: inline;
	padding-left: 5px;
}


/* shortdescription */
.service-shortdescription .shortdescription {
	background: #004015;
	color: #b0feca;
	padding: 50px 5% 50px;
}

.service-shortdescription .shortdescription img {
	margin-bottom: 20px;
}

.service-shortdescription .shortdescription .limit div {
	margin-top: 50px;
}

.service-shortdescription .shortdescription .limit .btn-no-line {
	display: inline-block;
	margin-top: 20px;
}







/* projects */

.projects {
	margin: 0;
	padding-bottom: 40px;
}

.projects .content {
	margin: 0 5% 0 15%;
}

.projects h1 {
	margin-top: 80px;
}

.projects article {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #c5c8c6;
}

.projects article,
.projects article figure,
.projects article img {
	width: 100%;
}

.projects article figure {
	min-height: 100px;
	overflow: hidden;
	background-color: #c5c8c6;
	color: #a8b3ac;
	border-radius: 5px;
	transition: .3s;
}

.projects article img {
	border-radius: 5px;
	margin-bottom: -7px;
}

.projects article h1 {
	margin: 8px 0;
	font-size: 16pt;
	color: #333;
	transition: .3s;
}

.projects article h1 + p {
	font-weight: 600;
	color: #666;
	transition: .3s;
}

.projects article p:last-child {
	color: #797979;
	margin-bottom: 0;
}

.projects article:hover {
	transform: scale(1.01);
}

.projects article:hover figure {
	background-color: #004015;
}

.projects article:hover h1 {
	color: #004015;
}

.projects article:hover p {
	color: #0e5125;
}

.projects .content {
	padding-bottom: 30px;
}

.projects .content  {
	padding-bottom: 30px;
}



/* design-component */
.design-body {
	overflow: hidden;
	position: relative;
}

.design-component {
	display: block;
	height: 550px;
	width: 350px;
	background-color: rgba(0, 64, 21, 0.80);
	border-radius: 50%;

	z-index: 1;
}

.design-left-top {
	position: absolute;
	top: -350px;
	left: -350px;
	transform: rotate(-40deg);
}

.design-left-top::after {
	content: '';
	display: block;
	height: 550px;
	width: 350px;
	background-color: rgba(0, 64, 21, 0.80);
	border-radius: 50%;

	transform: rotate(-20deg);
}

.design-left-bottom {
	position: absolute;
	bottom: -350px;
	right: -350px;
	transform: rotate(-65deg);
}

.design-left-bottom::after {
	content: '';
	display: block;
	height: 650px;
	width: 450px;
	background-color: rgba(0, 64, 21, 0.80);
	border-radius: 50%;
	margin-top: 40px;
}

/*  */
.design-right-top {
	position: absolute;
	top: -350px;
	right: -250px;
	transform: rotate(40deg);
}

.design-right-top::after {
	content: '';
	display: block;
	height: 550px;
	width: 350px;
	background-color: rgba(0, 64, 21, 0.80);
	border-radius: 50%;

	transform: rotate(45deg);
}

.design-right-bottom {
	position: absolute;
	bottom: -345px;
	left: -330px;
	transform: rotate(65deg);
}

.design-right-bottom::after {
	content: '';
	display: block;
	height: 650px;
	width: 450px;
	background-color: rgba(0, 64, 21, 0.80);
	border-radius: 50%;
	margin-top: 10px;
	transform: rotate(5deg);
}









/*  general-features */
.general-features {
	background-color: #f1f1f1;
}

.general-features .content {
	margin-left: 5%;
	margin-right: 15%;
	padding: 100px 0 150px;
}

.general-features li {
	padding: 30px 0 50px;
	margin-bottom: 15px;
	border-bottom: 1px solid #ddd;
}

.general-features li h1:last-child {
	display: none;
}

.general-features h1 {
	font-size: 18pt;
	margin-bottom: 10px;
}

.general-features p {
	font-size: 12pt;
	color: #666;
	padding-bottom: 15px;
}





/* mission numbers */

.mission-numbers h1 {
	display: none
}

.mission-numbers .mission {
	width: 100%;
	overflow: hidden;
}

.mission-numbers .mission .missions {
	width: 400%;
	margin-left: 0;
}

.mission-numbers .mission .miss {
	width: 25%;
	float: left;
	text-align: justify;
}

.mission-numbers .mission .miss p a {
	text-decoration: underline;
}

.mission-numbers .mission .ctrls-mission {
	margin-top: 30px;
	clear: both;
}

.mission-numbers .mission .ctrls-mission span {
	display: block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #b0feca;

	float: left;
	margin-right: 15px;
} 

.mission-numbers .mission .ctrls-mission .active {
	background: #004015;
}

.mission-numbers .numbers {
	clear: both;
	margin: 30px 0 50px;
}

.mission-numbers .numbers h2 {
	font-size: 12pt;
	font-weight: 300;
	color: #004015;
	text-align: center;
}

.mission-numbers .numbers h2 span {
	font-size: 36pt;
	font-weight: 900;
	font-family: 'cormorant';
	color: #333;
}

.mission-numbers .numbers ul {
	border: 1px solid #ccc;
	padding: 30px;
	margin-bottom: 20px;
}

.mission-numbers .numbers li {
	color: #9c9c9c;
}

.mission-numbers .numbers li strong {
	font-size: 24pt;
	font-family: 'cormorant';
	color: #333;
	margin-right: 10px;
}

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






@media(min-width: 450px) {

	header {
		height: 550px;
		margin-bottom: 350px;
	}

	header .slide figure {
		min-height: 250px;
	}
}






@media(min-width: 600px) {

	header .text-banner {
		height: 120px;
	}

	header .slide figure p {
		bottom: 50px;
	}

	header .slide figure {
		min-height: 350px;
	}

	.notice article,
	.service-shortdescription .services li {
		width: 48.7%;
		display: inline-block;
		vertical-align: top;
		margin-right: 2%;
	}

	.notice article:nth-child(2n),
	.service-shortdescription .services li:nth-child(2n) {
		margin-right: 0;
	}
}






@media(min-width: 750px) {

	header {
		height: 670px;
		margin-bottom: 350px;
	}

	.projects .content div {
		column-count: 2;
		column-gap: 20px;
	}

	.projects .content div article {
		break-inside: avoid;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
	}

	.general-features li {
		display: flex;
		align-items: center;
		gap: 40px;
	}

	.general-features li h1:last-child {
		display: block;
	}

	.general-features li:nth-child(2) h1:first-child {
		display: none;
	}

	.general-features li h1:first-child,
	.general-features li:nth-child(2) div,
	.general-features li:nth-child(4) div,
	.general-features li:nth-child(6) div {
		text-align: right;
	}

	.general-features li h1 {
		flex: 1 1 50%;
	}

	.general-features li div {
		flex: 1 1 50%;		
	}

	.mission-numbers .numbers ul {
		width: 49%;
		height: 320px;
		display: inline-block;
		vertical-align: top;
		margin-right: 1.5%;
	}

	.mission-numbers .numbers ul:last-child {
		margin-right: 0;
	}
}






@media(min-width: 900px) {

	header {
		height: 480px;
		margin-bottom: 250px;
	}

	header .banner {
		margin-top: 80px;
		position: relative;
	}

	header .play-pause {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 5;
	}

	header .slide figure .bann-emph {
		position: absolute;
		top: 25px;
		right: 100px;
	}

	header .slide {
		overflow: auto;
	}

	header .text-banner {
		float: left;
		width: 30%;
		padding-top: 20px;
		height: auto;
	}
	
	header .slide figure {
		float: right;
		width: 66%;
	}

	header .text-banner p {
		line-height: 40px;
	}

	header .banner .ctrl-banner {
		background-color: pink;
		clear: right;
		position: relative;
	}

	header .banner .ctrl-banner div {
		position: absolute;
		top: -70px;
		left: 10px;
	}
}






@media(min-width: 1015px) {

	header .margin.banner {
		width: 85%;
		margin-left: 6%;
		margin-right: auto;
	}

	.projects .content div {
		column-count: 3;
	}

	.projects article {
		border-bottom: none;
	}
}






@media(min-width: 1150px) {

	header .play-pause .la {
		font-size: 32pt;
	}

	.notice {
		margin-top: 100px;
		overflow: hidden;
	}

	.notices-block {
		width: 125%;
	}

	.notice article {
		width: 22%;
		margin-right: 1%;
	}

	.notice article:nth-child(2n) {
		margin-right: 1.2%;
	}

	.notice article:last-child {
		margin-right: 0;
	}

	.notice button {
		margin-top: 30px;
	}

		
	/* design-component */
	.design-left-top {
		top: -200px;
		left: -200px;
	}

	.design-left-bottom {
		bottom: -300px;
		right: -300px;
		transform: rotate(-65deg);
	}

	.design-left-bottom::after {
		margin-top: 60px;
	}

	/*  */
	.design-right-top {
		top: -250px;
		right: -150px;
	}

	.design-right-bottom {
		position: absolute;
		bottom: -255px;
		left: -240px;
		transform: rotate(65deg);
	}
	
	.design-right-bottom::after {
		height: 650px;
		width: 450px;
		transform: rotate(5deg);
	}


	/**/
	.service-shortdescription {
		margin-top: 100px;
		overflow: hidden;
	}

	.service-shortdescription .services {
		padding: 50px 0 50px;
	}

	.service-shortdescription .services,
	.service-shortdescription .shortdescription {
		width: 50%;
		float: left;
		height: 700px;
	}

	.service-shortdescription .services li {
		margin-bottom: 15px;
	}

	.service-shortdescription .shortdescription .limit div {
		margin-top: 20px;
	}




	/*  */
	.projects .content {
		margin: 0 10% 0 25%;
	}
	
	.general-features .content {
		margin-left: 10%;
		margin-right: 25%;
	}


	/**/
	.mission-numbers {
		margin-top: 100px;
	}

	.mission-numbers .mission {
		width: 40%;
		float: left;
		margin-right: 5%;
	}

	.mission-numbers .numbers {
		clear: none;
		margin-top: 0;

		width: 55%;
		float: left;
	}

	.mission-numbers .numbers ul {
		margin-right: 1.4%;
	}
}






@media(min-width: 1325px) {

	header {
		height: 600px;
		margin-bottom: 200px;
	}

	header .text-banner h2 {
		font-size: 18pt;
		margin-bottom: 10px;
	}

	header .text-banner p {
		font-size: 32pt;
		line-height: 54px;
	}
	
	header .text-banner.big p {
		font: 800 26pt "merri";
		line-height: 40px;
	}

	header .ctrl-banner .las {
		font-size: 40pt;
	}
}






@media(min-width: 1435px) {

	header .slide figure img {
		width: auto;
	}

	header .slide figure {
		width: 803px;
		min-height: 560px;
	}
}






@media(min-width: 1500px) {

	.notices-block {
		width: 100%;
	}

	.notice article {
		width: 24%;
		margin-right: 1%;
	}

	.service-shortdescription .services,
	.service-shortdescription .shortdescription {
		padding: 100px 5% 0;
		width: 50%;
		height: 800px;
	}
}






/* @media(min-width: 1700px) {
} */