/*
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2011 IBM Corporation
 */

h1 {
    color:         green;
    margin:        0.5em;
    margin-left:   1.0em;
    padding:       0.4em;
    padding-left : 0.8em;
}

.blue {
    color: blue;
}

#metrics {
    margin:   1em;
    border:   0.2em solid;
    padding:  3em;
}

#button {
    font-size: 150%;
}

.size-test {
    display: none;
}

@media only screen and (min-width: 800px) {
	.size-large { 
		display: inline;
	}
}

@media only screen and (min-width: 400px) and (max-width: 799px) {
	.size-medium { 
		display: inline;
	}
}

@media only screen and (max-width: 399px) {
	.size-small { 
		display: inline;
	}
}