@import url(https://fonts.googleapis.com/css?family=Droid+Sans:400,700);

@keyframes imageScaleIn {
	from { transform: scale(1); }
	to { transform: scale(1.8); }
}

@keyframes imageFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

* {
	box-sizing: border-box;
	font-family: 'Droid Sans', helvetica, arial;
}

html, body {
	margin: 0px;
	padding: 0px;
	font-size: 11pt;
	color: #ffffff;
	width: 100%;
	min-height: 100%;
	-webkit-text-size-adjust: none;
	-webkit-overflow-scrolling: touch;
}

body {
	background-color: #000000;
}

.text-mute, a.text-mute {
	color: #cbcbcb;
}

.text-alert {
	color: #f0453d;
}

.text-small {
	font-size: 8pt;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-top {
	vertical-align: top;
}

.text-middle {
	vertical-align: middle;
}

.text-bottom {
	vertical-align: bottom;
}

.text-toppadding {
	padding-top: 6px;
}

.hide {
	display: none!important;
}

.block {
	display: block;
}

.link {
	cursor: pointer;
}

.clearfix::after {
	content: '';
	display: table;
	clear: both;
}

.centerbox {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
}

.opacity {
	opacity: .5;
}

.opacity-box {
	background-color: rgba(0, 0, 0, .8);
}

#artplayer a {
	color: #ffffff;
	text-decoration: none;
}

#toprighticons {
	position: fixed;
	right: 5px;
	top: 10px;
	z-index: 20000;
}

	#toprighticons span {
		padding: 10px 7px 10px 7px;
		cursor: pointer;
	}


/* PLAYER */

#images {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 10000;
}

	#images .image {
		position: fixed;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100%;
		background-position: center center;
		background-repeat: no-repeat;
		-webkit-transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		-webkit-perspective: 1000;
		transform-origin: bottom left;
		transform: scale(1);
		opacity: 0;
		visibility: hidden;
		transition: opacity 3s ease-in;
		/*animation: imageFadeIn 3s ease-in;*/
	}

		#images .image.on {
			opacity: 1;
			visibility: visible;
		}

		#images .image.off {
			opacity: 0!important;
		}

		#images .image.onOLD {
			visibility: visible;
		}

		#images .image:nth-child(2n+1) {
			transform-origin: top right;
		}

		#images .image:nth-child(3n+1) {
			transform-origin: top left;
		}

		#images .image:nth-child(4n+1) {
			transform-origin: bottom right;
		}

		#images .image.kenburns-1 {
		    animation: imageScaleIn;
		    animation-duration: 100s;
		}

		#images.Fit .image, #images.FitLandscape .image, #images.FitPortrait .image {
			background-size: contain;
		}

		#images.Crop .image, #images.CropLandscape .image, #images.CropPortrait .image {
			background-size: cover;
		}

			#images.Crop .image.top, #images.CropLandscape .image.top, #images.CropPortrait .image.top {
				background-position: center top;
			}

#infobox {
	position: fixed;
	left: 0px;
	top: 10px;
	z-index: 20000;
	width: 300px;
	padding: 30px 15px 30px 15px;
	transform: translateX(-300px);
	transition: transform 1.5s;
	display: none;
}

	#infobox.open {
		transform: translateX(0px);
	}

	#infobox-logo {
		text-align: center;
		margin-bottom: 30px;
		display: none;
	}

		#infobox-logo img {
			max-width: 100%;
			max-height: 180px;
		}

	#infobox-title {
		font-size: 16pt;
		font-weight: bold;
		margin-top: 0px;
		margin-bottom: 10px;
	}

	#infobox-artist {
		font-size: 13pt;
		margin-bottom: 0px;
	}

	#infobox-preview {
		text-align: center;
		margin-top: 25px;
	}

		#infobox-preview img {
			max-width: 180px;
			max-height: 180px;
			margin-bottom: 20px;
		}

	#infobox-music {
		font-size: 8pt;
		margin-top: 15px;
	}

		#infobox-music #track-attribution a {
			text-decoration: underline;
		}

#musicplayer {
	display: none;
}

	#playpausebtn {
		display: none;
	}

		#playpausebtn::before {
			font-family: 'FontAwesome';
			content: '\f027';
		}

		#playpausebtn.pause::before {
			font-family: 'FontAwesome';
			content: '\f026';
		}


#mainmenu {
	display: none;
	width: 80%;
	max-width: 450px;
	z-index: 30000;
}

	#mainmenu .mainmenu-container {
		/*
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		*/
	}

	#mainmenu .item {
		/*flex: 33%;*/
		display: block;
		width: 33.33%;
		float: left;
		padding: 20px 25px 20px 25px;
		text-align: center;
		font-family: 'FontAwesome';
		font-size: 40pt;
		cursor: pointer;
	}

		#mainmenu .item:hover {
			background-color: rgba(254, 126, 1, .8);
		}

		#mainmenu .item.images::before {
			content: '\f03e';
		}

		#mainmenu .item.music::before {
			content: '\f001';
		}

		#mainmenu .item.mood::before {
			content: '\f118';
		}

		#mainmenu .item.ticker::before {
			content: '\f27a';
		}

		#mainmenu .item.settings::before {
			content: '\f013';
		}

		#mainmenu .item.logoff::before {
			content: '\f011';
		}


