@media (max-width:900px){
.onlyPhone {
	display:block !important;
}

.noPhone {
	display:none !important;
}

.onlyDesktop {
	display:none !important;
}

body.noScroll {
	overflow:hidden;
}

.box {
	width:100% !important;
	float:none;
}

ul.tabs li i b {
	display:none;
}

.labels label, .labels .label {
	width:100%;
	margin:0 0 20px 0 !important;
	float:none;
}

.labels label.auto, .labels .label.auto {
	width:auto;
	margin-right:20px !important;
	float:left;
}

header {
	width:100%;
	height:60px;
	position:fixed;
	top:0px;
	left:0px;
	padding:0px;
	z-index:999;
	background:#262A2F;
	box-shadow:0 3px 3px rgba(0,0,0,0.05);
}

header #openMenu {
	width:60px;
	height:60px;
	padding:10px;
	display:block;
	position:absolute;
	top:0px;
	left:0px;
	font-size:30px;
	cursor:pointer;
	color:rgba(255,255,255,0.45);
	text-align:center;
	transition:all 300ms;
}

header #openMenu:hover {
	color:rgba(255,255,255,0.8);
}

header a #logo {
	max-width:50%;
	max-height:40px;
	margin:10px auto 0;
	display:block;
}

#overlay {
	width:100%;
	height:100%;
	position:fixed;
	top:0px;
	left:0px;
	z-index:9998;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	background:rgba(0,0,0,0.5);
	transition:opacity 250ms ease, visibility 250ms;
}

#overlay.show {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

nav {
	width:80%;
	height:100%;
	position:fixed;
	top:0px;
	left:0px;
	z-index:99999;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	background:#212529;
	box-shadow:3px 0px 3px rgba(0,0,0,0.25);
	transform:translateX(-100%);
	transition:transform 300ms cubic-bezier(0.4,0,0.2,1);
	will-change:transform;
}

nav.opened {
	transform:translateX(0);
}

nav form {
	width:80%;
	margin:50px auto 0;
	float:none;
}

nav .proPic {
	width:100px;
	height:100px;
	margin:30px auto 0;
	overflow:hidden;
	border-radius:50px;
}

nav .proPic img {
	width:50px;
	margin:0px;
	position:absolute;
	top:-14px;
	right:86px;
}

nav .proPic img#proPic {
	width:200%;
	margin:-25px 0 0 -50px;
	position:static;
	top:auto;
	right:auto;
}

nav strong.athleteName {
	padding:10px 0 0 0;
	display:block;
	font-size:16px;
	font-weight:500;
	text-transform:uppercase;
	color:#ffffff;
	text-align:center;
}

nav .athleteDetails {
	text-align:center;
}

nav .athleteDetails a {
	text-decoration:underline;
}

nav .athleteDetails a:hover {
	text-decoration:none;
}

nav > ul > li {
	border-bottom:1px solid rgba(255,255,255,0.2);
}

nav ul li a, nav ul li span {
	padding:10px;
	display:block;
	color:rgba(255,255,255,0.45);
	cursor:pointer;
}

nav ul li ul {
	padding:0 0 10px 0;
	display:none;
}

nav ul li ul.opened {
	display:block;
}

nav ul li ul li a {
	padding-left:30px;
}

nav ul li ul li.hover a {
	color:#ffffff;
}

nav ul li ul li a:hover, nav ul li span:hover {
	text-decoration:none;
	color:var(--main-color);
}

nav ul li ul li a:hover {
	background:rgba(255,255,255,0.05);
}

section {
	padding:60px 0px;
}

section.noBorderPadding {
	padding:70px 0px;
}

.box table th, .box table td {
	padding:10px 5px;
}

section #crumbs ul {
	float:none;
}

section #mainCont {
	padding:10px;
}

.box > h3 input[type="submit"], .box > h3 a.button {
	position:fixed;
	top:10px;
	right:10px;
	z-index:999;
}

.todolist {
	margin:0 0 20px 0;
}

footer {
	width:100%;
	height:60px;
	position:fixed;
	bottom:0px;
	left:0px;
	padding:0px;
	z-index:999;
	-webkit-backface-visibility: hidden;
	background:#23282C;
	box-shadow:0 -3px 3px rgba(0,0,0,0.15);
}

body.login footer {
	height:auto;
	padding:10px 0 0 0;
	line-height:10px;
}

body.login footer > .onlyPhone {
	display:none !important;
}

body.login footer > .onlyDesktop {
	display:block !important;
}

footer ul {
	height:50px;
	display:flex;
}

footer ul li {
	flex:1;
	padding:0 10px;
	text-align:center;
}

footer ul li i, footer ul li a {
	width:100%;
	height:60px;
	padding:15px 0 10px 0;
	display:block;
	font-size:24px;
	line-height:30px;
	color:rgba(255,255,255,0.45);
	cursor:pointer;
	text-align:center;
}

footer ul li i:hover, footer ul li a:hover {
	background:rgba(255,255,255,0.05);
	color:var(--main-color);
}

footer ul li i.hover, footer ul li a.hover {
	color:#ffffff;
}

#loginPage #bg {
	height:250px;
}

#loginPage form {
	top:0px;
}

#loginPage form .logo {
	height:130px;
}

#loginPage form #box {
	margin-top:0px;
}

footer {
	padding-bottom:env(safe-area-inset-bottom);
}

/* BMS AI: a tutto schermo, slide dal basso */
.ai-chat {
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	max-width:100%;
	height:100%;
	max-height:100%;
	border-radius:0;
	transform:translateY(100%);
	transition:transform 260ms cubic-bezier(0.4,0,0.2,1), visibility 260ms;
}

.ai-chat.opened {
	transform:translateY(0);
}

.ai-chat .ai-chat-foot {
	padding-bottom:calc(10px + env(safe-area-inset-bottom));
}

.ai-chat-launcher {
	bottom:calc(70px + env(safe-area-inset-bottom));
}
}