/*
* Bitte hier keine Aenderungen durchfueren da diese meist durch ein Update ueberschrieben werden.
* Stattdessem ist dafuer die Datei 'user_files/_customStyle.css' vorgesehen.
*/
:root {
  --main-data-image-med: 25px;
  --main-data-image-med-p3: 28px;
  --main-data-image-med-p5: 32px;
  --main-data-image-large: 60px;
  --main-data-font-xsmall: 6px;
  --main-data-font-small: 10px;
  --main-data-font-med: 16px;
  --main-data-font-large: 20px;
  --main-data-font-xlarge: 25px;
}

*, *::after, *::before {
    box-sizing: border-box;
}

html, body {
    width: 100%;
	height: 100%;
    margin: 0;
    padding: 0;
    display: block;
    position: relative;
}

body {
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
	font-size: var(--main-data-font-small);
    line-height: 1.42857;
	background-color: #b4d2ff;
}

h1 {
	font-size: 20px;
	font-size: var(--main-data-font-large);
}

h3 {
	font-size: 10px;
	font-size: var(--main-data-font-small);
}

fieldset {
	margin: 4px;
	position: relative;
	padding: 0 !important;
}

fieldset > label {
	font-size: var(--main-data-font-med);
	color: #fff;
	padding-left: 4px;
	display: block;
}

.popup, .popup-overlay {
	display: none;
	background-color: #f0f0f0;
	border-radius: 3px;
	z-index: 100;
}

.popup-overlay {
	position: absolute;
	z-index: 100;
	padding: 2em;
	margin-left: 2em;
}

#detail-overlay {
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(14,42,71,0.9);
	z-index: 90;
}

body.loading #detail-overlay, body.on-interact #detail-overlay {
	display: block;
}

#main {
    #max-width: 1200px;
    width: 100%;
    margin: auto;
}

#main h1 {
	clear: both;
	text-align: left;
}

.alerts.alerts-small {
	font-size: 30px;
	line-height: 40px;
}

.alerts.alerts-small span {
	padding-right: 4px;
	vertical-align: middle;
}

.alerts.alerts-small .alert_icon, .alerts.alerts-small .alert_icon img {
	max-width: 40px;
	max-height: 40px;
	display: inline-block;
	box-sizing: content-box;
}

.alerts.alerts-small .alert_ts {
	font-size: 0.8em;
	color: blue;
}

.alerts.alerts-small .alert_device {
	color: brown;
}

.set_device_input_small {
	width: 5em;
}


#someone_at_home {
	background-image: url('../im/home_1946488.png');
	background-size: 64px;
	width: 64px;
	height: 64px;
	display: inline-block;
	font-size: 35px;
	text-align: center;
	color: black;
}

#someone_at_home[state="-1"] {
	background-image: url('../im/no-flash_1687772.png');
}

#someone_at_home[state="0"] {
	background-image: url('../im/preferences_3161842.png');
}

#someone_at_home[state="1"] {
	background-image: url('../im/home_1946488.png');
}

#someone_at_home[state="2"] {
	background-image: url('../im/holiday_4343430.png');
}

#scenes, .devices-box {
    list-style-type: none;
}

#scenes > .scenes, .devices-box {
    float: left;
    min-height: 1px;
    position: relative;
    width: 31.5%;
    color: #0d0d0d;
    border: 1px solid #fff;
    margin: 4px;
}

ul#main-ul, ul#scenes, ul.devices {
	padding: 0;
}

#holiday_state {
	width: 100%;
	text-align: center;
	font-size: 2em;
}

#holiday_state button {
	width: 45%
}

#holiday_state[state="1"] button#holiday {
	background-color: #7979ff;
	color: #d2d2d2;
	border: 1px solid #F2EEEE;
}

#holiday_state[state="2"] button#vacation {
	background-color: #7979ff;
	color: #d2d2d2;
	border: 1px solid #F2EEEE;
}

.devices-box {
	border: none;
}

.devices-box .device {
	width: 20%;
}

.common-in {
	text-align: center;
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #f6f6f6 0px, #fff 77%) repeat scroll 0 0;
    border-width: 4px;
    box-shadow: 1px 1px 5px 0 rgba(50, 50, 50, 0.29);
    border-color: #bed5be;
    height: 100px;
    margin: 3px;
    padding: 5px;
    position: relative;
}

.control-state {
	padding: 8px;
}

.room-state {
	position: absolute;
	right: 4%;
	top: 1%;
}

.devices-states {
	max-width: 8em;
	clear: both;
}

.devices-states .devices-state {
	display: none;
	white-space: nowrap;
	float: left;
	border: 1px solid #ccc;
	border-radius: 1em;
	padding: 0 5px;
}

.room-state .devices-state {
	background-color: #bfbcbc;
	padding: 3px;
	font-size: 1.1em;
}