#submenu {
	z-index: 30000;
	width: 100%;
	max-width: 700px;
	display: none;
}

	#submenu .submenu-header {
		position: absolute;
		left: 0px;
		top: 0px;
		width: 100%;
		padding: 20px;
		z-index: 10000;
	}

	#submenu .submenu-container {
		width: 100%;
		max-height: 75vh;
		padding: 0px 20px 20px 20px;
		border-top: solid 60px transparent;
		overflow-y: auto;
	}

	#submenu .submenu {
		display: none;
	}

		#submenu .submenu .headline {
			text-align: center;
			font-weight: bold;
			margin-bottom: 10px;
		}

			#submenu .submenu .headline:not(:first-child) {
				margin-top: 20px;
			}

	#submenu .menu-backlink {
		float: right;
		font-size: 14pt;
	}


#imagecategory-container {}

	#imagecategory-container .imagecategorylistheader {
		color: #ffffff;
		text-align: center;
		clear: both;
		padding: 10px;
	}

		#imagecategory-container .imagecategorylistheader:not(.first) {
			margin-top: 20px;
		}

	#imagecategory-container .imagecategorylistitem {
		width: 50%;
	}

		#imagecategory-container .imagecategorylistitem.even {
			border-left-width: 0px;
		}


#moodcategory-container {}

	#moodcategory-container label.mooditem {
		width: 50%;
	}

		#moodcategory-container label.mooditem:first-of-type {
			width: 100%;
		}

#moodimagecollection-container {}

	#moodimagecollection-container label {
		width: 50%;
	}

		#moodimagecollection-container label:first-of-type {
			width: 100%;
		}

#musicgenre-container {}

	#musicgenre-container label.genreitem {
		width: 50%;
	}

#musicspeed-container, #moodmusicspeed-container {}

	#musicspeed-container label.musicspeeditem, #moodmusicspeed-container label.musicspeeditem {
		width: 50%;
	}

		#musicspeed-container label.musicspeeditem:first-of-type, #moodmusicspeed-container label.musicspeeditem:first-of-type {
			width: 100%;
		}


#ticker {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	z-index: 20000;
	padding: 13px 10px 12px 10px;
}

	#ticker .tickeritem {
		display: inline-block;
		font-size: 12pt;
		font-weight: normal;
		margin-left: 25px;
	}

	#ticker.watch-active #marquee {
		width: calc(100% - 70px);
		overflow: hidden;
	}

#tickerinputs {
	position: relative;
}

	#tickerinputs .menu-ticker-item {
		margin-bottom: 5px;
	}

	#tickerinputs .menu-ticker-item i.fa {
		padding: 5px 15px 5px 15px;
		cursor: pointer;
	}

		#tickerinputs .menu-ticker-item i.fa.fa-bars {
			cursor: ns-resize;
		}

		#tickerinputs .menu-ticker-item-input {
			display: inline-block;
			width: calc(100% - 100px);
		}

		#tickerinputs .menu-ticker-item-icons {
			display: inline-block;
			width: 100px;
		}

#tickerinputs-overlay {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(77, 77, 77, 0);
}


#clock {
	z-index: 20000;
	position: fixed;
	right: 10px;
	bottom: 10px;
	font-size: 14pt;
	display: none;
}

#preload {
	z-index: 20000;
	text-align: center;
	display: none;
}

#noimages {
	z-index: 20000;
	text-align: center;
	display: none;
}

#clicktostart {
	z-index: 20000;
	text-align: center;
	display: none;
}

#maxwindow {
	z-index: 20000;
	text-align: center;
	display: none;
}

#maxwindowicon {
	display: none;
}

#timerbar {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 0px;
	height: 3px;
	background-color: rgb(254, 126, 1);
	z-index: 10000;
}


/* LOGIN */

body#login {
	background: #000000 url('../Images/LoginBg.jpg') center center no-repeat;
	background-size: cover;
}

#loginbox {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 96%;
	max-width: 350px;
	padding: 20px;
}

	#loginbox h1 {
		text-align: center;
	}

		#loginbox h1 img {
			width: 60%;
			height: auto;
		}

	#loginbox .formButton {
		width: 100%;
	}

body#login.partner-raydiant {
	background-image: url('../Images/LoginBg-Raydiant.jpg');
}

	body#login.partner-raydiant #loginbox {
		background-color: rgba(0, 0, 0, .8);
	}


/* FORMS */

.form-text-container {
	color: #969696;
	float: left;
	width: 30%;
	margin-right: 2%;
	padding-top: 6px;
	min-height: 1px;
}

.form-input-container {
	position: relative;
	float: left;
	width: 68%;
	min-height: 1px;
}

	.form-text-container.fullwidth, .form-input-container.fullwidth {
		float: none;
		width: 100%;
	}

	.form-input-container:not(.no-margin) {
		margin-bottom: 20px;
	}

