body {
	max-width: 480px;
	min-width: 320px;
	margin: 0 auto;
	background-size: 100% auto;
    padding-bottom: 4em;
}

span {
	font-size: 1em;
}

h1 {
	font-size: 1.8em;
}

h2 {
	font-size: 1em;
}

h3 {
	font-size: 1.6em;
}

*[accesskey]:before {
	display: none;
}

input[type=text], input[type=email], input[type=password] {
	width: auto;
}

input[type=file] {
	width: 100%;
    box-sizing: border-box;
}

fieldset {
	width: 100%;
}

/* Solo gli input dentro ai form */
fieldset input[type=text], fieldset input[type=email], fieldset input[type=password], div.sub-content > div > input, fieldset textarea, fieldset select {
	width: 100%;
	/* Permette di impostare una width al 100% senza sforare il padding del container */
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

fieldset label {
	display: block;
	float: none;
	width: auto;
}

fieldset input[type=checkbox] + label {
	display: inline-block;
    max-width: 84%;
}

fieldset textarea {
	min-width: 0;
	max-width: 100%;
}

input[type=range] {
	height: 12px;
	margin: 13px 0;

	-webkit-border-radius: 8px;
	border-radius: 8px;
}

input[type=range]::-webkit-slider-thumb {
	height: 40px;
	width: 40px;

	-webkit-border-radius: 20px;
	border-radius: 20px;
}

/* Per Firefox non è possibile accomunare questa voce con le altre */
input[type=range]::-moz-range-thumb {
	height: 40px;
	width: 40px;

	border-radius: 20px;
}

/* HEADER */

.header {
	min-height: 50px;
	min-width: 0;
	width: 100%;
	position: relative;
	webkit-box-shadow: none;
	box-shadow: none;
	border-bottom: none;
}

.header img.logo-una {
	height: 22px;
	width: 70px;
	margin: 15px 0 0 15px;
}

.header > div img.logo-una {
	margin: 15px 0 5px 0;
}

.header > div h2 {
	display: block;
}

/* SUB HEADER */

div.sub-header {
	width: 100%;
}

/* FOOTER */

.footer {
	width: auto;
	padding-top: 2.5em;
}

img#ssl-logo {
	width: 4em;
	bottom: 1.2em;
}

/* ONLINE USERS */

div.ou {
	bottom: 30px;
}

/* LANGUAGES */

ul#languages_list {
	bottom: 30px;
}

/* CONTENT */

div.content {
	width: auto;
	margin: 1.2em 0.5em 0.5em 0.5em;
}

p.error ~ div.content, p.warning ~ div.content, p.success ~ div.content, p.info ~ div.content {
    margin-top: 0.5em;
}

/* SUB CONTENT */

div.sub-content > div.list-header > input:not([type="checkbox"]) {
	float: none;
	width: 100%;
	margin-top: 0;
}

div.sub-content div.buttons {
	position: relative;
	padding: 0.5em 0 0 0;
}

div.sub-content div.buttons > a, div.sub-content div.buttons > form {
	width: auto;
	min-width: 80px;
	display: inline-block;
	margin-bottom: 0.25em;
}

div.sub-content div.buttons > form > input[type=submit] {
	width: 80px;
	display: inline;
}

div.sub-content > div.sort-buttons {
	overflow-x: scroll;
	clear: both;
}

div.sub-content > div.sort-buttons > span {
	float: left;
	line-height: 1.95em;
	margin-right: 0.5em;
}

div.sub-content > div.sort-buttons > ul {
	display: block;
	white-space: nowrap;
}

/* COMMON */

p.date {
	margin-top: 1em;
	line-height: 1.2em;
}

p.success, p.warning, p.error, p.info, div#warning {
	width: auto;
}

body > p.error, body > p.warning, body > p.success, body > p.info {
    margin-left: 0.5em;
    margin-right: 0.5em;
}

p.info > img {
    height: 3em;
}

