/* Colors */

:root {
	--maroon: #cf0000;
	--maroon-darker: #a80101;
	--red: #f90101;
	--green: #009f15;
	--blue: #1475bb;
	--black: #2d2e30;
	--black-darker: #1d1f21;
	--grey: #d7d7d7;
	--standard-border: #c2c2c2;
	
	--maroon-gradient: linear-gradient(#d10101, #900101);
	--maroon-gradient-light: linear-gradient(#eb0000, #a80101);
	
	--grey-gradient: linear-gradient(#2d2e30, #1d1f21);
	--grey-gradient-light: linear-gradient(#38393b, #292b2e);
	
	/* Pokemon Types */
	--bug: #A6B91A;
	--dark: #705746;
	--dragon: #6F35FC;
	--electric: #F7D02C;
	--fairy: #D685AD;
	--fighting: #C22E28;
	--fire: #EE8130;
	--flying: #A98FF3;
	--ghost: #735797;
	--grass: #7AC74C;
	--ground: #E2BF65;
	--ice: #96D9D6;
	--normal: #A8A77A;
	--poison: #A33EA1;
	--psychic: #F95587;
	--rock: #B6A136;
	--steel: #B7B7CE;
	--unknown: #68A090;
	--water: #6390F0;
	
	/* Etc */
	--male: #4DA3FF;
	--female: #FF4D6D;
	--genderless: #6E6E6E;
	--black-absolute: #000000;
	--white: #ffffff;
}


/* Alignment & Display */

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.hidden { display: none; }
.inline { display: inline; }

.center-content-vertical {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.half-opacity { opacity: 0.5 }
.hide-overflow { overflow: hidden; }

.float-right { float: right; }
.float-left { float: left; }

.absolute { position: absolute; }
.relative { position: relative; }
.fixed { position: fixed; }
.sticky { position: sticky; }

/* Cursors */

.pointer { cursor: pointer; }
.move { cursor: move; }

/* Text */

a {
	color: var(--maroon-darker);
	text-decoration: none;
	font-weight: 600;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
ul,
ol,
.alert-yellow,
.alert-red,
.alert-green,
.alert-blue,
.pokeball-small {
	margin-bottom: 5px;
}

h1, h2, h3, h4, h5, h6 { 
	margin-left: auto;
	margin-right: auto;
}

.heading-maroon {
	background: var(--maroon-darker);
	background: var(--maroon-gradient);
	text-align: center;
	color: var(--white);
	text-shadow: 1px 1px 3px var(--black-absolute);
	padding: 5px 0px 5px 0px;
}

.facebook { color: #43609C; }
.twitter { color: #55ACEE; }
.twitterX { color: #FFFFFF; }
.google { color: #D64339; }
.youtube { color: #E62117; }
.twitch { color: #6441A5; }
.chat { color: #FF764D; }
.store { color: #00FFBF; }
.contact { color: #BDBDBD; }
.steam { color: #4F8EF7; }
.instagram { color: #694F42; }
.discord { color: #7289DA; }
.social:hover { color: #2D2E30 }


li.sub-menu-tab-selected > a,
li.menu-tab-selected > a,
li.navbar-top-tab > a,
li.navbar-bottom-tab > a,
li.navbar-top-tab-selected > a,
li.navbar-bottom-tab-selected > a,
.button-small > a,
.button-medium > a,
.button-large > a {
	color: var(--white);
}

li.sub-menu-tab > a,
li.menu-tab > a {
	color: var(--black-absolute);
}

.color-maroon { color: var(--maroon-darker); }
.color-red { color: var(--red); }
.color-blue { color: var(--blue); }
.color-white { color: var(--white); }
.color-black { color: var(--black-absolute); }
.color-green { color: var(--green); }

.text-bold { font-weight: 800; }
.text-italic { font-style: italic; }
.text-linethrough { text-decoration: line-through; opacity: 0.5; }
.text-underline { text-decoration: underline; }
.upper-text { text-transform: uppercase; }

.font-8 { font-size: 8px; }
.font-9 { font-size: 9px; }
.font-10 { font-size: 10px; }
.font-11 { font-size: 11px; }
.font-12 { font-size: 12px; }
.font-13 { font-size: 13px; }
.font-14 { font-size: 14px; }
.font-15 { font-size: 15px }
.font-16 { font-size: 16px; }
.font-17 { font-size: 17px; }
.font-18 { font-size: 18px; }
.font-19 { font-size: 19px; }
.font-20 { font-size: 20px; }
.font-25 { font-size: 25px; }
.font-30 { font-size: 30px; }
.font-35 { font-size: 35px; }

.fontw-100 { font-weight: 100; }
.fontw-400 { font-weight: 400; }
.fontw-800 { font-weight: 800; }

.line-height-10 { line-height: 10px; }
.line-height-11 { line-height: 11px; }
.line-height-12 { line-height: 12px; }
.line-height-13 { line-height: 13px; }
.line-height-14 { line-height: 14px; }
.line-height-15 { line-height: 15px; }
.line-height-20 { line-height: 20px; }
.line-height-25 { line-height: 25px; }
.line-height-30 { line-height: 30px; }

/* Padding & Margin */

.pad-0 { padding: 0px; }
.pad-2 { padding: 2px; }
.pad-5 { padding: 5px; }
.pad-10 { padding: 10px; }
.pad-15 { padding: 15px; }
.pad-20 { padding: 20px; }

.pad-top-0 { padding-top: 0px; }
.pad-top-1 { padding-top: 1px; }
.pad-top-2 { padding-top: 2px; }
.pad-top-3 { padding-top: 3px; }
.pad-top-4 { padding-top: 4px; }
.pad-top-5 { padding-top: 5px; }
.pad-top-10 { padding-top: 10px; }
.pad-top-15 { padding-top: 15px; }
.pad-top-20 { padding-top: 20px; }
.pad-top-25 { padding-top: 25px; }
.pad-top-30 { padding-top: 30px; }

.pad-left-0 { padding-left: 0px; }
.pad-left-1 { padding-left: 1px; }
.pad-left-2 { padding-left: 2px; }
.pad-left-3 { padding-left: 3px; }
.pad-left-4 { padding-left: 4px; }
.pad-left-5 { padding-left: 5px; }
.pad-left-10 { padding-left: 10px; }
.pad-left-15 { padding-left: 15px; }
.pad-left-20 { padding-left: 20px; }
.pad-left-25 { padding-left: 25px; }
.pad-left-30 { padding-left: 30px; }

.pad-right-0 { padding-right: 0px; }
.pad-right-1 { padding-right: 1px; }
.pad-right-2 { padding-right: 2px; }
.pad-right-3 { padding-right: 3px; }
.pad-right-4 { padding-right: 4px; }
.pad-right-5 { padding-right: 5px; }
.pad-right-10 { padding-right: 10px; }
.pad-right-15 { padding-right: 15px; }
.pad-right-20 { padding-right: 20px; }
.pad-right-25 { padding-right: 25px; }
.pad-right-30 { padding-right: 30px; }

.pad-bot-0 { padding-bottom: 0px; }
.pad-bot-1 { padding-bottom: 1px; }
.pad-bot-2 { padding-bottom: 2px; }
.pad-bot-3 { padding-bottom: 3px; }
.pad-bot-4 { padding-bottom: 4px; }
.pad-bot-5 { padding-bottom: 5px; }
.pad-bot-10 { padding-bottom: 10px; }
.pad-bot-15 { padding-bottom: 15px; }
.pad-bot-20 { padding-bottom: 20px; }
.pad-bot-25 { padding-bottom: 25px; }
.pad-bot-30 { padding-bottom: 30px; }

.margin-center { margin: 0 auto; }

.margin-0 { margin: 0px; }
.margin-1 { margin: 1px; }
.margin-2 { margin: 2px; }
.margin-3 { margin: 3px; }
.margin-4 { margin: 4px; }
.margin-5 { margin: 5px; }
.margin-10 { margin: 10px; }
.margin-15 { margin: 15px; }
.margin-20 { margin: 20px; }

.margin-top-0 { margin-top: 0px; }
.margin-top-1 { margin-top: 1px; }
.margin-top-2 { margin-top: 2px; }
.margin-top-3 { margin-top: 3px; }
.margin-top-4 { margin-top: 4px; }
.margin-top-5 { margin-top: 5px; }
.margin-top-10 { margin-top: 10px; }
.margin-top-15 { margin-top: 15px; }
.margin-top-20 { margin-top: 20px; }
.margin-top-25 { margin-top: 25px; }
.margin-top-30 { margin-top: 30px; }

.margin-bottom-0 { margin-bottom: 0px; }
.margin-bottom-1 { margin-bottom: 1px; }
.margin-bottom-2 { margin-bottom: 2px; }
.margin-bottom-3 { margin-bottom: 3px; }
.margin-bottom-4 { margin-bottom: 4px; }
.margin-bottom-5 { margin-bottom: 5px; }
.margin-bottom-10 { margin-bottom: 10px; }
.margin-bottom-15 { margin-bottom: 15px; }
.margin-bottom-20 { margin-bottom: 20px; }
.margin-bottom-25 { margin-bottom: 25px; }
.margin-bottom-30 { margin-bottom: 30px; }

.margin-left-0 { margin-left: 0px; }
.margin-left-1 { margin-left: 1px; }
.margin-left-2 { margin-left: 2px; }
.margin-left-3 { margin-left: 3px; }
.margin-left-4 { margin-left: 4px; }
.margin-left-5 { margin-left: 5px; }
.margin-left-10 { margin-left: 10px; }
.margin-left-15 { margin-left: 15px; }
.margin-left-20 { margin-left: 20px; }
.margin-left-25 { margin-left: 25px; }
.margin-left-30 { margin-left: 30px; }

.margin-right-0 { margin-right: 0px; }
.margin-right-1 { margin-right: 1px; }
.margin-right-2 { margin-right: 2px; }
.margin-right-3 { margin-right: 3px; }
.margin-right-4 { margin-right: 4px; }
.margin-right-5 { margin-right: 5px; }
.margin-right-10 { margin-right: 10px; }
.margin-right-15 { margin-right: 15px; }
.margin-right-20 { margin-right: 20px; }
.margin-right-25 { margin-right: 25px; }
.margin-right-30 { margin-right: 30px; }

p, hr { margin: 0px 0 10px 0; }

/* Width & Height */

.no-resize { resize: none; }

.max-width-100 { max-width: 100%; }
.max-width-98 { max-width: 98%; }
.max-width-50 { max-width: 50%; }
.width-inherit { width: inherit; }
.width-auto { width: auto; }

.max-height-100 { max-height: 100%; }
.max-height-98 { max-height: 98%; }
.max-height-50 { max-height: 50%; }
.height-inherit { height: inherit; }
.height-auto { height: auto; }

.width-100 { width: 100%; }
.width-99 { width: 99%; }
.width-98 { width: 98%; }
.width-95 { width: 95%; }
.width-90 { width: 90%; }
.width-85 { width: 85%; }
.width-80 { width: 80%; }
.width-75 { width: 75%; }
.width-70 { width: 70%; }
.width-65 { width: 65%; }
.width-60 { width: 60%; }
.width-50 { width: 50%; }
.width-49 { width: 49%; }
.width-48 { width: 48%; }
.width-45 { width: 45%; }
.width-40 { width: 40%; }
.width-35 { width: 35%; }
.width-30 { width: 30%; }
.width-25 { width: 25%; }
.width-20 { width: 20%; }
.width-15 { width: 15%; }
.width-10 { width: 10%; }

.height-100 { height: 100%; }
.height-98 { height: 98%; }
.height-95 { height: 95%; }
.height-90 { height: 90%; }
.height-85 { height: 85%; }
.height-80 { height: 80%; }
.height-75 { height: 75%; }
.height-70 { height: 70%; }
.height-65 { height: 65%; }
.height-60 { height: 60%; }
.height-50 { height: 50%; }
.height-49 { height: 49%; }
.height-48 { height: 48%; }
.height-45 { height: 45%; }
.height-40 { height: 40%; }
.height-35 { height: 35%; }
.height-30 { height: 30%; }
.height-25 { height: 25%; }
.height-20 { height: 20%; }
.height-15 { height: 15%; }
.height-10 { height: 10%; }

.width-10px { width: 10px; }
.width-20px { width: 20px; }
.width-25px { width: 25px; }
.width-30px { width: 30px; }
.width-35px { width: 35px; }
.width-40px { width: 40px; }
.width-45px { width: 45px; }
.width-50px { width: 50px; }
.width-55px { width: 55px; }
.width-60px { width: 60px; }
.width-70px { width: 70px; }
.width-80px { width: 80px; }
.width-90px { width: 90px; }
.width-100px { width: 100px; }
.width-110px { width: 110px; }
.width-115px { width: 115px; }
.width-125px { width: 125px; }
.width-130px { width: 130px; }
.width-150px { width: 150px; }
.width-180px { width: 180px; }
.width-200px { width: 200px; }
.width-210px { width: 210px; }
.width-215px { width: 215px; }
.width-230px { width: 230px; }
.width-250px { width: 250px; }
.width-280px { width: 280px; }
.width-300px { width: 300px; }
.width-330px { width: 330px; }
.width-350px { width: 350px; }
.width-360px { width: 360px; }
.width-375px { width: 375px; }
.width-395px { width: 395px; }
.width-400px { width: 400px; }
.width-425px { width: 425px; }
.width-450px { width: 450px; }

.height-20px { height: 20px; }
.height-25px { height: 25px; }
.height-30px { height: 30px; }
.height-35px { height: 35px; }
.height-40px { height: 40px; }
.height-50px { height: 50px; }
.height-56px { height: 56px; }
.height-100px { height: 100px; }
.height-150px { height: 150px; }
.height-180px { height: 180px; }
.height-190px { height: 190px; }
.height-200px { height: 200px; }
.height-220px { height: 220px; }
.height-400px { height: 400px; }
.height-450px { height: 450px; }
.height-500px { height: 500px; }
.height-720px { height: 720px; }

/* Tables */

table {
	font-size: inherit;
	margin: 0 auto;
	table-layout: fixed;
}
.table-striped {
    border: 1px solid #bebebe;
    border-spacing: 0;
}
.table-striped tbody tr > td {
    padding: 5px;
}
.table-striped tbody > tr:nth-of-type(odd) {
    background-color: #F9F9F9;
}
.table-striped tbody > tr:nth-of-type(even) {
	background-color: #EEEEEE;
}
.table-striped th {
    background: var(--maroon-darker);
	background: var(--maroon-gradient);
	color: var(--white);
	text-shadow: 1px 1px 3px #000000;
    padding: 8px 0 8px 0;
}
.valign-top td { vertical-align: top; }
.valign-middle td { vertical-align: middle; }

/* Lists */

ul.horizontal-uniform > li {
	display: inline;
	margin: 0 0 0 -4px;
}
ul.horizontal-spaced > li {
	display: inline;
}
.no-list-style {
	list-style: none;
}
ol.horizontal-uniform,
ul.horizontal-uniform {
	list-style: none;
}
ul.list,
ol.list {
	margin-left: 25px;
}
.vertical-spaced li {
	margin-bottom: 2px;
	list-style: none;
}

/* Alerts */

.alert-red,
.alert-yellow,
.alert-green,
.alert-blue {
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	max-width: 100%;
	min-height: 50px;
    padding: 10px 20px 10px 40px;
    line-height: 1.34;
    overflow: hidden;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.3);
    position: relative;
}
.alert-red {
    color: #a00101;
    border-left: 3px solid #a00101;
    background: #eccccc;
}
.alert-yellow {
    color: #8a6d3b;
    border-left: 3px solid #8a6d3b;
    background: #faebcc;
}
.alert-green {
    color: #3c763d;
    border-left: 3px solid #3c763d;
    background: #d2e2cc;
}
.alert-blue {
    color: #60709c;
    border-left: 3px solid #60709c;
    background: #cee1ea;
}
.alert-icon {
	position: absolute;
	top: 50%;
	left: 8px;
	font-size: 30px;
	height: 30px;
	transform: translateY(-50%);
	width: 30px;
}
.alert-close {
	position: absolute;
	right: 5px;
	top: 5px;
	font-size: 18px;
}
.alert-close:hover {
	color: var(--black);
	text-shadow: 0px 0px 3px #333333;
	cursor: pointer;
}
.alert span {
	text-align: center;
}

/* Inputs */

button,
input[type="submit"],
input[type="button"] {
	cursor: pointer;
}
input[type=text]:focus,
input[type=password]:focus,
select:focus {
	border: 1px solid #eb0000;
	box-shadow: 0px 0px 2px 2px rgba(160,1,1,0.35);
}
.input-bar {
	height: 30px;
	max-width: 100%;
	position: relative;
}
.input-bar,
.text-box {
	font-size: 16px;
	border: 1px solid #919191;
	border-radius: 5px;
	padding: 4px;
	transition: border 0.5s;
}
.input-bar::placeholder,
.text-box::placeholder {
	font-size: 11px;
}
.input-bar:hover,
.text-box:hover,
.num-bar:hover {
	border: 1px solid #ff5a5a;
}
.select-dropdown,
.avatar-dropdown,
.trainer-dropdown,
.num-bar {
	font-size: 11px;
	border: 1px solid #919191;
	border-radius: 5px;
	height: 30px;
	max-width: 100%;
}
.select-dropdown:hover {
	border: 1px solid #ff5a5a;
}
label {
	display: block;
	cursor: pointer;
}

/* Buttons */

.button {
	font-size: 12px;
	font-weight: 800;
	color: var(--white);
	text-shadow: 0 0 1px #0f0f0f, 0 0 3px #1a1a1a;
  	box-shadow: 0 1px 1px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.1) inset;
  	border: 1px solid rgba(0,0,0,0.1);
    border-radius: 5px;
	height: 30px;
	max-width: 100%;
}

.button-maroon {
	background: var(--maroon);
	background: var(--maroon-gradient);
}
.button-maroon:hover {
	background: var(--maroon-gradient-light);
}
.button-black {
	background: var(--black);
	background: var(--grey-gradient);
}
.button-black:hover {
	background: var(--grey-gradient-light);
}

.monster-container-fliptrigger {
    font-size: 30px;
    left: 5;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -webkit-backface-visibility: hidden;
}

/* Borders */

.no-border-rad { border-radius: 0px; }
.no-bot-border-rad { border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
.no-top-border-rad { border-top-left-radius: 0px; border-top-right-radius: 0px; }
.no-left-border-rad { border-top-left-radius: 0px; border-bottom-left-radius: 0px; }
.no-right-border-rad { border-top-right-radius: 0px; border-bottom-right-radius: 0px; }

.no-border { border: none; }
.no-left-border { border-left: none; }
.no-right-border { border-right: none; }
.no-bot-border { border-bottom: none; }
.no-top-border { border-top: none; }

.divider {
	height: 1px;
	position: relative;
	display: inline-block;
	background: linear-gradient(to right, #fb000000, #cf0000, #f5000000);
	margin: 5px 0px 5px 0px;
}

.overflowY {
	overflow-y: scroll;
	overflow-x: hidden;
}
.overflowX {
	overflow-y: hidden;
	overflow-x: scroll;
}