.devices-off .common-in, .devices-all .turn-off {
	background: rgba(0, 0, 0, 0) linear-gradient(to right, #FFC4C4 0px, #f53939 77%) repeat scroll 0 0;
}

.devices-on .common-in, .devices-all .turn-on {
	background: rgba(0, 0, 0, 0) linear-gradient(to right, #C4FFDE 0px, #30f84e 77%) repeat scroll 0 0;
}

.devices-all .turn-off, .devices-all .turn-on {
	font-size: var(--main-data-font-large);
	padding: 8px 30px;
	margin: 3px;
	cursor: pointer;
}

.devices-all .devices-box {
	width: 97%;
}

.devices-all .devices-box .device-control {
	margin: 5px;
}

/*.devices-box.hasControl .common-in{
	height: 134px;
}

.devices-all .devices-box.hasControl .common-in {
	height: 110px;
}*/

.devices-in {
	height: 98px;
}

.common-in .scenes-img {
    left: 5px;
    position: absolute;
    top: 5px;
    width: 56px;
    height: 56px;
    display: block;
}

.common-in .devices-img {
	height: 3em;
	width: 3em;
}

.common-in > .common-img img {
    width: 100%;
}

.device-left {
	float: left;
	text-align: left;
	position: absolute;
}

.device-left .common-img {
	position: relative;
	margin: 0;
}

.on-for-container {
	position: absolute;
	right: 0.1em;
	top: 1em;
	z-index: 10;
}

.devices-off .on-for-container {
	display: none;
}

.on-for-container  .on-for {
	display: block;
	position: relative;
	width: 5em;
	height: 5em;
	float: right;
	z-index: 11;
}

.on-for-container  .on-for::after {
	content: '';
	background-image: url('../im/hourglass.svg');
	width: 80%;
	height: 80%;
	display: block;
}

#on-for-control, #on-for-control input, #on-for-control button {
	font-weight: 700;
	font-size: 20px;
	#width: 100%;
}

#on-for-control input {
	border: none;
	background: none;
	text-align: center;
	width: 80%;
}

#on-for-control {
	text-align: center;
	position: fixed;
	background-color: #fff;
	width: 200px;
	height: 8em;
	top: calc(50% - 3em);
	left: calc(50% - 75px);
	z-index: 12;
	border: 0.2em solid #DEDCDC;
}

#on-for-control span {
	#line-height: 6em;
}

.devices-in .devices-img {
	background-size: 100%;
}


.common-content {
    #margin: -10px 0 0 84px;
    #height: 50%;
}

.common-content .scenes-room {
    font-size: 85%;
    color: #737373;
    display: block;
}

.common-content .common-title {
    color: #404040;
    display: block;
}

.common-content .common-values {
    color: #404040;
    display: block;
}

.common-content .common-values .device-state, .common-content .common-values .device-value {
	display: block;
	font-size: 80%;
}

.scenes-footer {
    text-align: center;
    bottom: 20px;
    display: block;
    height: 2.3em;
    position: absolute;
    width: 90%;
}

.scenes-footer .scenes-footer-left {
    width: 30%;
    height: 100%;
    display: inline-block;
    position: relative;
}

.scenes-footer .scenes-footer-middle {
    width: 30%;
    height: 100%;
    display: inline-block;
    position: relative;
    text-align: center;
}

.scenes-footer .scenes-footer-middle .clock {
    display: inline-block;
    font-size: 80%;
}

.scenes-footer .scenes-footer-middle .ui-icon::before {
    font-size: 80%;
}

.scenes-footer .scenes-footer-right {
    width: 30%;
    height: 100%;
    float: right;
    display: inline-block;
    text-align: right;
    color: #0d0d0d;
    font-size: 160%;
    font-weight: 700;
    position: relative;
}

.scenes-footer .scale-title {
    font-size: 80%;
    font-weight: 100;
}

/* smart home */

li.scenes, li.devices {
    cursor: pointer;
}

li.scenes .scenes-in:hover, .switch-hover:hover {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #C4C8FF 0px, #fff 77%) repeat scroll 0 0 !important;
}

.devices-in .common-title {
	min-height: 2em;
	font-size: 2em;
}

.common-content .common-title {
    font-weight: 700;
}

.scenes-content .common-title {
    font-size: 160%;
}

.scenes-footer .devices span, .common-img span, .common-in .common-img {
    display: inline-block;
    width: 3em;
	width: var(--main-data-image-med);
    height: 3em;
	height: var(--main-data-image-med);
    background-size: 3em;
	background-size: var(--main-data-image-med);
    margin: 0 0.3em;
}

.common-in span.off {
	transition-property: top, left, opacity, box-shadow, background-color;
    border-radius: 7px;
}