/* MENU E LINKS */

img.menu-button {
	display: block;
	cursor: pointer;
}

.header ul {
	display: none;
	position: absolute;
	z-index: 1;
	top: 100%;
	right: 0%;
	background: rgba(229,229,229,0.95);
}

.header ul > a {
    display: block;
}

.header ul li {
    height: 50px;
    width: 15em;
    padding: 0 2px 0 18px;
    line-height: 50px;
    text-align: center;
    color: #747474;
    text-transform: uppercase;
    text-align: left;
}

body:not(.touch) .header ul li:hover {
	background-color: rgba(0,0,0,0.2);
	border: none;
	border-left: 2px solid black;
	padding-left: 16px;
	color: black;
}

.header ul li img {
    display: inline-block;
    max-width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0;
}

.header ul li span {
	margin-left: 1em;
	display: inline;
}

.header ul.links {
	margin: 0;
}

.header ul.links > div#current_user {
	display: none;
}

.header ul.links img {
	height: 20px;
}

.header ul.links img#current_user_icon {
	height: 18px;
}

/* RAPID LINKS */

div.content > div.rapid-links {
	float: none;
	margin: 1em 0;
}

div.content > div.rapid-links > a {
	margin-left: 0;
}

div.sub-content > div > input {
	margin-top: 0.0;
	float: none;
	margin-bottom: 1em;
}

/* SESSION */

div.user_session {
	width: auto;
	margin: 0;
	margin-bottom: 0.5em;
	float: none;
}

div.user_session fieldset label {
	width: auto;
	float: none;
}
div.user_session fieldset input {
	width: 100%;
}

/* HOME */

ul.home li {
	padding: 0.5em;
}

/* INSTALLATIONS */

div.installations p.name {
	margin-right: 0;
}

div.installations p.description {
	max-width: 100%;
	margin-bottom: 0.5em;
}

div.installations div.installer, div.installations div.owner {
	margin-top: 0;
}

div.installations > ul > li {
	padding-bottom: 1em!important;
}

/* FORM INSTALLATION */

form.form_installation div.online-status {
	float: none;
    margin-right: 0;
}

form.form_installation div#current_project > a, form.form_installation div#current_project > span {
	margin-left: 0;
	line-height: 1.9em;
}

form.form_installation div#current_project > a:first-of-type {
	display: block;
}

form.form_installation fieldset#installation-services img {
	display: block;
    margin: 0.3em auto 0 auto;
}

form.form_installation fieldset#installation-services > div > input[type=checkbox] {
	margin-top: -1.5em;
}

form.form_installation fieldset#installation-services > div > input[type=checkbox] + label {
	padding: 0.5em 0;
}

form.form_installation fieldset#installation-services > div > span {
    padding: 0.8em 0.5em 0 0.5em;
    display: block;
}

/* SUPERVISOR INSTALLATION */

div.installation-supervisor fieldset > div > p {
	display: block;
}

/* OLD INSTALLATION */

div.installation-old > ul > li > p.name, div.installation-old > ul > li > p.id_lapis, div.installation-old > ul > li > p.size {
	white-space: nowrap;
	margin: 4px;
}

div.installation-old > ul > li > p.id_lapis, div.installation-old > ul > li > p.size {
	font-size: 0.8em;
}

div.installation-old div.attributes {
	margin-left: auto;
	margin-top: auto;
}

div.installation-old div.attributes > div {
	margin-bottom: 0.5em;
}

/* MAPPE */

div.maps-level {
	text-align: center;
}

p.breadcrumb img {
	height: 16px;
	width: 10px;
	margin: 0 0.3em;
	opacity: 0.7;
	display: inline-block;
}

/* VISUS CODES */

div.visus_codes img {
	display: none;
}

/* VISUS CODE */

div.visus_code > div > h3 {
	line-height: 1.5em;
	background-image: none;
	padding-left: 0;
	margin-left: 0;
}

