<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: #efefef;
    color: white;
    margin: 0px;
    left: 0px;
    top: 0px;
    height: 100%;
    width: 100%;
}

.squaretxt
{
  position: absolute;
  width: 100%;
  text-align: center;
  top: 64px;
  font-size: 19px;
}
.squaretxtp
{
  font-size: 11px;
  top: -5px;
  position: relative;
  font-weight: 100;
}
.squareone
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 29%;
  top: 74vh;
  background: #d83856;
  width: 150px;
  height: 120px;
  z-index: 2;
  border-radius: 20px;
  box-shadow: 0px 0px 12px #d83856;
}
.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: 820%;
  left: 50%;
  height: 78px;
  font-size: 11px;
  width: 200px;
  text-align: center;
  color: #525252;
  overflow: scroll;
}
#connecting
{   
  display:  none;
  margin-top: 184px;
  font-size: 21px;
  color: red;
  text-shadow: 0px 0px 10px #fcc0ff;
}
#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: 125px;
  height: 125px;
  margin: 8px;
  border: 8px solid #1f312f;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #e91e63 #e14355 #e33c5e #f44336;
}
.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: #e33d5d #e5275a #f3637f 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: 14px;
}
.substatus
{
  display: contents;
  font-size: 12px;
  position: a;
  width: 100%;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  z-index: 0;
  text-align: center;
  opacity: 0.8;
  font-size: 15px;
  color: #757575;
}
.statusserver
{
  position: absolute;
  width: 100%;
  top: 405px;
  text-align: left;
  color: #ffffff;
  display: inline-block;
  text-align: center;
  font-size: 18px;
  color: #757575;
}
.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: #ffffffcf;
    font-size: 18px;
    z-index: 7;
    border: 0px;
    color: black;
    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
{   
  width: 81%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 50%;
  height: 40px;
  top: 598%;
  border-radius: 5px;
  padding: 12px;
  position: absolute;
  z-index: 1;
  background: #dc4161;
  box-shadow: 0px 0px 5px #d4432f;
  border-radius: 15px;
}

#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;
}

.cloudfinal
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: -4%;
  top: 372%;
  background: #eaeaea;
  width: 150px;
  height: 120px;
  z-index: 1;
  border-radius: 60px;
}
.cloudtree
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 13%;
  top: 375%;
  background: #efefef;
  width: 80px;
  height: 80px;
  z-index: 1;
  border-radius: 60px;
}
.cloudtwo
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 89%;
  top: 375%;
  background: #efefef;
  width: 80px;
  height: 80px;
  z-index: 1;
  border-radius: 60px;
}
.cloudone
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 106%;
  top: 372%;
  background: #eaeaea;
  width: 150px;
  height: 120px;
  z-index: 1;
  border-radius: 60px;
}
.presshere
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  top: 97.5%;
  left: 50%;
  font-size: 14px;
  width: 330px;
  text-align: center;
  opacity: 0.8;
}

.connectbt
{
  height: 120px;
  width: 120px;
  background: url(https://i.imgur.com/eDP5Lb2.png) 31px center / 58px no-repeat rgb(253, 253, 253);
  border-radius: 100%;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 259%;
  left: 50%;
  z-index: 1;
  box-shadow: rgb(226 225 225) 0px 0px 20px;
  filter: invert(0);
}

.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: 28px;
  color: #ffdefb;
  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: #83083bba;
    width: 88%;
    transform: translate(-50%, 0%);
    left: 45%;
    height: 50px;
    border-radius: 5px;
    top: 6px;
    margin-bottom: 7px;
    padding: 4px;
    position: relative;
}

