html, body, canvas {
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #000;
}

#swipeLayer, #swipeBackground {
	display: none !important;
}

#wrapper {
    position: absolute;
    left: 0;
    top: 0;
}

#stage {
    /*margin-left: auto;
    margin-right: auto;
    display: block;*/
    width: 0;
    height: 0;
}

#statsPanel {
    position: absolute;
    width: 100%;
    height: 8%;
    bottom: 0;
    opacity: 0.8;
    background-color: #ff0000;
}

#portraitonly {
    /* margin: auto !important;
    width: 70%;
    justify-content: center;
    align-items: center;
    text-align: center; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center; 
    min-height: 100vh;
    visibility: hidden;
}

#portraitonly img {
    width: 30%;
}


.portraitonlytext {
    /* width: 70%; */
    color: white;
    font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
}


.noselect {
  font-family: Arial, Helvetica, 'Microsoft Yahei', 'Malgun Gothic', 'Khmer OS Battambang', 'Nokora', 'Tahoma', sans-serif !important;
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Chrome/Safari/Opera */
     -khtml-user-select: none; /* Konqueror */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  not supported by any browser */
}


/* First-stage HTML loader; the game replaces it with the canvas percentage loader. */
.loader {
    width: 30px;
    height: 30px;
    position: fixed;
    bottom: 9%;
    left: 50%;
    margin: 0 0 0 -15px !important;
    z-index: 2;
}

.gplogo img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.gplogo
{
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0;
    z-index: 1;
    visibility: visible;
}

.fadeLogo {
    visibility: visible;
     -webkit-animation: fadein .5s; /* Safari, Chrome and Opera > 12.1 */
     -moz-animation: fadein .5s; /* Firefox < 16 */
     -ms-animation: fadein .5s; /* Internet Explorer */
     -o-animation: fadein .5s; /* Opera < 12.1 */
     animation: fadein .5s;
 }

 .closeHistory
 {
    position:fixed; 
    width:40px; 
    height: 40px;
    top: 0;
    right:0; 
    z-index:999999;
    padding: 10px 0 0 5px;
    cursor: pointer;
 }
 
 .closeHistory img
 {
    width: 30px; 
    height: 30px;
 }

 #historyContainer
 {
    -webkit-overflow-scrolling: touch;
    display: none;
    overflow: hidden;
 }

 #historyFrame
 {
    height: 100%;
    width: 100%;
 }
 
 #historyLoader {
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(18, 41, 91, 0.5);
 }
 
 #btnCloseHistory {
    width: 44px !important;
    height: 44px !important;
    padding: 0px !important;
    right: 8px !important;
 }
 
 
 #btnCloseHistory img {	 
    padding: 10px;
 }
 
@media only screen 
  and (min-width: 240px) 
  and (max-width: 320px) 
  ,   (min-height: 240px) 
  and (max-height: 420px) {
 
  #btnCloseHistory {
    width: 34px;
    height: 34px;
    padding: 0px;
    right: 8px;
  }
 
  #btnCloseHistory img {	 
    padding: 7px;
	width: 20px;
	height: 20px;
  } 	  
}
  
/**
 * ==============================================
 * Dot Collision
 * ==============================================
 */
.dot-collision {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: #CFE6EF;
  color: #CFE6EF;
  margin: auto;
  top: 48vh;
}

.dot-collision::before, .dot-collision::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
}

.dot-collision::before {
  left: -12px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: #CFE6EF;
  color: #CFE6EF;
  -webkit-animation: dot-collision-before 2s infinite ease-in;
  animation: dot-collision-before 2s infinite ease-in;
}

.dot-collision::after {
  left: 12px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: #CFE6EF;
  color: #CFE6EF;
  -webkit-animation: dot-collision-after 2s infinite ease-in;
  animation: dot-collision-after 2s infinite ease-in;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

@-webkit-keyframes dot-collision-before {
  0%,
  50%,
  75%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-20px);
  }
}

@keyframes dot-collision-before {
  0%,
  50%,
  75%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-20px);
  }
}

@-webkit-keyframes dot-collision-after {
  0%,
  50%,
  75%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px);
  }
}

@keyframes dot-collision-after {
  0%,
  50%,
  75%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px);
  }
}


/****MODAL STYLE***/
.modal {
    left: 0;
    top: 0;
    display: none; 
    position: absolute;
    width: 100%; 
    height: 100%;
    height: 100vh; 
    overflow: auto; 
    background-color: rgb(2,4,9);
    background-color: rgba(2,4,9,0.84);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 999998;
}

/* Modal Content/Box */
@media only screen and (min-width: 768px) {

    .error-content {
        max-width: 600px;
        min-width: 600px;
        min-height: 120px;
    }

	.closeHistory
    {
       position:fixed; 
       width:40px; 
       height: 40px;
   
       top: 0;
       right:0; 
       z-index:999999;
       padding: 10px 8px 0 0;
       cursor: pointer;

    }
}

