@import url('https://fonts.googleapis.com/css2?family=Outfit&family=Roboto:wght@400;700&family=Plus+Jakarta+Sans:wght@400;700&family=Source+Code+Pro:wght@300;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

/*
 font-family: "Source Sans 3", serif;
font-family: 'Outfit', sans-serif;
font-family: 'Roboto', sans-serif;
font-family: 'Source Code Pro', monospace;
font-family: "Plus Jakarta Sans", serif;
font-family: "Anonymous Pro", monospace;
*/

@keyframes fadeInDown {
	0% {
	  opacity: 0;
	  transform: translateY(-5rem);
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	}
}

@keyframes sidadebarAnimation {
	to{
		transform: unset;
		opacity: 1;
	}
}

@keyframes showElementAnimation {
	to{
		transform: translate(0,0);
		opacity: 1;
	}
}


:root{
	--white:	#F5F5F5;
	--white1:	#E9E9E9;
	--grey-01:  #DDD;
	--grey-02:	#C4C4CC;
	--grey-03:  #121214;
    --green-01: #00B37E;
	--green-02: #00875F;
	--green-03: #23693B;
	--green-04: #015F43;
	--green-05: #2d8b6f80;
	--purple-01:#8D6FC5;
    --purple-02:#3B2369;
	--blue: 	#81D8F7;
	--orange:   #FBA94C;
	--black:    #29292E;
	
}

*{
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	text-decoration: none;
}


body{
	font-size: 1.6rem;
	display: flex;
	flex-direction: row;

	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.menuMobile{
	display: none;
}

aside{
	width: 6rem;
	background-image: linear-gradient(to top, 
	#46CE75, 
	#2E7948,
	#23693B,
	#124B25, 
	#143D22,
	#093A1A, 
	#121214);

	transition: 0.5s;
}

.aside{
	left: 0;
	transform: translateX(-100%);
	height: 100%;
	z-index: 2;

	border: 0;
	padding: 1rem;

	opacity: 0;
	width: 7.4rem;
	overflow: hidden;
	transition: all .3s ease;

	animation: sidadebarAnimation .5s ease-in-out .3s forwards;
}

.aside:hover{
	width: 18rem;
}

.aside:hover .txt-link{
	opacity: 1;
	visibility: visible;
}

.txt-link{
	opacity: 0;
	visibility: hidden;
	font-weight: bold;
}

#menu{
	margin-top: 0.5rem;
}

#menu .logoAnnotep{
	display: flex;
	justify-content: center;
	margin-bottom: 2rem !important;
}

#menu .logoAnnotep a{
	display: flex;
}

#menu .logoAnnotep img{
	margin: 0;
	width: 3.3rem;
	height: 3.3rem;
}

aside li{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5rem;
	width: 6rem;
	height: 4rem;
	
	font-family: "Outfit", serif;
	font-size: 1.2rem;
	font-weight: 400;
	
	transition: all .3s ease;
	color: var(--white);
}

#menu li{
	gap: 2.5rem;
	width: 100%;
	padding: 0;
	display: flex;
	align-items: center;
	border-radius: 1rem;
}

#menu li:not(:last-child){
	margin-bottom: .5rem;
}

#menu li img{
	width: 2rem;
	height: 2rem;
	margin: 0;
	margin-left: 1.5rem;
}

#menu li span{
	margin: 0;
}

#menu li:hover{
	background-color: var(--green-05);
}

#menu li.open{
	background-color: var(--green-02);
}

.aside .menu-side{
	visibility: hidden;
}

.txt-link{
	display: flex;
	opacity: 1;
}

.showAside{
	transform: translateX(0);
}

aside span{
	opacity: 0;
	transition: .3s;
}

aside.expandir li{
	gap: 2rem;
	width: 12rem;
}

aside.expandir spam{
	opacity: 1;
}

aside .menu-side{
	margin: 2.5rem 0 2rem 0; /* Margens: superior direita inferior esquerda */
}

aside .btn-expand:hover{
	opacity: 0.7;
	cursor: pointer;
}

aside.expandir{
	width: 12rem;
}

aside li:hover{
	background-color: var(--purple-02);
	cursor: pointer;
}

/* ============  Outras páginas ========== */
.Download,
.Help,
.About,
.Contact,
.Genome{
	flex-direction: column;
	display: none;
	font-family: "Source Serif 4", serif;
}
/* ======================================== */

main{
	width: 100%;
	background-color: rgba(0, 179, 126, 0.1);
	font-family: "Source Serif 4", serif;
	transition: .4s;
	
	overflow: auto;
}

.main {
	width: 100%;
}

header{
	width: auto;
	border-bottom: 0.125rem solid var(--green-02);
	background-color: var(--white);

	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .5s ease-in-out .8s forwards;
}

header section{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 0 2rem 0.125rem 2rem;
}