.typeserver
{
    color: #444 !important;
    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: #bf2b4d;
  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>

connected = connectednew;
var happy = true;
function connectednew() {
  // Do pre-function stuff
  if(happy == false){ return false;}
  // Invoke original function
   happy = false;
   atlantushide("#dontconnect");
   atlantusvisible("#connected");
   atlantushide("#connecting");
   $(".connectbt").attr("style", "background: #c34aaf url(pictures/wifi.svg); background-size: 86px; background-repeat: no-repeat; background-position: 15px; filter: brightness(4.5);");
  //notification("CONECTADO COM SUCESSO!");
  // Do post-function stuff
}

function fixuser()
{

	atlantuslogclear();
  $('#fixuser').fadeIn(100);
  setTimeout( async function(){   
	atlantuslogclear(); $('#wronguser').fadeOut(0); }, 400);
}

function authfinishtheme()
{
	atlantuslogclear();
	atlantusloginsetu(2);
	atlantushide("#fixuser");
    subscribecache_load();
}

function startatlantusrocket()
{
    sendcore("vibrate########50");
    var login = $('#userssh').val();
    var senha = $('#passssh').val();
    if(login == "")
    {
      $("#fixuser").fadeIn(100);
      return false;
    }
    if(senha == "")
    {
      $("#fixuser").fadeIn(100);
      return false;
    }
    startatlantus();
    happy = true;
}

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 style="
    position: fixed;
    width: 100%;
    height: 270px;
    background: linear-gradient(358deg, #e91e63, #d4432f);
    border-bottom-left-radius: 36%;
    border-bottom-right-radius: 36%;
"></div>
<div id="scamme" style="
background: url(pictures/map.png);
position: absolute;
opacity: 0.08;
height: 495px;
width: 100%;
z-index: 1;
left: 50%;
background-size: 200% 100%;
background-position-x: -120px;
filter: brightness(1.5);
top: 34%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
"></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="fixuser()" class="activebt">Corrigir</div>
        </div></div>

        
        <div id="fixuser" class="atlantusoverlay" style="
        display: none;
    ">
            <div class="bodyboost" style="
            height: 246px;
    top: 36%;
        ">
                <img src="pictures/user.png" style="
                height: 106px;
                position: relative;
                filter: invert(1);
                top: -55px;
            ">
            <div class="titleboost" style="
            color: #ffffff;
        ">Preencha os dados<br>
            </div>
            <br>
          <input type="TEXT" id="userssh" placeholder="login" class="inputmax ismain" style="
        margin-top: 21px;
    ">
            <input type="TEXT" id="passssh" placeholder="senha" class="inputmax ismain" style="
            margin-top: 61px;
            top: 46%;
            "><div onclick="authfinishtheme()" class="activebt" style="
        background: #de4467;
        margin-top: 89px;
    ">Salvar</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: rgb(251 251 251 / 86%);
    height: 100%;
    width: 100%;
    display:none;
    z-index: 12;">
        <div id="serverlist" onclick="serverchangex()">
        
        </div>
        </div>
    
        </div>
        <div id="sshplusbt" class="ismain" onclick="startatlantusrocket()" style="
   display:none;
">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><div id="withoutlogin" class="header">

    
    
    <div id="appname" >ATLANTUS</div>
    
    <div id="logsview"></div>
    <div class="squareone" onclick="contactview()">
        <div class="squaretxt"><b>Telegram</b>
        <br>
            <b class="squaretxtp"><a href="https://t.me/elrisson">Nos contate no telegram</a></b></div><a href="https://t.me/elrisson"><img src="https://i.imgur.com/xK1kcvw.png" style="
            height: 55px;
            position: absolute;
            left: 29%;
            top: 12%;
            filter: brightness(0.2) invert(1);
        ">
        </div>

        <div class="squareone" onclick="$('#fixuser').fadeIn(120);" style="left:70%;">
        <div class="squaretxt"><b>Login</b>
        <br>
            <b class="squaretxtp">Insira seu acesso de login</b></div><img src="https://i.imgur.com/Fzz2wK9.png" style="
                height: 59px;
                position: absolute;
                left: 31%;
                top: 9%;
                filter: brightness(0.1) invert(1) opacity(0.8);
        ">
        </div>

    <div id="dontconnect" class="presshere">Pressione para conectar</div>
    <div id="connecting" class="presshere"><div class="lds-dual-ring"></div>Conectando</div>
    <div id="connected" class="presshere">Conexão Estabelecida</div>
    <div class="cloudone"></div>
    <div class="cloudtwo"></div>
    <div class="cloudtree"></div>
    <div class="cloudfinal"></div>
    <div onclick="startatlantusrocket()" class="connectbt" style="">
    <div class="lds-ring"><div style="
        filter: drop-shadow(2px 4px 5px #eef1ef);"></div><div></div><div></div><div></div></div>
    </div>
<div class="selectedserver" onclick="serverchangex()">
    <img id="fserver" src="pictures/flags/none.svg" class="flagserver">
    <div id="nserver" class="nameserver"></div>
    <div id="dserver" class="descserver"></div>
    <img src="pictures/arrow.png" class="arrowserver">
    </div>
</div>

    <div class="statusserver">Status:
    <div class="substatus">Desconectado</div>
    </div>
    </div>