/**
 * TOPAKUSTIK Simulator CSS
 */

/**
 * #.# Defaults
 *
 * Default css properties for the topakustik simulator
 */

.top-s-wrapper,
.top-s-wrapper div{
	display: block;
	position: relative;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

.top-s-wrapper{
	display: inline-block;
	width: auto;
	max-width: 100%;
	padding: 10px;
	border: 1px solid #eee;
}

.top-s-inst{
	display: inline-block !important;
	width: 490px;
	max-width: 100%;
	margin: 5px;
	padding: 20px;
	border: 1px solid #eee;
	vertical-align: top;
	text-align: left;
}

.top-s-wrapper button{
	border: none;
}

/**
 * #.# Header
 *
 * Simulator global header
 */

.top-s-header{
	text-align: left;
}

.top-s-header h3{
	display: block;
	padding: 10px 10px 0;
	margin: 0 !important;
	font-size: 1em !important;
	font-weight: bold !important;
}

.top-s-header p{
	display: inline-block;
	padding: 0 10px 5px;
	margin: 0;
	font-size: .9em;
	font-style: italic;
}

.top-s-wrapper .top-s-help{
	position: absolute;
	top: 5px;
	right: 10px;
	height: 25px;
	width: 25px;
	background-image: url(img/help-icon.png);
	background-size: contain;
	background-position: center center;
	background-repeat; no-repeat;
}

.top-s-wrapper .top-s-help .top-s-help-cont{
	display: none;
}

.top-s-wrapper .top-s-help:hover .top-s-help-cont{
	display: block;
	position: absolute;
	height: auto;
	width: 250px;
	padding: 20px 0 0;
	top: 100%;
	margin-top: 10px;
	right: -5px;
	border-radius: 5px;
	background-color: rgba(20,20,20,.9);
	color: #fff;
	z-index: 100;
}

.top-s-wrapper .top-s-help .top-s-help-cont .top-s-help-desc{
	padding: 0 10px;
	font-size: .9em;
}

.top-s-wrapper .top-s-pdf-export{
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	padding: 0;
	top: 5px;
	right: 45px;
	background-color: transparent !important;
	background-image: url(img/pdf-icon.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

/**
 * #.# Selector labels
 *
 * Properties of the selector main labels
 */

/* Title */
.top-s-wrapper .top-s-selector h3{
	margin: 0 0 -5px 0;
	padding: 5px 0 0;
	font-size: .9em;
	font-weight: normal;
}

/* Selector label */
.top-s-selector-label{
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	margin: 1em 0 .5em 0;
	padding: 10px 70px 10px 20px !important;
	background-color: #fff !important;
	border: 1px solid #eee;
	-webkit-box-shadow: inset 1px 1px 4px rgba(30,30,30,.05);
	-moz-box-shadow: inset 1px 1px 4px rgba(30,30,30,.05);
	box-shadow: inset 1px 1px 4px rgba(30,30,30,.05);
	cursor: pointer;
	-webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	transition: all .3s linear;
	cursor: pointer;
	font-size: .8em;
}

.top-s-wrapper .top-s-selector:after{
	display: block;
	position: absolute;
	content: '';
	width: 38px;
	height: 38px;
	bottom: 0;
	right: 0;
	background-color: #eee;
	border: 1px solid #ddd;
	background-image: url(img/plus-icon.png);
	background-position: center center;
	background-size: 60% auto;
	background-repeat: no-repeat;
	-webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	transition: all .3s linear;
	cursor: pointer;
}

.top-s-wrapper .top-s-selector:hover:after{
	background-color: #fff;
}

.top-s-selector-label:hover,
.top-s-selector-label:focus,
.top-s-selector-label:active{
	border: 1px solid #ddd !important;
}

/**
 * #.# Selector pop ups
 *
 * Properties for the selector pop ups
 */

/* Confirm Button */
.top-s-selector-confirm{
	display: none;
}

.top-s-wrapper .top-s-selector-active .top-s-selector-confirm{
	display: block;
	position: fixed;
	width: 30px;
	height: 30px;
	top: 0;
	right: 50%;
	margin-right: -160px;
	border-radius: 0 !important;
	background-color: #222 !important;
	background-image: url(img/ctrlClose.png) !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: auto 50% !important;
	z-index: 22223;
}

.top-s-wrapper .top-s-selector-items{
 	display: none;
}

.top-s-wrapper .top-s-selector-active .top-s-selector-items{
	display: block;
	position: fixed;
	width: 400px;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	top: 0;
	left: 50%;
	padding: 40px 0 0;
	background-color: #fff;
	-webkit-transform: translateX( -50% );
	-moz-transform: translateX( -50% );
	transform: translateX( -50% );
	overflow: auto;
	z-index: 22222;
	-webkit-box-shadow: 0 0 10px rgba(30,30,30,.4);
	-moz-box-shadow: 0 0 10px rgba(30,30,30,.4);
	box-shadow: 0 0 10px rgba(30,30,30,.4);
}

.top-s-wrapper .top-s-selector-active:before{
	display: block;
	position: fixed;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0,0,0,.5);
	z-index: 2000;
}

/* Selector pop up title */
.top-s-wrapper .top-s-selector-active .top-s-selector-items h3{
	display: block;
	position: relative;
	padding: 20px 20px 10px;
	margin: 0 0 10px;
	font-weight: bold;
	z-index: 100;
	border-bottom: 1px solid #eee;
}

	/**
	 * #.# Pop up list elements
	 *
	 * All single lis elements of the current pop up
	 */
	 
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label{
		display: block;
		position: relative;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		padding: 2px 20px;
		background-color: #fff;
		font-weight: bold;
		cursor: pointer;
	}
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label:last-of-type{
		margin-bottom: 40px;
	}
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label input{
		display: none;
	}
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label img{
		display: inline-block;
		position: relative;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		width: 10%;
		height: 10%;
		margin: 0 -4px 0 0;
		border: 1px solid #eee;
		vertical-align: middle;
	}
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label h4{
		display: inline-block;
		position: relative;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
		width: 85%;
		padding: 10px;
		margin: 0 -4px 0 5%;
		border: 1px solid #eee;
		font-size: .8em;
		font-weight: normal;
		background-color: #fff;
		-webkit-transition: all .3s linear;
		-moz-transition: all .3s linear;
		transition: all .3s linear;
		vertical-align: middle;
	}
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-items label input:checked + img + h4{
		background-color: #eee;
	}

/**
 * #.# Results container
 *
 * The wrapper where the config results are displayed
 */
 
.top-s-result{
 	width: 448px;
 	height: 600px;
 	max-width: 100%;
 	margin: 10px 0 0;
 	border: 1px solid #eee;
}
 
.top-s-wrapper .top-s-result-cont{
 	position: absolute;
 	height: 100%;
 	width: 100%;
 	top: 0;
 	left: 0;
 	background-size: cover;
 	background-repeat: no-repeat;
 	background-position: center center;
}

/**
 * #.# Lightbox
 *
 * The simulator lightbox markup
 */
 
#top-s-lb{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 30px 0 0;
	-webkit-transform: translate(0);
	-moz-transform: translate(0);
	transform: translate(0);
	background-color: rgba(20,20,20,.8);
	background-image: url(img/loading.png);
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 20000;
	text-align: center;
}

#top-s-lb .top-s-lb-close{
	display: block;
	position: fixed;
	width: 20px;
	height: 20px;
	padding: 0;
	border: none;
	top: 5px;
	left: 50%;
	margin-left: -10px;
	background-color: transparent;
	background-image: url(img/ctrlClose.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 60% auto;
	z-index: 200;
}

.top-s-lb-content{
	display: inline-block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	overflow: auto;
	background-color: #fff;
}

.top-s-link{
	cursor: pointer;
}

/**
 * #.# Link list
 */

.top-s-link-list{
	padding: 10px 0;
	text-align: center;
}

.top-s-link-list a{
	display: inline-block;
	color: inherit;
	font-size: .8em;
	vertical-align: middle;
	padding: 0 5px;
}

.top-s-link-list a:hover{
	text-decoration: none;
}

/**
 * #.# Responsive 600px
 *
 * Adjust properties for instances and results
 */

@media only screen and (max-width:600px){
	
	.top-s-inst{
		width: 350px;
	}
	
	.top-s-result{
		height: 400px;
	}
}

/**
 * #.# Responsive 400px
 *
 * Adjust properties for instances and results
 */

@media only screen and (max-width:400px){
	
	.top-s-wrapper .top-s-selector-active .top-s-selector-confirm{
		right: 20px;
		margin-right: 0;
	}
	
	.top-s-inst{
		width: 250px;
	}
	
	.top-s-result{
		height: 285px;
	}
}