/** 
 * app.css
 * 
 * This file contains general CSS styles
 * used across all layouts throughout the app 
 */
body, html {
	background: #000;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0px;
	color: #fff;
	 -webkit-font-smoothing: antialiased;
	text-shadow: 1px 1px 0px rgba(0,0,0,.3) }
a {
	color: #ccc;
	text-decoration: none }
a:hover {
	text-decoration: underline }
::-webkit-scrollbar { 
    display: none; 
}
/**
 * Global font sizes
 * ---------------------------------------- */
.font-3x-large {
	font-size: 400%}
.font-xx-large {
	font-size: 230%}
.font-x-large {
	font-size: 180%}
.font-large {
	font-size: 150%}
.font-medium {
	font-size: 125%}
.font-small {
	font-size: 100%}
.font-x-small {
	font-size: 85%}

/**
 *  Local font sizes
 * ---------------------------------------- */
.tiny {
	font-size: .5em;
	letter-spacing: 0px;}
.xxsmall {
	font-size: .62em;
	letter-spacing: 0px; }
.xxsmall .wi {
	line-height: .65em }
.xsmall {
	font-size: 1em;
	letter-spacing: 0px; }
.xsmall .wi {
	line-height: 1em }
.small {
	font-size: 1.5em;
	letter-spacing: 0px; }
.small .wi {
	line-height: 1.5em }
.medium {
	font-size: 1.8em;
	letter-spacing: -1px; }
.medium .wi {
	line-height: 1.6em }
.medium.wi {
	font-size: 1.5em }
.big {
	letter-spacing: -1px;
	font-size: 2.2em;
	font-weight: 300 }
.large {
	letter-spacing: -2px;
	font-size: 3.2em;
	font-weight: 300 }
.large .wi {
	font-size: .9em }
.x-large {
	letter-spacing: -2px;
	font-size: 3.8em;
	font-weight: 300 }
.xx-large {
	letter-spacing: -2px;
	font-size: 5em;
	font-weight: 100
}

/**
 *  Font colors
 * ---------------------------------------- */
.dim {
	/*color: #fff; /*color: #999; */
	opacity: 0.7;
}
.dark {
	/*color: rgba(255,255,255,0.4);*/
	opacity: .6;
}
.dark a {
	color: rgba(255,255,255,0.5);
}
.dark a:hover {
	color: rgba(255,255,255,0.9);
}
.light {
	color: rgba(255,255,255,0.8);
}
.bright {
	color: #fff;
}



/**
 *  Utility classes
 * ---------------------------------------- */
.pull-right {
	float: right;
}
.text-right {
	text-align: right;
}
.pull-left {
	float: left;
}
.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-muted {
	opacity: 0.8;
}
.hide {
	display: none;
}
.label {
	font-size: .55em;
    background: rgba(255,255,255,.8);
    color: rgba(0, 0, 0, 0.8);
    text-shadow: none;
    padding: 2px 8px 4px 8px;
    border-radius: 5px;
    display: inline-block;
    margin-top: -2px;
    vertical-align: middle;
}
.label.label-critical {
	background: rgba(255, 50, 50, .65); 
	color: #ffffff;
}
.label.label-success {
	background: rgba(78, 163, 139, .9); 
	color: #ffffff;
}
.abs-zero {
	position: absolute; 
	top:0; 
	right: 0; 
	bottom: 0; 
	left: 0;
	background-size: 100% 100%!important;
}
.brightness {
	z-index:15;
}
.clearfix {
  content: "";
  display: table;
  clear: both; }
.translucent {
	 background:rgba(0,0,0,.2); 
	 z-index: 100;
}
.translucent-alert {
	background: rgba(255, 0, 0, .4); 
}
.opaque-alert {
	background: #b33232; 
}
.translucent-info {
	background: rgba(91, 130, 255, .6); 
}
.icon {
	position: relative;
	top :-10px;
	display: inline-block;
	font-size: 45px;
	padding-right: 5px;
	font-weight: 100;
	margin-right: 10px;
}
ul {
	list-style-type: none;
	padding: 0;
	margin: 0 }
li {
	margin-top: 12px }
sup, sub {
	font-size: 60% }
table {
	border-collapse: collapse; 
	border-spacing: 0 }

.wi {
	line-height: 75px;
}
#options-link,
.options-link {
	position: absolute; 
	top: 0; 
	right: 0; 
	padding: 5px 10px 10px 10px; 
	margin: 10px;
	z-index: 120;
	height: 1em;
	width: 1em;
	overflow: hidden;
	white-space: nowrap;
	transition: width .25s, opacity .25s;
	direction: rtl;
	background: rgba(255,255,255,0.6);
	border-radius: 25px;
	text-shadow: none;
	z-index:201 }
a.options-link {
	text-decoration: none;
	color: rgba(0,0,0,.7) }
.options-desc {
    font-size: .75em;
	vertical-align: middle;
    margin-top: -10px;
    display: inline-block;
    text-transform: uppercase;
	font-weight: bold }
.options-link:hover {
	transition: width .25s;
	width: 5em }