@media only screen and (min-device-width: 847px) {
	.closeHistory {
       padding: 10px 15px 0 0 !important;
    }
}

@media only screen and (min-width: 480px)  and (max-width: 736px){

    .error-content {
        min-width: 400px;        
        min-height: 50px;
    }
	
	.closeHistory
    {
       position:fixed; 
       width:40px; 
       height: 40px;
       top: 0;
       right:0; 
       z-index:999999;
       padding: 10px 0 0 5px;
       cursor: pointer;
    }

}

@media only screen and (min-width: 412px) {

    .error-content {
        min-width: 350px;        
        min-height: 50px;
    }

}

@media only screen and (max-width: 320px) and (max-width: 359px){

    .error-content {
        max-width: 260px;
        min-width: 260px;
        min-height: 120px;
    }

	.closeHistory
    {
       position:fixed; 
       width:40px; 
       height: 40px;
       top: 0;
       right:0; 
       z-index:999999;
       padding: 10px 0 0 5px;
       cursor: pointer;
    }
}

@media only screen and (min-width: 360px) and (max-width: 410px) {

    .error-content {
        max-width: 350px;
        min-width: 350px;
        min-height: 120px;
    }
	.closeHistory
    {
       position:fixed; 
       width:40px; 
       height: 40px;
       top: 0;
       right:0; 
       z-index:999999;
       padding: 10px 0 0 5px;
       cursor: pointer;
    }
}

@media only screen and (max-width: 260px) {

    .error-content {
        max-width: 240px;
        min-width: 240px;
        min-height: 100px;
    }

    #errormessage
    {
        font-size: 10px !important;
    }
        
    .gplogo img{    
        width: 250px !important;
        height: 66px !important;
    }

    .gplogo
    {
        margin: -60px 0 0 -125px;
    }
	.closeHistory
    {
       position:fixed; 
       width:40px; 
       height: 40px;
       top: 0;
       right:0; 
       z-index:999999;
       padding: 10px 0 0 5px;
       cursor: pointer;
    }
}

.error-content {
    box-sizing: border-box;
    overflow: hidden;
    font-family: "Arial", "Verdana", sans-serif;
    color: #e7e4e1;
    border-radius: 12px;
    border: 2px solid #8f1d31;
    background: linear-gradient(145deg, rgba(22,25,34,0.99), rgba(7,9,14,0.99));
    box-shadow: 0 0 0 1px rgba(194,155,87,0.72), 0 22px 70px rgba(0,0,0,0.78), inset 0 1px 0 rgba(255,255,255,0.06);
}

/* The Close Button */
.close {
    color: #d9b66d;
    float: right;
    font-size: 28px;
    font-weight: bold;
    padding: 5px 12px 0 10px;
    text-shadow: 0 2px 4px #000;
}

.close:hover,
.close:focus {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.center {
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#errormessage
{
    padding: 22px 30px 18px;
    font-size: 16px;
    line-height: 1.45;
    color: #e7e4e1;
}


div.container4 {
    height: 100%;
}

.erroHeader
{    
    height: 46px;
    width: 100%;
    background: linear-gradient(180deg, #5d1020 0%, #28060d 100%);
    border-bottom: 1px solid #c29b57;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}


div.erroHeader .box-icon {
   /*  margin-left: 5px;
    padding-top: 15px; */
    display: block;
    float: left;
    background-image: url(./_commons/css/images/icon.png);
    width: 30px;
    height: 25px;
    margin-top: -2px;
    background-position: -8px -8px;
}


div.erroHeader.error .box-icon {
    background-position: -128px -8px;
}

div.erroHeader {
    color: #f3eee7;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}

.errorTitle
{
    padding: 12px 0 0 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.buttons
{
    width: 100%;
    text-align: center;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: bold;
    text-shadow: 0 -1px rgba(0, 0, 0, 0.3);
}

.button
{    
    box-sizing: border-box;
    min-width: 180px;
    width: auto;
    height: 42px;
    line-height: 40px;
    margin-bottom: 20px;
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
    padding: 0 30px;
    color: #fff;
    background: linear-gradient(180deg, #9b233a 0%, #4b0916 100%);
    border: 1px solid #c29b57;
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 4px 12px rgba(0,0,0,0.45);
    cursor: pointer;
}

.button:hover,
.button:focus {
    background: linear-gradient(180deg, #b52a45 0%, #650d1e 100%);
    box-shadow: 0 0 0 2px rgba(194,155,87,0.25), 0 5px 16px rgba(0,0,0,0.55);
}

.button:active {
    transform: translateY(1px);
}

.closeHistory {
    box-sizing: border-box;
    border-radius: 50%;
    background: rgba(54,7,16,0.92);
    border: 1px solid #c29b57;
    box-shadow: 0 4px 14px rgba(0,0,0,0.65);
}
