/*
 * Globals
 */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@800&family=Kanit:wght@300;400;600&display=swap');

/* Custom default Join */
.btn-light,
.btn-light:hover,
.btn-light:focus {
	color: #333;
	text-shadow: none; /* Prevent inheritance from `body` */
}

#background-wrapper {
	z-index: -1;
	position: absolute;
	height: 100%;
	width: 100%;
}

#background-wrapper:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background-image: linear-gradient(
				to top, 
				rgba(0, 0, 0, 0.9),
				rgba(0, 0, 0, 0.65)
		);
}

#background-wrapper canvas {
		position: fixed;
		height: 100%;
		width: 177.77777778vh;
		min-width: 100%;
		min-height: 56.25vw;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%) scale(1.015);
		filter: blur(5px);
}

#tooltip {
    position: absolute;
    background-color: black;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    pointer-events: none;
}

.fade-out-up-pre {
    opacity: 1 !important;
    transform: translateY(0px);
}

.fade-out-up {
    opacity: 0;
    transform: translateY(-20px);
}

.no-transition .copy-address,
.no-transition .copy-address span {
	transition: none !important;
}


/*
 * Base structure
 */

body {
	text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .5);
	box-shadow: inset 0 0 5rem rgba(0, 0, 0, .5);

	position: absolute;
	overflow: hidden;

	width: 100%;
	height: 100%;

	font-family: 'Kanit', sans-serif;

	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

img, a {
	-webkit-user-drag: none;
	-ms-user-drag: none;
	user-drag: none;
}

.cover-container {
	max-width: 42em;
}

h3 {
	font-size: 17px;
	font-weight: 300;
	text-align: left;
	margin-left: 30px;
}

h3 img {
	border-radius: 2px;
	transform: translate(0px, -2px);
}


/*
 * Header
 */

.navbar-brand {
	font-family: 'Open Sans', sans-serif;
	font-weight: 800;
	line-height: 40px;
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,.3));
}

.navbar-brand > span {
	padding-left: 5px;
}

.nav-masthead .nav-link {
	color: rgba(255, 255, 255, .5);
	border-bottom: .25rem solid transparent;
}

.nav-masthead .nav-link:hover,
.nav-masthead .nav-link:focus {
	border-bottom-color: rgba(255, 255, 255, .25);
}

.nav-masthead .nav-link + .nav-link {
	margin-left: 1rem;
}

.nav-masthead .active {
	color: #fff;
	border-bottom-color: #fff;
}

.btn-discord {
	--bs-btn-color: #fff;
		--bs-btn-bg: #5865f2;
		--bs-btn-border-color: #5865f2;
		--bs-btn-hover-color: #fff;
		--bs-btn-hover-bg: #7289da;
		--bs-btn-hover-border-color: #7289da;
		--bs-btn-focus-shadow-rgb: 60,153,110;
		--bs-btn-active-color: #fff;
		--bs-btn-active-bg: #7289da;
		--bs-btn-active-border-color: #7289da;
		--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
		--bs-btn-disabled-color: #fff;
		--bs-btn-disabled-bg: #5865f2;
		--bs-btn-disabled-border-color: #5865f2;
		border-radius: 40px;
		padding: 7px 16px;
		background-image: url('/assets/images/discord-logo.webp');
		background-size: 24px;
		background-position: 16px;
		background-repeat: no-repeat;
		flex: none;
		padding-left: 46px;
		text-shadow: none;
		transition: background-color .2s;
}

.btn-discord:hover, .btn-discord:active {			
	filter: drop-shadow(0px 4px 4px rgba(0,0,0,.3));
}

@media only screen and (max-width: 450px) {
	.btn-discord {
		max-width: 40px;
			background-position: 8px;
			padding: 7px 0;
		color: transparent !important;
	}
}

@media only screen and (max-width: 335px) {
	.navbar-brand > span > span {
		display: none;
	}
}


/*
 * Main
 */

main {
	--mask: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 10px, rgba(0,0,0,1) calc(100% - 10px), rgba(255,255,255,0) 100%);
	
	-webkit-mask: var(--mask); 
	mask: var(--mask);

	-ms-overflow-style: none;
	scrollbar-width: none;
}

main::-webkit-scrollbar {
	display: none;
}

.card {
	text-align: left;
	border: none;
	position: relative;
	overflow: hidden;
	opacity: .9;
	background-size: auto;
	background-position: right;
	background-repeat: no-repeat;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.card.offline {
	filter: grayscale(0.7);
}

.card:after {
    position: absolute;
    text-align: center;
    padding: 2px 5px;
    font-size: 10px;
	line-height: 11px;
    height: auto;
    border-radius: 5px;
    right: 5px;
    bottom: 5px;
    text-shadow: 0px 1px 1px rgba(0,0,0,0.1);
	width: 49px;
	font-weight: 300;
}

.card.online:after {
	content: 'ONLINE';
    background: rgb(76, 255, 80);
	background: linear-gradient(0deg, rgb(76, 175, 80) 20%, rgb(76, 255, 80) 100%);
	animation: pulse 1s infinite;
}

.card.passwd:after {
	content: '🔒PASS';
    background: rgb(220, 144, 76);
	background: linear-gradient(0deg, rgb(187, 122, 76) 20%, rgb(220, 144, 76) 100%);
}

.card.offline:after {
	content: 'OFFLINE';
    background: rgb(220, 53, 69);
	background: linear-gradient(0deg, rgb(175, 53, 69) 20%, rgb(255, 53, 69) 100%);
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(107,177,107, .35);
	}

	100% {
		box-shadow: 0 0 0 5px rgba(107,177,107, 0);
	}
}

.card h5 {
	margin: 0;
	font-weight: 600 !important;
}

.card .player-count {
	position: absolute;
	right: 5px;
	top: -5px;
	font-size: 26px;
	font-weight: 600;
    opacity: 0.6;
    color: #698aa7;
}

.card .custom-data {
    background-color: #4f90c9;
    font-size: 14px;
    padding: 0 10px;
    border-radius: 5px;
}

.card .custom-orange {
    background-color: rgb(220, 144, 76);
}

.card .copy-address {
	position: absolute;
	z-index: 1;
	opacity: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.7);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: opacity .2s;
}

.card:hover .copy-address {
	opacity: 1;
}

.card .copy-address span {
	font-size: 20px;
	transform: translateY(55px);
    transition: transform .2s;
}

.card:hover .copy-address span {
	transform: translateY(0px);
}

.card .copy-address span img {
	transform: translateX(-2px) translateY(-3px);
}

.loader {
	width: 120px;
	height: 20px;
	border-radius: 20px;
	background: radial-gradient(farthest-side, #4f90c9 94%,#0000) left/20px 20px no-repeat rgb(35, 42, 59);
	animation: loading-bounce 1s infinite;
	box-shadow: 0 1px 2px rgba(0,0,0,0.4);
	opacity: .9;
}

@keyframes loading-bounce {
    50% { 
    	background-position: right;
    }
}