html,
body {
	background: #333;
	color: #fff;
	font-family: 'Open Sans';

	margin: 0;
	padding: 0;

	width: 100%;
	height: 100%;
}

main {
	display: grid;
	row-gap: 6px;

	align-content: center;
	align-items: center;
	justify-content: center;
	padding-top: 6px;
	padding-bottom: 100px;

	width: 100%;
}
/* MENU */
.menuElement {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 100%;
	background: #444;
	border-radius: 6px;
}

/* HEADER */
#header {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 20px;
	width: 100%;
}
#header img {
	width: 64px;
	margin: 0 12px;
}
#header .text {
	margin-bottom: 6px;
}
#header h2 {
	margin: 0;
}

/* MINI SCOREBOARD */
#miniScoreboard
{
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto;
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas: ". . fpAddPoint . spAddPoint . . "
                         ". . fpScore twoDots spScore . . "
                         "fpName fpAddSet fpScore twoDots spScore spAddSet spName "
                         ". fpSetScore fpRemovePoint . spRemovePoint spSetScore ."
                         ". fpRemoveSet . . . spRemoveSet .";
    justify-items: center;
    align-items: center;
    column-gap: 3vw;
    row-gap: 1.5vh;

    padding: 20px;

    background-color: #252525;

}

.micro_button {
	display: flex;
	flex-direction: column;
	align-items: center;

	background: #444;
	border: none;
	border-radius: 6px;
	color: #fff;

	padding-inline: 15px !important;
    padding-block: 5px;

}

.micro_button i {
	font-size: 1.2rem !important;
}

.micro_button:hover {
	background: #4a4a4a;
	cursor: pointer;
	text-shadow: #222 0px 0px 4px;
}

.lower_button {
    align-self: end;
}

.upper_button {
    align-self: start;
}

.playerNames
{
    font-size: 3.5rem;
    font-weight: bold;

    background: #555;
	border-radius: 6px;
    padding: 6px;
}

.scorePoints
{
    font-size: 6.5rem;
    margin-block: -50px;
    

    transition: color 0.5s linear;
}

.setPoints
{
    font-size: 4rem;
    margin-block: -17px;

    transition: color 0.5s linear;
}

.green
{
    color: #29be1b;
}

.red
{
    color: #bb1616;
}

#fpName { grid-area: fpName; }

#fpAddPoint { grid-area: fpAddPoint; }

#spAddPoint { grid-area: spAddPoint; }

#spName { grid-area: spName; }

#fpScore { grid-area: fpScore; }

#twoDots { grid-area: twoDots; }

#spScore { grid-area: spScore; }

#fpAddSet { grid-area: fpAddSet; }

#spAddSet { grid-area: spAddSet; }

#fpSetScore { grid-area: fpSetScore; }

#fpRemovePoint { grid-area: fpRemovePoint; }

#spRemovePoint { grid-area: spRemovePoint; }

#spSetScore { grid-area: spSetScore; }

#fpRemoveSet { grid-area: fpRemoveSet; }

#spRemoveSet { grid-area: spRemoveSet; }


/* PLAYBACK */
#controls {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	position: fixed;
	bottom: 0;
	left: 0;
}
.controls_button {
	display: flex;
	flex-direction: column;
	align-items: center;

	background: #444;
	border: none;
	border-radius: 6px;
	color: #fff;

	width: 100%;
	height: 100%;

	padding: 16px;
}
.controls_button i {
	font-size: 1.5rem;
	margin-bottom: 6px;
}
.controls_button:hover {
	background: #4a4a4a;
	cursor: pointer;
	text-shadow: #222 0px 0px 4px;
}
#resume:hover {
	color: limegreen;
}
#pause:hover {
	color: orange;
}
#hide:hover {
	color: lightslategray;
}

/* OPTIONS */
#options {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	padding: 6px;
}
#options label {
	padding: 6px 0;
	font-weight: 500;
}
#options input[type='number'] {
	margin: 0 0 0 12px;
	width: 36px;
}

select
{
    align-items: center;
	text-align: center;
	padding: 3px;
    margin: 3px;
	background: #555;
    color: #FFF;
	border-radius: 6px;
	white-space: nowrap;
}

/* ALTERNATIVE OPTIONS */

.mini_button {
	display: flex;
	flex-direction: column;
	align-items: center;

	background: #444;
	border: none;
	border-radius: 6px;
	color: #fff;

	padding: 16px !important;
}

.mini_button i {
	font-size: 1.5rem !important;
	margin-bottom: 6px !important;
}

.mini_button:hover {
	background: #4a4a4a;
	cursor: pointer;
	text-shadow: #222 0px 0px 4px;
}

label.mini_button
{
    font-size: 0.8rem;
}

.vertial_line
{
    border-left: 4px solid #333333;
    border-radius: 6px;
    height: 50px;
    margin-inline: 10px;
}

.row_arrange {
    display:flex;
    flex-direction: row;
    align-items: center;
}

.minigrid
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    row-gap: 5px;
}

/* POPUP */
#popup {
    display: flex;
    
    align-items: center;
    justify-content: space-around;

    position: fixed;
    top: 0;
    left: 0;
	z-index: 999;

    margin: 12px;
    padding: 12px;

    opacity: 0;
    visibility: hidden;
    transition: opacity .25s linear, visibility .25s linear;

    background: rgba(68, 68, 68, .75);
    border-radius: 8px;
	box-shadow: 0 0 12px #111;
    color: #fff;
}
#popup.active {
    opacity: 1;
    visibility: visible;
}
#popup .icon {
    margin-right: 12px;
    color: #fff;
    font-size: 1.25rem;
}
#popup .fa-check-circle {
    color: limegreen;
}
#popup .fa-times-circle {
    color: red;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	#header {
		justify-content: left;
	}
	#list {
		grid-template-columns: 1fr 1fr;
	}
	.caption:nth-child(4n) {
		background: #555;
	}
	.caption:nth-child(4n-1) {
		background: #666;
	}
}
@media screen and (min-width: 1200px) {
	#list {
		grid-template-columns: 1fr 1fr 1fr;
	}
    #capedit_box {
		grid-template-columns: 1fr 1fr;
	}
	#controls {
		position: relative;
	}
}
/* 
@keyframes cooldown {
	0% { width: 100%; }
	100% {width: 0;}
} */