.common-in span.off::after {
    box-shadow: 0 2px 0 0 inset;
    color: red;
    content: "";
    display: block;
    height: 3em;
	height: var(--main-data-image-med-p3);
    line-height: 1;
    margin-left: 1px;
    margin-top: 21px;
    position: absolute;
    transform: rotate(-45deg);
    transform-origin: 2px 0 0;
    width: 3.3em;
	width: var(--main-data-image-med-p3);
}

.common-in span.off::before {
    border: 2px solid red;
    border-radius: 100%;
    content: "";
    display: block;
    height: 3.5em;
	height: var(--main-data-image-med-p5);
    line-height: 1;
    margin-left: -4px;
    margin-top: -3px;
    position: absolute;
    width: 3.5em;
	width: var(--main-data-image-med-p5);
}

/* swipe */

#main-ul {

}

#main-ul li {
    list-style-type: none;
    float: left;
    display: inline-block;
}

#main-ul li#control {
    height: 100%;
    width: 45%;
}

#main-ul li#control > img {
	float: left;
	width: 70px;
}

#main-ul li#control h1 {
    padding-left: 1em;
}

#main-ul li#main1 {
    height: 100%;
    width: 100%;
}

#main-ul.onControl {
    padding: 0;
    width: 180%;
}

#main-ul.onControl li#main1 {
    width: 55%;
}

#main-ul.onControl li#main1 > div {
    margin-left: 0;
}

#main-ul li#control .common-item {
    width: 100%;
	font-size: var(--main-data-font-xlarge);
    font-weight: 700;
    color: #404040;
    border-color: #bed5be;
    border-top-width: 4px;
    box-shadow: 1px 1px 5px 0 rgba(50, 50, 50, 0.29);
    float: none;
    padding: 0.3em;
    cursor: pointer;
}

#main-ul li#control .common-item-large {
	font-size: var(--main-data-font-large);
}

#main-ul .swipe-div {
    width: 90%;
    height: inherit;
	text-align: left;
 }
 
#main-ul .swipe-div.common-in {
    width: 95%;
    height: inherit;
 }
 
#main-ul .swipe-div .img {
    box-sizing: initial;
    display: inline-block;
    height: 1em;
    margin-right: 0.3em;
    position: relative;
    width: 1em;
}

#main-ul .swipe-div .img img {
    height: 1em;
    position: absolute;
    top: 5px;
    width: 1em;
}

.devices-box .device-control {
	margin: -4em 1em 0 1em;
	height: 3em;
	width: 92%%;
	
}

.devices-box .device-control.hasControl {
	background: linear-gradient(63deg, #999 23%, transparent 23%) 7px 0, linear-gradient(63deg, transparent 74%, #999 78%), linear-gradient(63deg, transparent 34%, #999 38%, #999 58%, transparent 62%), #444;
	background-size: 16px 48px;
	background: radial-gradient(black 15%, transparent 16%) 0 0, radial-gradient(black 15%, transparent 16%) 8px 8px, radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 0 1px, radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 8px 9px;
	background-color:#282828;
	background-size:16px 16px;
	opacity: 0.3;
	display: /*block*/none;
}

button, .aButton {
	-moz-appearance: none;
	-moz-user-select: none;
	background-clip: padding-box;
	background-color: #f6f6f6;
	border: 1px solid #DDD;
	border-radius: 0.3125em;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: inherit;
	font-weight: bold;
	margin-bottom: 0.5em;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0.5em;
	overflow-x: hidden;
	overflow-y: hidden;
	padding-bottom: 0.7em;
	padding-left: 1em;
	padding-right: 1em;
	padding-top: 0.7em;
	position: relative;
	text-align: center;
	text-overflow: ellipsis;
	text-shadow: 0 1px 0 #f3f3f3;
	white-space: nowrap;
}

input.changed {
    border: 4px solid orange;
}

#main-ul li#control {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	z-index: 99;
	background-color: #fff;
}

.bgChange {
	border-radius: 50%;
	width:50px;
	height:50px;
	display:inline-block;
	text-align: center;
	line-height: 5em;
}

/* Laptop: 1349 x 654 */
@media (max-width: 1400px) and (min-width: 1300px) {
	.devices-all .devices-box {
		width: 99%;
	}
	
	#scenes > .scenes, .devices-box {
		width: 32.7%;
	}
}

/* oneplus3: 450 x 729 */
@media (max-width: 800px) {
	#main-ul li#control {
		display: none;
		top: 0;
		left: 0;
		width: 85%;
		z-index: 99;
		background-color: #fff;
	}
}

/* iPhone SE: 320 x 454 */
@media (max-width: 330px) {
	#scenes > .scenes, .devices-box {
		width: 47%;
	}
}

/* iPhone 1: 375x636 */
@media (max-width: 370px) {
	#scenes > .scenes, .devices-box {
		width: 30%;
	}
}

/* smart home */