div.visus_codes div.activation-code {
	float: none;
	margin-top: 0;
	margin-right: 0;
}

div.visus_codes img#plus, div.visus_codes img#arrow {
	display: block;
}

/* FORM VISUS ACTIVATION CODE */

form.form_visus_code img {
	float: none;
	display: block;
	margin: 1em auto;
}

form.form_visus_code label {
	margin-top: 0;
}

form.form_visus_code fieldset > div {
	text-align: center;
}

form.form_visus_code fieldset input[type="text"] {
	margin-bottom: 0.4em;
	/* Ripristina le dimensioni dell'input in modo che non siano condizionate dal contenitore */
	box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

form.form_visus_code div.cross {
	display: block;
	margin: 0 auto;
}

/* USERS */

div.users div.email, div.users div.roles {
	width: 68%;
}

/* USER */

div.user div.avatar {
	width: 80px;
	height: 80px;
	margin-bottom: 1em;
}

div.user div.avatar img {
	max-width: 52px;
}

div.user div.job {
	clear: both;
	padding-left: 2.5em;
	background-position: left bottom;
}

div.user div.roles {
	clear: both;
	position: relative;
	left: 0px;
	top: 0px;
	margin-top: 1em;
}

div.user div.location {
	clear: both;
	position: relative;
	top: 0;
	right: 0;
	width: auto;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

div.user > div.profile h4 {
	margin-top: 0;
}

div.user div.links > a.continue {
	display: inline-block;
	margin-bottom: 0.8em;
}

div.user div.login_info > p > span, div.user div.lapis_info > p > span:nth-child(2n), div.user div.lapis_info > p > span:nth-child(2n+1) {
	width: 48%;
	padding: 0.5em 0;
}

/* FORM USER */

form.form_user div.avatars {
	text-align: center;
}

form.form_user div.avatars img {
	width: 49px;
}

form.form_user img#current_custom_icon {
	display: block;
	margin: 1em auto 0.2em auto;
}

/* MAPPA */

div#map {
	display: none;
}

div#enlarge {
	display: none;
	cursor: pointer;
}

div#countdown {
	width: auto;
	margin-top: -1em;
}

div#countdown > span {
	display: none;
}

/* SIDEBAR */

div#sidebar {
	background: none;
	padding: 0;
	width: auto;
	display: block;
	float: none;
    margin-bottom: 0;
}

div#sidebar > div.wrapper {
	display: block;
	background-color: rgba(0,0,0,0.5);
	padding: 15px;
	margin-bottom: 0.5em;
}

div#sidebar > div.wrapper > h1 {
	margin-top: 0.2em;
	font-size: 1.5em;
	cursor: pointer;
}

div#sidebar > div.wrapper > div.icon {
	display: block;
	float: left;
	margin: 0 0.5em 0.5em 0;
	cursor: pointer;
	width: 30px;
	height: 30px;
	text-align: center;
}

div#sidebar > div.wrapper > div.icon img {
	max-width: 100%;
	max-height: 100%;
}

div#sidebar > div.wrapper > div.icon span:not(.smaller-unit) {
    max-width: 100%;
    font-size: 0.7em!important;
}

div#sidebar > div.wrapper > div.icon span > span.smaller-unit {
    font-size: 0.75em;
}

div#sidebar > div.wrapper > div.edit {
    right: 1em;
}

div#sidebar > div.wrapper > div.box {
	display: none;
}

div#sidebar > div.wrapper.flip > div.box {
    display: none!important;
}

div#sidebar > div.wrapper div.exit-edit {
    right: 1em;
}

div#sidebar div.backbox {
    box-sizing: border-box;
}

/* PROBE ELEMENT */

div.probe-speed {
	width: 30px;
	height: 30px;
}

/* IP CAMERA ELEMENT */

div.ip-camera > p#enlarge-video {
	display: none;
}

/* CATEGORIE */

div#categories_layouts {
	display: none;
}