.form-button-container {
	clear: both;
	margin: 1%;
	padding-top: 20px;
	text-align: right;
	border: solid 1px transparent;
}

	.form-button-container .form-button {
		margin-left: 6px;
	}

	.form-button-container.center {
		text-align: center;
	}

		.form-button-container.center .form-button {
			margin-left: 0px;
		}

#formcheck-error {
	float: left;
	max-width: 50%;
	color: #f0453d;
	margin-right: 20px;
	padding-top: 5px;
	text-align: left;
}

.form-input {
	font-size: 11pt;
	color: #ffffff;
	padding: 8px;
	margin: 0px;
	width: 100%;
	background-color: rgba(77, 77, 77, .3);
	border: solid 1px rgba(77, 77, 77, .1);
	border-radius: 5px;
	outline: 0;
	resize: none;
	-webkit-appearance: none;
}

	.form-input:focus {
		background-color: rgba(77, 77, 77, .4);
		border: solid 1px rgba(77, 77, 77, .2);
	}

	.form-input.error {
		background: #f0453d;
		border-color: #f0453d;
	}

	.form-input-icon {
		position: absolute;
		right: 0px;
		top: 1px;
		padding: 7px;
		z-index: 10000;
	}

		.form-input-icon + .form-input {
			padding-right: 25px;
		}

	::-webkit-input-placeholder {
		color: #cbcbcb;
	}
	:-moz-placeholder {
		color: #cbcbcb;
		opacity: 1;
	}
	::-moz-placeholder {
		color: #cbcbcb;
		opacity: 1;
	}
	:-ms-input-placeholder {
		color: #cbcbcb;
	}

.form-button, a.form-button {
	font-size: 11pt;
	color: #ffffff;
	background: #fe7e01;
	border: solid 1px #fe7e01;
	border-radius: 2px;
	min-width: 100px;
	max-width: 100%;
	padding: 7px 10px 7px 10px;
	outline: 0;
	cursor: pointer;
	-webkit-appearance: none;
}

	.form-button:hover, a.form-button:hover {
		background: #ef7804;
		border-color: #ef7804;
	}

	.form-button.simple {
		color: #676767;
		background: #ffffff;
		border-color: #e7e7e7;
	}

		.form-button.simple:hover {
			background: #fafafa;
		}

	.form-button.alert {
		color: #ffffff;
		background: #f0453d;
		border-color: #f0453d;
	}

		.form-button.alert:hover {
			background: #e43e37;
			border-color: #e43e37;
		}

	.form-button.confirm {
		color: #ffffff;
		background: #94b86e;
		border-color: #94b86e;
	}

		.form-button.confirm:hover {
			color: #ffffff;
			background: #8aae64;
			border-color: #8aae64;
		}

	.form-button.text {
		color: #cbcbcb;
		background: transparent;
		border-color: transparent;
	}

		.form-button.text:hover {
			color: #969696;
			background: transparent;
		}

	.form-button.text-link {
		color: #7cb5ec;
		background: transparent;
		border-color: transparent;
	}

		.form-button.text-link:hover {
			color: #72abe2;
			background: transparent;
		}

input.hideforlabel {
	display: none;
	margin: 0px;
}

	input.hideforlabel + label {
		display: inline-block;
		min-width: 100px;
		border-top: solid 1px rgba(77, 77, 77, .3);
		border-bottom: solid 1px rgba(77, 77, 77, .3);
		text-align: center;
		padding: 8px 10px 8px 10px;
		margin: 0px;
	}

		input.hideforlabel:not(.group) + label {
			border-left: solid 1px rgba(77, 77, 77, .3);
			border-right: solid 1px rgba(77, 77, 77, .3);
		}

			input.hideforlabel.group + label:first-of-type {
				border-left: solid 1px rgba(77, 77, 77, .3);
				border-radius: 5px 0px 0px 5px;
			}

			input.hideforlabel.group + label:last-of-type {
				border-right: solid 1px rgba(77, 77, 77, .3);
				border-radius: 0px 5px 5px 0px;
			}

		input.hideforlabel + label:hover {
			background: rgba(77, 77, 77, .2);
			cursor: pointer;
		}

		input.hideforlabel:checked + label {
			background: rgba(77, 77, 77, .4);
		}



@media screen and (max-width: 1024px), print {

	.form-input {
		font-size: 12pt; /* >= 12pt/16px bigger size to prevent auto-zoom on iOS */
	}

	.hide-tablet-ls {
		display: none;
	}

}


@media screen and (max-width: 768px), print {

	.form-text-container {
		float: none;
		width: 100%;
		margin-right: 0%;
		margin-bottom: 3px;
	}

	.form-input-container {
		float: none;
		width: 100%;
	}

	.hide-tablet {
		display: none;
	}

}


@media screen and (max-width: 450px) {

	#imagecategory-container .imagecategorylist-item {
		width: 100%;
	}

		#imagecategory-container .imagecategorylist-item.even {
			border-left-width: 1px;
		}

	.hide-mobile {
		display: none;
	}

}