.header{
	padding: 0;
	width: 100%;
}

.logo{
	max-width: 30rem;
	height: 6rem;
	width: 65vw;
	margin: 0.5rem 0;
}

#logoImage{
	transform: translate(0, -1rem);
	opacity: 0;

	animation: showElementAnimation .5s ease-in-out .3s forwards;
}

.cloudImageWrapper{
	background-color: #FFF;
	border: 1px solid var(--green-01);
	position: absolute;
	bottom: 1vh;
	left: 1vw;
	border-radius: 50%;
	padding: .8rem;
	width: 4.5rem;
	height: 4.5rem;
	z-index: 2;

	opacity: 0;
	animation: showElementAnimation .5s ease-in-out 1s forwards;
}

.cloudImageWrapper img{
	width: 100%;
}

.description-screen{
	margin-top: 1rem;
	font-size: 1.5rem;
	text-align: justify;
	line-height: 2rem;

	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .5s ease-in-out 1s forwards;
}

.description-screen span{
	color: var(--purple-02);
}

.description-screen span a{
	font-weight: 700;
	color: var(--green-02);
}

.replace{
	cursor: pointer;
}

article{
	font-size: 1.5rem;
	text-align: justify;
}

article span{
	font-weight: 700;
	color: var(--green-01);
}

.container-explicative{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	gap: 2rem;
	margin: 2rem 0;
}

.box-explicative{
	text-align: center;
	width: 22rem;
	
}

.container-explicative .box-explicative p{
	font-size: 1.5rem;
}

.container-explicative b,
.container-explicative .box-explicative a{
	text-shadow: none;
}

.container-explicative{
	opacity: 0;
	transform: translate(0, -1rem);
	animation: showElementAnimation .5s ease-in-out 1.2s forwards;
}

.img-file-results{
	width: 5rem;
	filter:drop-shadow(0.25rem 0 0.25rem #C4C4CC);
	
}

.box-explicative b{
	text-shadow: 0px 4px 10px rgba(59, 35, 105, 0.25);
}

.box-explicative a{
	font-weight: 700;
	color: var(--green-03);
	text-shadow: 0px 4px 10px rgba(28, 124, 44, 0.25);
}

.img-console,
.img-dna, .img-phylogeny{
	width: 6rem;
	filter:drop-shadow(0.25rem 0 0.25rem #C4C4CC);
}

.container-main,
.container-data-input{
	margin: 1rem 1rem 0 1rem;
	border-radius: 1rem;
	background: var(--white);
	box-shadow: 0 0 0.5rem rgb(68, 39, 121);
	padding: 1rem 1.5rem 1rem 1.5rem;

	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .3s ease-in-out 1s forwards;
}

.container-main .description-screen{
	margin: 0 !important;
}

.title-input{
	font-size: 2rem;
	font-family: "Source Serif 4", serif;
	color: var(--grey-03);
	font-weight: 700;
	
	text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.25);
	border-bottom: 0.125rem solid var(--green-02);

	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .5s ease-in-out 0.8s forwards;
}

.session-title{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;

	font-size: 1.5rem;
	font-weight: 700;
	color: var(--purple-02);
	text-shadow: 0px 4px 10px rgba(59, 35, 105, 0.25);

	margin-bottom: 0.5rem;
}

.interface-data-input{
	display: flex;
  	flex-direction:row;
  	justify-content: center;
  	align-items: center;
  	gap: 2rem;
  	margin: 2rem 0;

	opacity: 0;
	transform: translate(0, -1rem);
	animation: showElementAnimation .6s ease-in-out 1.5s forwards;
}

.container-download {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;

	border: 0.1rem solid var(--green-01);
	border-radius: 2rem;
	padding: 1rem;
}

.description-download{
	display: flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
	width: 100%;
	max-width: 55rem;
	padding: 1rem;
}

.box-git{
	border: 0.1rem solid var(--green-01);
	border-radius: 2rem;
	padding: 1rem;
}

.box-git,
.description-download h3{
	margin: 1rem 0;
}

.box-git span a{
	font-weight: 700;
	color: var(--green-02);
}

.download-github{
	width: 100%;

	display: flex;
	gap: 2rem;
	text-align: center;
	justify-content: center;
}

.button-box {
	cursor: pointer;
	width: 35%;
}

.download-annotep {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--purple-02), var(--green-03)); /* Roxo para verde */
	color: white;
	padding: 1rem 1.5rem;
	border-radius: 12px;
	
	text-decoration: none;
	font-weight: bold;
	font-size: 1.25rem;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	transition: transform 0.2s ease;
	gap: 1rem;
}

.download-annotep:hover {
	transform: scale(1.05);
}

.git-icon{
	width: 2rem;
}


.box-icon {
  width: 2rem;
}