div#categories > div#cat-types {
	min-height: 0;
	height: auto;
	width: auto;
	overflow-y: auto;
	float: none;
	text-align: center;
	padding: 1em;
}

div#categories > div#sidebar {
	display: none;
	min-height: 0;
}

.go-back {
	background-color: rgba(0,0,0,0.5);
	margin: 0 0 1em 1em;
	display: inline-block;
}

.go-back:after {
	border-right-color: rgba(0,0,0,0.5);
}

.go-back:hover {
	background-color: rgba(0,0,0,0.3);
}

.go-back:hover:after  {
	border-right-color: rgba(0,0,0,0.3);
}

.go-back:active {
	background-color: rgba(255,255,255,0.3);
}

.go-back:active:after {
	border-right-color: rgba(255,255,255,0.3);
}

div#categories > div#sidebar > span {
	display: inline-block;
}

div#categories > div#sidebar > div.wrapper > div.icon p {
	display: none;
}

div#categories > div#cat-types ul {
	display: block;
	padding: 0;
	margin: 0;
	width: auto!important;
}

div#categories > div#cat-types li {
	width: 125px; 
	margin: 0;
	display: inline-block;
	vertical-align: top;
}

div#categories > div#cat-elements {
	display: none;
}

/* CONSUMI */

div.energy > h3, div.energy > span {
	font-size: 1.5em;
}

div.energy > div.big-values {
    position: relative;
    width: auto;
    right: 0;
    top: 0;
    margin: 0 0.5em;
}

div.energy div.max {
    left: auto;
    right: 0;
    text-align: right;
}

a.load {
	height: 4em;
	padding-top: 0;
}

a.load > input[type="checkbox"] {
	height: 2em;
}

a.load > p {
	width: auto;
    max-width: 61%;
}

a.load > p.value {
    margin-right: 0.5em;
    width: 4em;
}

a.load > div {
	height: 2em;
	width: 100%;
	float: left;
	clear: both;
}

a.load div.indicator {
        top: -2em;
        height: 4.5em;
}

/* Download */

div.download {
	padding: 0.5em 1em;
}

div.download > a {
	width: 100%;
}

div.download > a > div {
	float: none;
	width: auto;
	display: block;
	margin: 0.5em 0;
}

div#range_csv > p > span {
	clear: both;
	display: inline-block;
	width: 40%;
	margin: 0.2em;
}

div#range_csv > div > div {
	display: block;
	width: 100%;
}

div#range_csv > div label {
	border-bottom: 1px solid rgba(255,255,255,0.1);
	width: auto;
	margin-bottom: 0.5em;
}

div#range_csv > div > div#range_warnings {
	display: inline-block;
}

/* CONSUMPTION */

p.graphs-description {
    margin-bottom: 1em;
}

div.graphs > div {
	/* gli important servono per sovrascrivere eventuali zoom dei grafici */
	margin: 0 0 1em 0!important;
	min-height: 0;
	width: auto!important;
	float: none;
	display: block!important;
}

div.graphs > div > a.resize {
	display: none;
}

div.graphs h4 {
	line-height: 2em;
}

div.graphs > div > div {
	width: auto!important;
	height: 200px!important;
}

/* MESSAGES */

div.messages div.is-sent {
	display: inline-block;
}

div.messages div.is-sent > div {
	width: auto;
}

/* COMMAND LOGS E SHELLS */

div.command_logs div.description,
div.shells div.text {
	display: block;
}

div.command_logs div.executed, div.command_logs div.expiring, div.command_logs div.failed,
div.shells div.executed, div.shells div.pending {
	display: inline-block;
	margin-left: 0;
}

/* SUPPORT */

div.support ul > li > p > a:nth-child(1) {
	display: block;
	padding-left: 66px;
}

div.support ul > li > p > a:nth-child(2) {
	display: inline-block;
	margin: 0.5em 0 0 66px;
}

/* ASSISTANCE */

