* {
    margin: auto;
    font-family: Helvetica;
    white-space: nowrap;
    font-weight: normal;
    font-size: 16pt;
}
body {
    width: 18em;
}

img {
    padding-inline: 10px;
}

.forPrint, .noDisplay {
    display: none;
}
.header {
	display: flex;
	flex-direction: row;
	width: 100%;
	background: #344089;
	color: white;
	font-size: 16pt;
}
#title {
	float: left;
  	flex-grow: 10;
}
#message {
	padding-left: 8pt;
	font-size: 20pt;
	color: white;
}
#tool {
	float: right;
  	scale: 50%;
  	flex-grow: 1;
}

#section1 {
	width: 18em;
}
#teamsMenu, #seasonsMenu {
	margin-block:10pt;
}
select {
	width:100%;
}
option {
	font-size: 75%;
}
.twoButtons, .threeButtons, .buttonAndText {
	display: flex;
	flex-direction: row;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.twoButtons *, .threeButtons * {
	flex: 0%;
}

.buttonAndText * {
	flex: 0;
	text-overflow: ellipsis;
}

.twoButtons button:nth-child(1) {margin-right: 8px;}
.twoButtons button:nth-child(2) {margin-left: 8px;}
.threeButtons button:nth-child(2) {margin-inline: 16px;}
.buttonAndText button:nth-child(1) {margin-right: 8px;}

.button {
	font-size: 80%;
	width: 100%;
	margin: 5pt 0;
	user-select: none;
	-webkit-user-select: none; /* Safari */
}

.buttonAndText {
	margin-top: 10px;
}

input {
	appearance: textfield;
	font-size: 80%;
	width: 90%;
	margin: 5pt 0;
	padding: 0 5pt;
	border-width: 1pt;
	border-color: darkgrey;
	border-style: solid;
}

.divLine {
	width: 100%;
    color: "lightgray";
    border-top-width: 1px;
    border-bottom-width: 0;
    margin-block: 10px;
    opacity: 0.3;
}

.sectionDivider {
	width: 100%;
    color: "white";
    border-top-width: 25px;
    border-bottom-width: 0;
    margin-block: 10px;
    opacity: 0.1;
}

.seasonName {
	font-size: 16px;
	margin-block: 8px;
	white-space: initial;
}

#section2 {
    width: 18em;
    display: flex;
}
.flex-section{
	margin-block: auto;
}

.roster {
	width: 100%;
	table-layout: fixed;
    border-collapse: collapse;
	font-size: 11pt;
	text-align:center;
	vertical-align:center;
	border-style:solid;
	border-width:2px;
}
.date, .teams, .seasons {
	font-size: 12pt;
	white-space: pre;
}
.date span {
    font-size: 9pt;
    color: #bfbfbf;
    text-decoration: underline;
}
.team-name {
	margin-top: 5pt;
	font-size: 125%;
	font-weight: bold;
	text-wrap-mode: wrap;
}
.columnHeader {
	font-weight: bolder;
	color: lightgrey;
	background-color: black;
}
.playerType {
	font-size: 80%;
}
.roster td:nth-child(3) {width: 76%;}
.roster td, th {
	border-style:solid;
	border-width: 1px 1px 0px 0px;
	border-color: #7f7f7f;
	font-size: 65%;
	overflow: hidden;
	height: 1.5em;
}
.roster td {
	text-align:left;
	padding: 0 0 0 4px;
}
.roster .divider {
	border-bottom-width: 3.5px;
	border-bottom-style: solid;
	border-bottom-color: currentcolor;
}
.sourceLink {
	font-size: 40%;
/*	caption-side:bottom; */
/*	text-align: left; */
}
.prepDate {
	font-size: inherit;
	float: right;
	text-align: right;
	text-wrap-mode: wrap;
}
.bottomMessageContainer {
	display: flex;
}
.bottomMessage {
	font-size: 12px;
	margin-block: 5px;
	white-space: initial;
/*	display: inline-block; */
	vertical-align: top;
	padding: 4px;
}
label, label *{
	font-size: 16px;
	margin-bottom: 10px;
	height: 15px;
	width: 15px;
}
.someInfo {
	font-size: 70%;
	overflow: hidden;
	text-overflow: ellipsis;
}
input[type=radio] {
    margin-left: 12px;
    margin-top:12px;
    height: 15px;
	width: 15px;
}
.smallInfo {
	font-size: 50%;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 8px;
	white-space: pre;
}
.invisible {
	visibility: hidden;
	height: 0;
}

.centered {
	top: 50%;
	left: 50%;
    width: 200px;
	height: 200px;
	position: fixed;
    transform: translate(-50%);
}

.loader {
	border: 36px solid #000000;
	border-radius: 90%;
	border-top: 12px solid #b3b3b3;
	width: 60px;
	height: 60px;
	-webkit-animation: spin 2s linear infinite; /* Safari */
	animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Responsive layout - when the screen is less than 600px wide,
 fill the screen width completely */
@media screen and (max-width: 600px) {
	.header, .roster { 
		width: 100%;
		margin:0;
		padding:0;
	}
	.roster td, th {	
		height:1.75em;
		font-size: 80%;
	}
	select {
		font-size: 12pt;
	}
}

/*Quand Safari implémentera cette fonction, l'utiliser pour
imprimer 3 ou 4 colonnes en différentes orientations */
/*@page {size:portrait | landscape;} */
/* 
@page {
	size:portrait;
}
 */

@media print {
	* {
		margin:0;
		print-color-adjust: exact;
	}
    .team-name {
		font-size: 13pt;
	}
	.roster {
		vertical-align: top;
		padding:0;
        margin:0;
		font-size: 10pt;
	}
	.roster td, th {
		border-width: 0.3mm;
		height:4.8mm; /* total = 5.1 mm */;
	}
	.noPrint {
		display: none;	
	}
	.forPrint {
		display: revert;
        margin:0;
	}
	#section2B, #section2C {
		padding-left: 1.3cm;
	}
	
	#section2B3, #section2C3 {
		padding-left: 1.3cm;
	}
	
	#section2B4, #section2C4, #section2D4 {
		padding-left: 0.8cm;
	}
}