.img-git{
	width: 70%;
}

.graphic{
	width: 100%;
}

.cli{
	width: 80%;
}

.interface-graphic{
	width: 100%;
	border-radius: 1rem;
	border: 0.1rem solid var(--green-05);
	box-shadow: 0px 4px 10px rgb(68, 39, 121);
}

.code-one-line{
    display: flex;
    align-items: center;
	font-family: 'Anonymous Pro', monospace;
	margin: 1rem 0;
    background-color: var(--grey-01);
	color: var(--black) !important;
    width: 100%;
    height: 4rem;
    padding: 0 1rem;
	font-size: 1rem;
	border-radius: 0.5rem;

	opacity: 0;
    transform: translate(0, -1rem);
	animation: showElementAnimation .5s ease-in-out 1.2s forwards;
}

.code-compact{
    display: flex;
    align-items: center;
	font-family: 'Anonymous Pro', monospace;
	margin: 1rem 0;
    background-color: var(--grey-01);
	color: var(--black) !important;
    width: 100%;
    height: 12rem;
    padding: 0 1rem;
	font-size: 1rem;
	border-radius: 0.5rem;

	opacity: 0;
    transform: translate(0, -1rem);
	animation: showElementAnimation .5s ease-in-out 1.2s forwards;
}


.container-footer{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .3s ease-in-out 1s forwards;
}

.publication,
.clustermap{
	margin: 1rem 1rem 0 1rem;
	border-radius: 1rem;
	background: var(--white);
	box-shadow: 0 0 0.5rem rgb(68, 39, 121);
	padding: 1rem 1.5rem 1rem 1.5rem;
	
	opacity: 0;
	transform: translate(0, -1rem);

	animation: showElementAnimation .3s ease-in-out 1s forwards;
}

.publication{
	flex: 2;
}

.publication span{
	font-size: 1.5rem;
	margin-top: 0.5rem;
}

.map{
	margin: 0 auto;
}

.map td{
    padding: 0.5rem;
    vertical-align: middle;
}

.container-map{
	display: flex;
}


footer{
	margin-top: 1rem;
	border-top: 0.125rem solid var(--green-02);
	color: var(--grey-03);
	background-color: var(--white);
	height: 1rem;

	transform: translate(0, -1rem);
	opacity: 0;
	animation: showElementAnimation .4s ease-in-out 1.4s forwards;
}


.cite-us{
	margin: 1rem 2rem 1rem 2rem;
}

.cite-us a{
	color: var(--green-01);
	cursor: pointer;

	padding-left: 0.125rem;
}

.session-icon{
	width: 0.75rem;
    height: 0.8rem;
    display: flex;
    align-items: center;
}

@media (max-width: 1699px) {
	.interface-data-input{
		flex-wrap: wrap;
	}
}


@media (max-width: 1199px) {
	.container-explicative{
		flex-wrap: wrap;
	}

	.description-screen,
	.container-explicative .box-explicative span {
		font-size: 1.2rem;
	}

	.button-box {
		padding-top: 0;
	}

	.command-docker-graphic {
		height: 7rem;
	}

	.command-docker-bash{
		height: 12rem;
	}

	.container-explicative .box-explicative p {
		font-size: 1rem;
	}

	.img-dna, .img-phylogeny{
		width: 5rem;
	}

	.img-console, .img-file-results{
		width: 4rem;
	}

	.description-download {
		max-width: 45rem;
	}

	.container-download{
		flex-wrap: wrap;
		gap: 0rem;
		padding-top: 0.5rem;
	}

	.cli {
		width: 100%;
	}
}

@media (max-width: 991px) {
	aside{
		width: 4rem;
	}
	
	.aside{
		padding: 0.5rem;
		width: 6rem;

	}
	
	.aside:hover{
		width: 14rem;
	}
	
	#menu{
		margin-top: 1.5rem;
	}
	
	#menu .logoAnnotep img{
		width: 3rem;
		height: 3rem;
	}
	
	aside li{
		gap: 2rem;
		width: 3rem;
		height: 3.5rem;
		font-size: 1rem;
	}
	
	#menu li{
		gap: 1.5rem;
	}
	
	#menu li img{
		width: 1.5rem;
		height: 1.5rem;
	}
	
	aside.expandir li{
		gap: 2rem;
		width: 8rem;
	}
	
	aside.expandir{
		width: 8rem;
	}
	
	
	article{
		font-size: 1.2rem;
	}

	.cloudImageWrapper{
		bottom: 1vh;
		left: 1.5vw;
		padding: 0.7rem;
		width: 3.5rem;
		height: 3.5rem;
	}
	
}