div.assistance > ul li {
	display: block;
	width: auto;
	text-align: left;
	border-bottom: 1px solid var(--border-bottom-color);
}

div.assistance > ul li img {
	height: 1.2em;
	float: left;
	margin-right: 0.5em;
}

div.assistance > div > h3 {
	border-top: 1px solid var(--border-bottom-color);
	padding-top: 0.5em;
	margin-top: 0.5em;
}

/* UNA VOICE REQUIREMENTS */

div.una_voice-requirements div#chosen-assistant a.request, div.una_voice-order div#chosen-assistant a.finish,
div.una-voice-guide a#green-large-button, div.google-home-guide a#green-large-button {
	font-size: 1.2em;
	max-width: 60%;
}

/* ADMIN */

div.admin li {
    height: 5em;
    width: 25%;
    margin: 1%;
    padding: 7% 3% 5% 3%;
}

div.admin li img {
	height: 35px;
}

div.admin li p {
	font-size: 0.8em;
}

/* DOWNLOADS */

div.downloads ul#last-downloads > li, div.downloads-old ul#old-downloads > li {
	display: block;
	width: auto;
	border-bottom: 1px solid var(--border-bottom-color);
}

div.downloads ul#last-downloads > li > ul {
	padding-right: 2.5em;
}

div.downloads img {
	max-width: 60%;
	max-height: 150px;
}

/* NEWS */

div.news p.text {
	width: auto;
}

/* POST */

div.post > div {
	padding: 1em;
}

form.form_post label:not([for=post_roles]) + input + span {
	display: block;
}

form.form_post label[for=post_roles], form.form_post label[for=post_roles] ~ span {
	display: block;
}

form.form_post input#post_icon + span.description {
	padding-top: 0.5em;
}

/* PAGES */

div.pages p.body {
	width: auto;
}

/* VISUS SERIAL NUMBERS */

div.visus_serial_numbers ul.activations > li {
	background-color: rgba(255,255,255,0.1);
}

div.visus_serial_numbers ul.activations > li > div.buttons {
	display: block;
	top: 0;
	right: 0.5em;
	text-align: right;
}

/* COUPON */

div.use-coupon div#coupon-value, div.use-coupon div#coupon-value-used {
	font-size: 1.5em;
}

div.use-coupon img.big-with-shadow {
	width: 100%;
}

div.use-coupon a.download-button {
	max-width: 100%;
}

/* SOFIA */

div.sofia form.form_sofia p.suspended {
	display: block;
}

/* FORM PRODUCT */

form.form_product fieldset img {
	margin: 1em auto 0 auto;
}

/* VESTAS */

div.vestas > ul.system-info > li, div.vestas > ul.system-info > a {
	width: 44%;
}

div.vestas div.board_actions > div#selection_instructions > img {
    float: left;
}

div.vestas p.whole-bus-selection {
	width: auto;
}

div.vestas ul.devices > li > ul > li {
	width: 109px;
}

div.vestas ul.devices div.image, div.battery-devices li.battery-device > div.image {
	width: 100px;
	height: 67px;
}

/* SHOME GUIDE */

div.shome-guide > div > img {
    width: 100%;
}

/* NOTIFICATIONS GUIDE */

div.notifications-guide > div > img {
    max-width: 100%;
}

/* BATTERY DEVICES */

div.battery-devices li.battery-device {
    margin: 1em 0;
}

/* PORT FORWARDING */

div.port-forwarding a.test {
	max-width: 100%;
	padding: 0.3em;
}

/* UNA VOICE REQUIREMENTS */

div.una_voice-requirements div#chosen-assistant img.float-right {
	float: none;
}

div.una_voice-requirements div#chosen-assistant > img.shome-semantic-example {
	width: 15em;
    margin: 1em auto;
    display: block;
    float: none;
}

div.una_voice-requirements div#chosen-assistant > img.shome-semantic-example ~ ul {
	padding-left: 2em;
}

/* ADDIN ACTIVATION */

