/* normalize-8.0.0-plus module START */
/* @version 20181022 */

*,
:after,
:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-position: center;
	background-repeat: no-repeat;
	-webkit-tap-highlight-color: transparent; /* remove iOS hightlight */
	outline: none; /* remove Chrome clickables hightlight */
}
a {
	display: block;
	color: inherit;
	outline: medium none;
	text-decoration: none;
	transition: all 0.25s ease 0s;
}
a img {
	border: 0 none;
}
button {
	cursor: pointer;
}


/* Nested Frames START */

body {
	text-align: center;
	overflow-x: hidden;
	min-height: 100vh;
}
body.flex-box {
	flex-direction: column;
	justify-content: flex-start;
}
.frame {
	width: 100%;
	position: relative;
	z-index: 0;
}
.container {
	width: 100%;
 	max-width: @outerPageWidth;
	min-width: @innerPageWidth; 
	margin: auto;
	text-align: center;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
.panel {
 	width: @innerPageWidth; 
	margin: auto;
}
.center.frame {
	flex-grow: 1; /* the center frame always fill free space of page from top to bottom */
}

/* Nested Frames END */


/* Basic Reusable Components START */

/* Simple Layout */
/* no specific html stucture needed */

.clear {
	clear: both;
	display: block;
	height: 0;
	line-height: 0;
	overflow: hidden;
}
.flex-box {
	display: box; /* OLD - Android 4.4- */
	display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox; /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Chrome */
	display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.ellipsis-line {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ellipsis-line[title]::after,
.ellipsis-line [title]::after {
	content: attr(title);
}

/* Basic Reusable Components END */


/* normalize-8.0.0-plus module END */