@media (max-width: 767px){
	.menuMobile{
		display: flex;
		position: absolute;
		top: 5vh;
		left: 2rem;
		cursor: pointer;
		z-index: 3;

		animation: showElementAnimation 1s ease-in-out 1s forwards;
	}
	
	.ph-list{
		color: var(--green-01);
		font-size: 2.6rem;
		transition: all 1.2s ease;
	}
	
	.iconColor{
		color: #fff;
		border: 0;
		background:none;
	}

	.aside{
		position: fixed;
		left: -300px;
		width: 12rem;
		height: 100%;
		z-index: 2;

		padding: 1rem;
	}

	.aside:hover{
		width: 12rem;
	}

	.showAside{
		transition: 1s;
		left: 0;
	}

	.logoAnnotep img{
		display: none;
	}

	#menu{
		margin-top: 5rem;
	}

	#menu li{
		gap: 1.5rem;
		width: 100%;
	}

	#menu li:not(:last-child){
		margin-bottom: .5rem;
	}

	#menu li img{
		width: 1.5rem;
		height: 1.5rem;
	}

	.txt-link{
		opacity: 1;
		font-size: 1rem;
		visibility: inherit;
	}

	article{
		font-size: 1.2rem;
	}

	.header .container-header{
		display: flex;
		justify-content: center;
		width: 100%;
		margin: 0;
	}

	#logoImage{
		width: 20rem;
	}

	.container-explicative .box-explicative span {
		font-size: 1rem;
	}

	.container-explicative{
		padding: 0 4rem 0 4rem;
	}

	.description-download h3{
		font-size: 1.2rem;
	}

	.cloudImageWrapper{
		bottom: 1vh;
		left: 1.5rem;
		padding: 0.7rem;
		width: 3.5rem;
		height: 3.5rem;
	}

	/* .download-annotep {
        width: 15rem;
    } */

	.download-annotep p{
		font-size: 1.2rem;
	}

	.box-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.button-box {
		width: 80%;
	}

	.download-github{
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}

	.clustermap{
		flex: 1;
	}

	.publication span{
		font-size: 1.2rem;
		margin-top: 0.2rem;
	}


	
}

@media (max-width: 480px){
	.menuMobile{
		display: flex;
		position: absolute;
		top: 5vh;
		left: 2rem;
		cursor: pointer;
		z-index: 3;

		animation: showElementAnimation 1s ease-in-out 1s forwards;
	}
	
	.ph-list{
		color: var(--green-01);
		font-size: 2.6rem;
		transition: all 1.2s ease;
	}
	
	.iconColor{
		color: #fff;
		border: 0;
		background:none;
	}

	.aside{
		position: fixed;
		left: -300px;
		width: 12rem;
		height: 100%;
		z-index: 2;

		padding: 1rem;
	}

	.aside:hover{
		width: 12rem;
	}

	.showAside{
		transition: 1s;
		left: 0;
	}

	.logoAnnotep img{
		display: none;
	}

	#menu{
		margin-top: 5rem;
	}

	#menu li{
		gap: 1.5rem;
		width: 100%;
	}

	#menu li:not(:last-child){
		margin-bottom: .5rem;
	}

	#menu li img{
		width: 1.5rem;
		height: 1.5rem;
	}

	.txt-link{
		opacity: 1;
		font-size: 1rem;
		visibility: inherit;
	}

	article{
		font-size: 1.2rem;
	}

	.header .container-header{
		display: flex;
		justify-content: center;
		width: 100%;
		margin: 0;
	}

	#logoImage{
		width: 18rem;
	}

	.container-explicative .box-explicative span {
		font-size: 1rem;
	}

	.title-input{
		font-size: 1.5rem;
	}

	.publication span{
		font-size: 1.2rem;
		margin-top: 0.2rem;
	}

	.clustermap{
		margin: 0rem;
		border-radius: 0;
		background: none;
		box-shadow: none;
		padding: 0;
		margin-top: 1rem;
	}

	.clustermap .title-input{
		display: none;
	}

	.map td{
		border: 0.2rem solid var(--white) !important;
		background: var(--white);
		box-shadow: 0 0 0.5rem rgb(68, 39, 121);
		border-radius: 1rem;
	}

}

@media (max-width: 375px){
	.description-screen{
		font-size: 0.8rem;
	}

	.container-explicative .box-explicative p{
		font-size: 0.8rem;
	}

	.img-dna, .img-phylogeny{
		width: 2.5rem;
	}

	.img-console, .img-file-results{
		width: 2rem;
	}

	.map td{
		border: none;
		background: none;
		box-shadow: none;
		border-radius: none;
	}

	.title-input{
		font-size: 1.2rem ;
	}

	.description-download h3 {
        font-size: 1rem;
    }

	.description-download span a{
		font-size: 1.2rem;
	}

	.description-download p{
		font-size: 0.8rem;
	}

	/* .download-annotep {
        width: 13rem;
    } */

	.download-annotep p {
        font-size: 1rem;
    }

}