div.addin-activation li > span {
	display: block;
	margin-bottom: 0.3em;
}

div.addin-activation img.addin-logo {
	display: block;
    margin: 0.5em 0;
}

/* UNA VOICE GUIDE */

div.una-voice-guide div#guide-preview, div.una-voice-guide > div > img {
    width: 90%;
}

/* INVOICES */

div.invoices li > p:first-child {
	display: block;
	width: auto;
}

div.invoices div.invoice-info {
	display: inline-block;
	width: auto;
	margin: 0 0.5em 0.5em 0;
}

div.invoices div.invoice-info > p > span {
	display: inline-block;
}

/* FORM INVOICE */

div.edit-invoice li > span {
	display: block;
	margin-bottom: 0.3em;
}

div.edit-invoice div#clipboard {
    margin-left: auto;
    margin-right: auto;
}

div.edit-invoice div#current_file > a, div.edit-invoice div#current_file > span {
	margin-left: 0;
	line-height: 1.9em;
}

div.edit-invoice div#current_file > a:first-of-type {
	display: block;
}

form.form_invoice fieldset:nth-of-type(1) label {
	width: 91%;
}

form.form_invoice fieldset.payment_methods div#invoice_payment_method label {
	margin: 0 0 1em 0;
	display: block;
}

form.form_invoice fieldset.payment_methods div#invoice_payment_method label > img + span {
    margin: 0.5em 1em 0 1em;
    display: inline-block;
}

form.form_invoice fieldset.payment_methods input#invoice_coupon {
	width: 100%;
}

form.form_invoice fieldset.payment_methods input#invoice_coupon + p {
    display: block;
	margin-top: 0.5em;
}

div ul.bank-data > li > strong {
    display: block;
}

/* STATISTICS */

div.statistics ul.system-infos > li {
	width: 49%;
}

div.statistics div.last-users > ul > li > a:nth-child(1), div.statistics div.last-offline > ul > li > a:nth-child(1) {
	display: block;
}

div.statistics div.last-offline div.graph, div.statistics div.sent-messages div.graph {
	float: none;
	margin: 0 auto;
}

/* WIZARDS */

div.wizard img {
	max-width: 95%;
    max-height: 6em;
}

div.wizard ul.generic-list > li > span.owner {
	display: block;
    margin: 0.5em 0 0 1.5em;
}

div.wizard ul.generic-list > li > input[type=text] {
    display: block;
    width: 100%;
    margin: 0.5em 0 0 0;
    box-sizing: border-box;
}

div.wizard ul#installation-list li.new p > *:last-child {
	margin-left: 0;
    width: 100%;
    box-sizing: border-box;
}

div.wizard ul#map-scene-list {
	text-align: center;
}

div.wizard ul#map-scene-list > li:last-child {
	text-align: left;
}

/* ACCESS DENIED */

div.access_denied > div {
	min-height: 6.5em;
}

div.access_denied img {
	max-width: 70px;
	max-height: 70px;
}

div.access_denied p {
	margin-top: 1.5em;
}

div.access_denied a {
	display: block;
	margin-bottom: 1em;
}

/* ERRORS */

div.errors > div {
	min-height: 6.5em;
}

div.errors img {
	max-width: 70px;
	max-height: 70px;
}

div.errors p {
	margin-top: 1.5em;
}

div.errors a {
	display: block;
	margin-bottom: 1em;
}

/* HOTEL */

div.hotel-overview {
    margin: 0.5em 0;
    width: 100%;
    box-sizing: border-box;
}

div.hotel-overview > div {
    width: 46%;
    margin: 0 2%;
}

div.hotel-overview > div > span.value {
    height: 1em;
    width: 100%;
    line-height: 1em;
    margin-top: 0.5em;
}

div.hotel-overview > div > h4 {
    line-height: 1em;
    text-align: center;
    display: block;
}

div#hotel-filters div#filter select {
    margin: 0.3em 0;
    width: 100%;
}
