<meta name='viewport' content='width=device-width, initial-scale=1.0'><style>@font-face {
    font-family: 'Palanquin Dark';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(pictures/atlantus.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
body
{
  overflow: hidden;
  position: fixed;
  font-family: 'Palanquin Dark', sans-serif;
  background: linear-gradient( 
250deg , #08303e, #0c1023);
  color: white;
  margin: 0px;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
}
.squaretxt2
{
  position: absolute;
  width: 100%;
  text-align: center;
  top: 70px;
  font-size: 10px;
}
.squaretxt
{
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50px;
  font-size: 19px;
  color: black;
}
.squaretxtp
{
  font-size: 11px;
  top: -7px;
  position: relative;
  font-weight: 100;
}
.squareone
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 50%;
  top: 90vh;
  background: rgb(255,255,255);
  width: 500px;
  height: 200px;
  z-index: 2;
    border: none;
  border-radius: 50%;
  box-shadow: 0px 0px 12px rgba(255,80,80,0.493);
}
.notification
{
    width: 90%;
    text-align: center;
    position: relative;
    background: linear-gradient( 
45deg
 , #000000, #2c2a49);
    border-radius: 5px;
    position: absolute;
    left: 50%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 35px;
    padding-top: 5px;
    display: none;
    z-index: 2;
    top: 303%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#logsview
{
	    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 83%;
    left: 50%;
    height: 40px;
    font-size: 11px;
    width: 200px;
    text-align: center;
    color: #ccc;
    overflow:scroll;
    z-index: 2;
}
#connecting
{   
  display:  none;
    margin-left: 7px;
    color: #75a2c5;
}
#connected
{
	display:none;
    color: #7fffdc;
}
.lds-ring {
 display: inline-block;
    position: absolute;
    display:none;
    top: -13px;
    left: -13px;
}
.lds-ring div {
      box-sizing: border-box;
    display: block;
    position: absolute;
    width: 160px;
    height: 161px;
    margin: 8px;
    border: 8px solid rgb(91,71,47);
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #cddc39 #cddc3999 #cddc3940 #00968830;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.lds-dual-ring {
 display: inline-block;
    width: 80px;
    height: 80px;
    position: absolute;
    margin-left: -35px;
    margin-top: 1px;
}
.lds-dual-ring:after {
  content: " ";
    display: block;
    width: 17px;
    height: 17px;
    margin: 8px;
    border-radius: 50%;
    border: 2px solid #fff;
    border-color: #fff #fff5f536 #fff white;
    animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.flagserver
{
    height: 38px;
    position: absolute;
    left: 11px;
    top: 10px;
}
.substatus
{
    display: inline-block;
    font-size: 12px;
    position: relative;
    left: 49px;
    top: -4px;
    width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 5px;
    z-index: 0;
    text-align: center;
    opacity: 0.8;
}
.statusserver
{
    position: absolute;
    width: 100%;
    top: 161px;
    text-align: left;
    font-size: 15px;
    color: #ffffff;
    display: inline-block;
    left: -51px;
}
.arrowserver
{
	position: absolute;
    right: 13px;
    height: 18px;
    top: 21px;
    filter: invert(1);
}

.descserver
{
    width: 59%;
    text-align: left;
    height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: absolute;
    top: 28px;
    font-size: 12px;
    left: 67px;
    color: #ccc;
}

.inputmax
{
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  left: 50%;
  top: 42%;
  padding: 13px;
  background: #0000008a;
  color: #ffffff;
  font-size: 18px;
  text-shadow: 0px 0px 15px #03a9f4;
  z-index: 7;
  border: 0px;
  border-radius: 5px;
  width: 85%;
}


.rocket {
    position: absolute;
    top: 28%;
    display:none;
    margin-left: 20px;
    width: 80px;
    left: calc(50% - 60px);
    z-index: 10;
  }
  .rocket .rocket-body {
    width: 80px;
    left: calc(50% - 50px);
    animation: bounce 0.5s infinite;
  }
  .rocket .rocket-body .body {
    background-color: #dadada;
    height: 180px;
    left: calc(50% - 50px);
    border-top-right-radius: 100%;
    border-top-left-radius: 100%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-top: 5px solid #f5f5f5;
  }
  .rocket .rocket-body:before {
    content: "";
    position: absolute;
    left: calc(50% - 24px);
    width: 48px;
    height: 13px;
    background-color: #554842;
    bottom: -13px;
    border-bottom-right-radius: 60%;
    border-bottom-left-radius: 60%;
  }
  .rocket .window {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #a75248;
    left: calc(50% - 25px);
    top: 40px;
    border: 5px solid #b4b2b2;
  }
  .rocket .fin {
    position: absolute;
    z-index: -100;
    height: 55px;
    width: 50px;
    background-color: #a75248;
  }
  .rocket .fin-left {
    left: -30px;
    top: calc(100% - 55px);
    border-top-left-radius: 80%;
    border-bottom-left-radius: 20%;
  }
  .rocket .fin-right {
    right: -30px;
    top: calc(100% - 55px);
    border-top-right-radius: 80%;
    border-bottom-right-radius: 20%;
  }
  .rocket .exhaust-flame {
    position: absolute;
    top: 90%;
    width: 28px;
    background: linear-gradient(to bottom, transparent 10%, #f5f5f5 100%);
    height: 150px;
    left: calc(50% - 14px);
    animation: exhaust 0.2s infinite;
  }
  .rocket .exhaust-fumes li {
    width: 60px;
    height: 60px;
    background-color: #f5f5f5;
    list-style: none;
    position: absolute;
    border-radius: 100%;
  }
  .rocket .exhaust-fumes li:first-child {
    width: 200px;
    height: 200px;
    bottom: -300px;
    animation: fumes 5s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(2) {
    width: 150px;
    height: 150px;
    left: -120px;
    top: 260px;
    animation: fumes 3.2s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(3) {
    width: 120px;
    height: 120px;
    left: -40px;
    top: 330px;
    animation: fumes 3s 1s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(4) {
    width: 100px;
    height: 100px;
    left: -170px;
    animation: fumes 4s 2s infinite;
    top: 380px;
  }
  .rocket .exhaust-fumes li:nth-child(5) {
    width: 130px;
    height: 130px;
    left: -120px;
    top: 350px;
    animation: fumes 5s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(6) {
    width: 200px;
    height: 200px;
    left: -60px;
    top: 280px;
    animation: fumes2 10s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(7) {
    width: 100px;
    height: 100px;
    left: -100px;
    top: 320px;
  }
  .rocket .exhaust-fumes li:nth-child(8) {
    width: 110px;
    height: 110px;
    left: 70px;
    top: 340px;
  }
  .rocket .exhaust-fumes li:nth-child(9) {
    width: 90px;
    height: 90px;
    left: 200px;
    top: 380px;
    animation: fumes 20s infinite;
  }
  
  .star li {
    list-style: none;
    position: absolute;
  }
  .star li:before, .star li:after {
    content: "";
    position: absolute;
    background-color: #f5f5f5;
  }
  .star li:before {
    width: 10px;
    height: 2px;
    border-radius: 50%;
  }
  .star li:after {
    height: 8px;
    width: 2px;
    left: 4px;
    top: -3px;
  }
  .star li:first-child {
    top: -30px;
    left: -210px;
    animation: twinkle 0.4s infinite;
  }
  .star li:nth-child(2) {
    top: 0;
    left: 60px;
    animation: twinkle 0.5s infinite;
  }
  .star li:nth-child(2):before {
    height: 1px;
    width: 5px;
  }
  .star li:nth-child(2):after {
    width: 1px;
    height: 5px;
    top: -2px;
    left: 2px;
  }
  .star li:nth-child(3) {
    left: 120px;
    top: 220px;
    animation: twinkle 1s infinite;
  }
  .star li:nth-child(4) {
    left: -100px;
    top: 200px;
    animation: twinkle 0.5s ease infinite;
  }
  .star li:nth-child(5) {
    left: 170px;
    top: 100px;
    animation: twinkle 0.4s ease infinite;
  }
  .star li:nth-child(6) {
    top: 87px;
    left: -79px;
    animation: twinkle 0.2s infinite;
  }
  .star li:nth-child(6):before {
    height: 1px;
    width: 5px;
  }
  .star li:nth-child(6):after {
    width: 1px;
    height: 5px;
    top: -2px;
    left: 2px;
  }
  
  @keyframes fumes {
    50% {
      transform: scale(1.5);
      background-color: transparent;
    }
    51% {
      transform: scale(0.8);
    }
    100% {
      background-color: #f5f5f5;
      transform: scale(1);
    }
  }
  @keyframes bounce {
    0% {
      transform: translate3d(0px, 0px, 0);
    }
    50% {
      transform: translate3d(0px, -4px, 0);
    }
    100% {
      transform: translate3d(0px, 0px, 0);
    }
  }
  @keyframes exhaust {
    0% {
      background: linear-gradient(to bottom, transparent 10%, #f5f5f5 100%);
    }
    50% {
      background: linear-gradient(to bottom, transparent 8%, #f5f5f5 100%);
    }
    75% {
      background: linear-gradient(to bottom, transparent 12%, #f5f5f5 100%);
    }
  }
  @keyframes fumes2 {
    50% {
      transform: scale(1.1);
    }
  }
  @keyframes twinkle {
    80% {
      transform: scale(1.1);
      opacity: 0.7;
    }
  }
.nameserver
{
    position: absolute;
    top: 5px;
    font-size: 15px;
    width: 64%;
    text-align: left;
    left: 67px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.selectedserver
{   
  background: #0000008a;
  width: 81%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 50%;
  height: 40px;
  top: 34%;
  border-radius: 5px;
  padding: 7px;
  position: absolute;
  z-index: 1;
}

#menuexpand
{
	    position: absolute;
    left: 0px;
    height: 100%;
    bottom: 0px;
    display: none;
    width: 300px;
    background: linear-gradient(
45deg
, black, #250200ed, #560400d4);
    z-index: 4;
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
}

.presshere
{
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 77%;
    left: 50%;
    font-size: 20px;
    width: 330px;
    text-align: center;
    z-index: 2;
}

.connectbt
{
    height: 120px;
    width: 120px;
    background: #ffffff url(pictures/power.svg);
    BORDER-RADIUS: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    background-size: 53px !important;
    background-repeat: no-repeat;
    background-position: 34px !important;
    filter: invert(1);
    top: 63%;
    left: 50%;
    z-index: 1;
}

.freeimg
{
	height: 40px;
    width: 40px;
    background: #ffffff4d url(pictures/crown.png);
    background-repeat: no-repeat;
    background-position: 5px;
    border-radius: 60px;
    position: absolute;
    top: 9px;
    left: 6px;
}

.freetxtsmall
{
	    position: absolute;
    left: 58px;
    top: 26px;
    color: #ccc;
    font-size: 12px;
}
.freetxt
{
	position: absolute;
    left: 58px;
    top: 4px;
    font-size: 17px;
}

.header
{
	position: fixed;
    top: 57px;
	 left: 0px; 
	 width: 100%;
	 z-index:3;
	 text-align: center;
}

.startfree
{
    width: 300px;
    height: 60px;
    background: #4b0e79;
    position: absolute;
    left: 50%;
    bottom: 27px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 10px;
}

.centerbody
{
    position: absolute;
    opacity: 0.1;
    height: 495px;
    width: 100%;
    z-index: 1;
    left: 50%;
    background-size: 200% 100%;
    background-position-x: -120px;
    top: 49%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#application
{
}
.menuiconx
{
	    position: absolute;
    right: 19px;
    filter: invert(1);
    top: 44px;
    height: 24px;
}

#appname
{
    font-size: 26px;
    color: #03a9f4;
    text-transform: uppercase;
}

.pingserver
{
	 position: absolute;
    right: 14px;
    font-size: 13px;
    color: #ccc;
}

.premiumserver
{
	display:none;
}

.bronzeserver
{
	display: none;
}

.freeserver
{
}

.goldserver
{
	display: none;
}

.recommendserver
{
	display: none;
}

.greenping
{
	  background: #49ff50;
    width: 5px;
    height: 13px;
    position: absolute;
    right: -8px;
    border-radius: 55px;
    top: 7px;
}
.svbubble
{
    background: #070d13ba;
    width: 88%;
    transform: translate(-50%, 0%);
    left: 45%;
    height: 50px;
    border-radius: 5px;
    top: 6px;
    margin-bottom: 7px;
    padding: 4px;
    position: relative;
}

.typeserver
{
    position: relative;
    width: 100%;
    text-align: left;
    padding-left: 20px;
    top: 20px;

}
.userprofile
{
	    background: url(pictures/149071.png);
    position: relative;
    height: 80px;
    width: 220px;
    background-size: 80px 80px;
    border-bottom: 1px solid #2b3548;
    background-repeat: no-repeat;
    left: 40px;
    top: 100px;
    padding-bottom: 50px;
    background-position-x: 65px;
}

#serverlist
{
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 51%;
    border-radius: 5px;
    left: 50%;
    display: none;
    overflow-x: hidden;
    overflow-y: scroll;
    width: 98%;
    padding-bottom: 8px;
    padding-top: 8px;
    height: 450px;
}

.userid
{
	    position: absolute;
    bottom: 8px;
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: #909090;
}

.userexp
{
	    position: absolute;
        bottom: 23px;
    color: #8e8e8e;
    width: 100%;
    text-align: center;
    font-size: 12px;
}
.menulist
{
	position: absolute;
    color: #adadaf;
    top: 275px;
    left: 52px;
}
.menuicon
{
	position: absolute;
    left: 19px;
    filter: invert(1);
    top: 11px;
    height: 24px;
}

.menutxt
{
	    position: relative;
    margin-bottom: 30px;
}
.rightbt
{
	 position: absolute;
    right: 5px;
    padding: 7px;
    border-radius: 5px;
    width: 62px;
    top: 5px;
    padding-right: 8px;

}

.menuicond
{
	 position: absolute;
    height: 18px;
    left: -27px;
    top: 6px;
    filter: invert(1);
    opacity: 0.77;
}
.crowimg
{
    height: 18px;
    position: absolute;
    left: 5px;
    top: 9px;
}

.activebt
{
    position: relative;
    top: 14px;
    padding: 5px;
    background: #fe9a01;
    width: 100px;
    left: 106px;
    border-radius: 5px;
}
.textboost
{
    font-size: 14px;
        color: #e6e6e6;
}
.titleboost
{
    margin-top: -59px;
        font-size: 24px;
        color: #ffa382;
}
.bodyboost
{
    position: absolute;
    left: 50%;
    top: 46%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #0a87fb;
    height: 350px;
    width: 330px;
    border-radius: 5px;
    text-align: center;
}
.atlantusoverlay
{
    display: none;
    position: absolute;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.76);
    z-index: 10;
}
#boostmode
{
    display:none;
    position: absolute; height: 100%;
     width: 100%; background: rgba(0, 0, 0, 0.76); z-index: 5;
}
#storagemode
{
    display:none;
    position: absolute; height: 100%;
     width: 100%; background: rgba(0, 0, 0, 0.76); z-index: 5;
}
.protxt
{
    position: relative;
    left: 9px;
    color: #fbc14d;
    font-weight: 100;
    text-shadow: 0px 0px 20px yellow;
    letter-spacing: 1.5px;
    font-size: 13px;
    top: -1px;
}</style><script>

function startatlantusrocket()
{
    startatlantus();
}

function serverchangex()
{
	$(".boxlistsv").animate({height: 'toggle'});
	atlantusdropserver();
}
</script>


<script>

	(function(){
	    var tId = setInterval(function() {
	        if (document.readyState == "complete") onComplete()
	    }, 11);
	    function onComplete(){
              //sshplus
              setInterval( async function(){ sshpluscore(); }, 200);
	    };
	})()

  async function sshpluscore()
  {
		if(!$('#dontconnect').is(':visible'))
		{
        $("#sshplusbt").text("ENCERRAR");
    }
    else
    {
        $("#sshplusbt").text("CONECTAR");
    }
  }


</script><meta name="viewport" content="width=device-width, initial-scale=1.0">
<div id="withoutlogin" class="body">
  
    <div id="scamme" style="
           overflow: hidden;
    position: fixed;
    font-family: 'Palanquin Dark', sans-serif;
    background: url(https://images.app.goo.gl/nGd5EXppXscVBCm39);
    background-size: 100% 100%;
    color: white;
    margin: 0px;
    left: -19px;
    top: -20px;
    height: 112%;
    width: 112%;
    opacity: 0.99;
"></div>
    <div id="menuexpand" onclick="menuclose()">
        <div class="menulist">
            <div class="menutxt" onclick="authfinishu()"><img src="pictures/token.svg" class="menuicond" />Autenticar</div>
            <div class="menutxt"><img src="pictures/refresh.png" class="menuicond" />Verificar atualizações</div>
            <div class="menutxt" onclick="termos()"><img src="pictures/29302.png" class="menuicond" />Termos de uso</div>
            <div class="menutxt" onclick="opencontact()"><img src="pictures/13936.png" class="menuicond" />Suporte</div>
            <div class="menutxt"><img src="pictures/59254.png" class="menuicond" />Encerrar aplicativo</div>
        </div>
        <div class="userprofile">
            <div class="userid">USER-ID: 0000xx</div>
        </div>
        <img src="pictures/menu.png" class="menuiconx" />
    </div>



    <div id="wronguser" class="atlantusoverlay">
        <div class="bodyboost" style="
        height: 246px;
    ">
            <img src="pictures/wrong.svg" style="
            height: 106px;
            position: relative;
            top: -55px;
        ">
        <div class="titleboost" style="
        color: #ffffff;
    ">Autenticação Falhou<br>
        <div class="textboost">Seus dados de usuário estão incorretos, por favor verifique novamente o seu acesso.</div></div>
        <br><div onclick="authfinishu()" class="activebt">Corrigir</div>
        </div></div>

    <div id="termos" class="atlantusoverlay">
        <div class="bodyboost">
            <img src="pictures/terms.svg" style="
            height: 106px;
            position: relative;
            top: -55px;
        ">
        <div class="titleboost"  style=" color: #e64c3c;">Termos de Uso<br>
        <div class="textboost" style="font-size: 14px; color: #e6e6e6; height: 168px; overflow: scroll;">
          <center>Certifique-se de não usar este aplicativo para atividades ilegais, sua conta será suspensa se detectada.<br>
            Algum conteúdo pode estar banido em seu país, então não acesse,<br>
             apenas faça atividades básicas como filmes, jogos e música e pesquisas em geral,<br>
              pornografia infantil e golpes são inaceitáveis ​​e você será severamente punido se usar<br>
               este aplicativo para cometer esses absurdos .</center></div></div>
        <br><div onclick="termos()" class="activebt">Concordo</div>
      </div></div>

    
    <div id="storagemode">
        <div class="bodyboost">
            <img src="pictures/storage.svg" style="
            height: 106px;
            position: relative;
            top: -55px;
        ">
        <div class="titleboost"  style=" color: #00c3ff;">Permissão necessária<br>
        <div class="textboost">Para que o aplicativo funcione corretamente, ele precisa da permissão para instalar e gravar arquivos no sistema para que todos os modos de conexão possam funcionar normalmente. Conceda as permissões necessárias.</div></div>
        <br><div onclick="storagemode()" class="activebt">Permitir</div>
      </div></div>
    



    <div id="boostmode">
    <div class="bodyboost">
        <img src="pictures/boost.svg" style="
        height: 106px;
        position: relative;
        top: -55px;
    ">
    <div class="titleboost">Modo Boost<br>
    <div class="textboost">O modo Boost pode otimizar a velocidade e detectar os aplicativos usados &ZeroWidthSpace;&ZeroWidthSpace;para melhorar a experiência de conexão, você pode habilitar este modo. No entanto, você precisa conceder as permissões necessárias para realizar esta atividade.</div></div>
    <br><div onclick="acboostmode()" class="activebt">Ativar</div>
    <div onclick="boostmode()" style="margin-top: 5px; background: #9e330a;" class="activebt">Cancelar</div></div></div>

    
<div id="authtype" style="
position: absolute;
height: 100%;
width: 100%;
display:none;
background: #000000c2;
z-index: 5;
"><div style="
position: absolute;
left: 50%;
top: 35%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: #e91e1e;
height: 250px;
width: 330px;
border-radius: 10px;
text-align: center;
"><img src="pictures/149071.png" style="
height: 77px;
position: relative;
top: -37px;
">
<div style=" margin-top: -23px;color: cadetblue; margin-bottom: 1px;">Selecione o modo de login</div>
<div onclick="authfinish()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #673ab7;
    width: 200px;
    left: 59px;
    border-radius: 5px;
">Modo Token</div>
<div onclick="authfinishu()" style="
   position: relative; top: 21px; padding: 5px; background: #30329a; width: 200px; left: 59px; border-radius: 5px;
">Modo Usuário</div>
<div style="
font-size: 11px;
margin-top: 26px;
color: #ccc;
">Selecione o modo de autenticação.</div></div></div>



<div id="authuserff" style="
    position: absolute;
    height: 100%;
    width: 100%;
    display:none;
    background: #000000c2;
    z-index: 5;
    "><div style="
    position: absolute;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #e91e1e;
    height: 250px;
    width: 330px;
    border-radius: 10px;
    text-align: center;
"><img src="pictures/user.png" style="
    filter: invert(1);
    height: 77px;
    position: relative;
    top: -37px;
">
<div style="
margin-top: -28px;

">Dados de usuário</div><input type="text" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<input type="text"  placeholder="senha" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<div onclick="authfinishu()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #3f51b5;
    width: 100px;
    left: 106px;
    border-radius: 5px;
">Entrar</div></div></div>

<div id="authtoken" style="
    position: absolute;
    height: 100%;
    width: 100%;
    display:none;
    background: #000000c2;
    z-index: 5;
    "><div style="
    position: absolute;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #e91e1e;
    height: 250px;
    width: 330px;
    border-radius: 10px;
    text-align: center;
"><img src="pictures/user.png" style="
    filter: invert(1);
    height: 77px;
    position: relative;
    top: -37px;
">
<div style="
    margin-top: -11px;
">Acesso token</div><input type="text" id="token" placeholder="token" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<div onclick="authfinish()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #3f51b5;
    width: 100px;
    left: 106px;
    border-radius: 5px;
">Entrar</div>
<div style="
    font-size: 11px;
    margin-top: 26px;
    color: #ccc;
">O acesso token pode ser obtido com o fornecedor.</div></div></div>


    <div id="withoutlogin" class="body centerbody"></div>
    <div>
        
    <div class="boxlistsv" style="    position: absolute;
    background: #000000b8;
    height: 100%;
    width: 100%;
    display:none;
    z-index: 12;">
        <div id="serverlist" onclick="serverchangex()">
        
        </div>
        </div>
    <div class="selectedserver" onclick="serverchangex()">
        <img id="fserver" src="https://cdn-icons-png.flaticon.com/512/1383/1383395.png" class="flagserver">
        <div id="nserver" class="nameserver"></div>
        <div id="dserver" class="descserver"></div>
        <img src="pictures/arrow.png" class="arrowserver">
        </div>
    <div><input type="TEXT" id="userssh" placeholder="login" class="inputmax ismain">
        <input type="password"  id="passssh" placeholder="senha" class="inputmax ismain" style="    margin-top: 23px;
        top: 46%;">            
        </div>
        <div id="sshplusbt" class="ismain" onclick="startatlantusrocket()" style="
        width: 80%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    background-size: 53px !important;
    background-repeat: no-repeat;
    background-position: 34px !important;
    top: 59%;
    left: 50%;
    text-align: center;
    padding: 10px;
    z-index: 1;
    background: #00000094;
    border-radius: 5px;
">CONECTAR</div>
    </div>
    <div class="rocket">
        <div class="rocket-body">
          <div class="body"></div>
          <div class="fin fin-left"></div>
          <div class="fin fin-right"></div>
          <div class="window"></div>
        </div>
        <div class="exhaust-flame"></div>
        <ul class="exhaust-fumes">
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
        </ul>
      </div>
    <div id="logsview"></div>
    < <div id="dontconnect" class="presshere"> </div>
    <div id="connecting" class="presshere"><div class="lds-dual-ring"></div>Conectando</div>
    <div id="connected" class="presshere">Conexão Estabelecida</div>
</div><div id="withoutlogin" class="header">

    <div id="logsview"></div>
    <div class="squareone" onclick="contactview()">
        <div class="squaretxt"><b><u>SUPORTE</u></b>
        <br>
            <b class="squaretxt2">Telegram</b></div><img src="https://i.imgur.com/xK1kcvw.png" style="
            height: 25px;
            position: absolute;
            left: 35%;
            top: 27%;
        ">
        </div>
    
    <div id="appname" style="color:transparent;">ATLANTUS</div>
    <div class="logoapp" style="
   background: url(pictures/logo.png);
    position: absolute;
    height: 150px;
    width: 148px;
    background-size: 100%;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    left: 50%;
    top: 53px;
" hidden="true" >
</div>
</div>
    <div class="statusserver">
    <div class="substatus">Desconectado</div>
    </div>
    </div><! –– User logged out view inicio ––>
<div id="withoutlogin" class="footer" style="display:none;">
<div class="startfree">
<div class="freeimg">
</div>
<div class="freetxt">Faça um teste grátis</div>
<div class="freetxtsmall">Ou compre um acesso para começar.</div>
</div>
</div>
<! –– User logged out view final ––>