.options-link:hover .fas {
	transition: transform .25s;
	transform: rotate(90deg) }

/**
 * Photo-related classes
 * ---------------------------------------- */
#img-info {
	padding: 5px 20px 10px 20px; 
	line-height: .8em; 
}
.layout-tablet #img-info {
	font-size: 16px;
}
#img-info {
	position: fixed; 
	width: 100%; 
	bottom: 0; 
	z-index: 199
}
#img-owner {
	padding-right: 30px;
}
#progress {
	height: 2px; 
	z-index: 200; 
	position: fixed; 
	width: 100%; 
	bottom: 0
}

/**
 *  Event classes/colors
 * ---------------------------------------- */
.no-events{
	font-size: .65em;
	color: rgba(255,255,255,0.5);
	margin-top: 1em;
}
.calendar-agenda-dark .no-events,
.calendar-schedule-dark .no-events {
	color: rgba(0,0,0,0.35);
}

.calendar-schedule .no-events {
	margin-bottom: 1.6em;
}

/**
 * Weather styles
 * ------------------------------------------------------ */


/**
 * RSS styles
 * ------------------------------------------------------ */
#rss .rss-description a,
.rss .rss-description a {
	display: none;
}
.rss-title a {
	color: inherit;
}
.rss-title,
.rss-description {
	/*text-shadow: 1px 1px 0px rgba(0,0,0,.5);*/
	padding-bottom: 7px;
}
.rss-background {
	background: rgba(0,0,0,0.35);
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.35) 23%, rgba(0,0,0,0) 65%, rgba(0,0,0,0) 100%);
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(0,0,0,0.35)), color-stop(23%, rgba(0,0,0,0.35)), color-stop(65%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0)));
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.35) 23%, rgba(0,0,0,0) 65%, rgba(0,0,0,0) 100%);
	background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.35) 23%, rgba(0,0,0,0) 65%, rgba(0,0,0,0) 100%);
	background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.35) 23%, rgba(0,0,0,0) 65%, rgba(0,0,0,0) 100%);
	background: radial-gradient(ellipse at center, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.35) 23%, rgba(0,0,0,0) 65%, rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=1 );
}

/**
 * Message/text styles 
 * ------------------------------------------------------ */
#message {
	text-align: center;
}
.layout-landscape #message { 
	z-index: 200; 
	position: absolute; 
	right: 20%; 
	left: 25%;
}
.layout-portrait #message,
.layout-tablet #message { 
	z-index: 200; 
	position: absolute; 
	min-height: 50px; 
	padding: 0 20px; 
	right: 0; 
	left: 0;
}
#message.top {
	top: 0;
	padding-top: 15px;
}
#message.upper {
	top: 25%;
}
#message.middle {
	top: 45%;
}
#message.lower {
	top: 70%;
}
#message.bottom {
	bottom: 0;
	padding-bottom: 15px;
}
.text p {
	margin: 0 0 .25em 0;
}
.text table {
	width: 100%;
}
.text table tr>th, 
.text table tr>td { 
	padding: .4em 0;
}
.text table tr>td {
	border-top: 1px solid rgba(255,255,255,0.3);

}
.text .block-font-small table tr>td,
.text .block-font-xsmall table tr>td {
	border-top: 1px solid rgba(255,255,255,0.3);
}

.text .block-font-medium table tr>td {
	border-top: 2px solid rgba(255,255,255,0.3);
}
.text .block-font-large table tr>td,
.text .block-font-xlarge table tr>td {
	border-top: 3px solid rgba(255,255,255,0.3);
}

/**
 * Clocks
 * ------------------------------------------------------ */
.analog-circle{
	width:5em;
	height:5em;
	margin: 0 auto 15px auto;
	position:relative;
	border:.25em solid #fff;
	border-radius:50%;
}
.analog-face{
	width:100%;
	height:100%
}
.analog-face:after{
	position:absolute;
	top:50%;
	left:50%;
	width:12px;
	height:12px;
	margin:-6px 0 0 -6px;
	background:#fff;
	border-radius:6px;
	content:"";
	display:block
}
.analog-hour{
	width:0;
	height:0;
	position:absolute;
	top:50%;
	left:50%;
	margin:-3px 0 -3px -25%;
	padding:3px 0 3px 25%;
	background:#fff;
	-webkit-transform-origin:100% 50%;
	-ms-transform-origin:100% 50%;
	transform-origin:100% 50%;
	border-radius:4px 0 0 4px
}
.analog-minute{
	width:0;
	height:0;
	position:absolute;
	top:50%;
	left:50%;
	margin:-40% -2px 0;
	padding:40% 2px 0;
	background:#fff;
	-webkit-transform-origin:50% 100%;
	-ms-transform-origin:50% 100%;
	transform-origin:50% 100%;
	border-radius:3px 3px 0 0
}
.analog-second{
	width:0;
	height:0;
	position:absolute;
	top:50%;
	left:50%;
	margin:-40% -1px 0 0;
	padding:40% 1px 0;
	background:#fff;
	-webkit-transform-origin:50% 100%;
	-ms-transform-origin:50% 100%;
	transform-origin:50% 100%
}