*
{
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input:not([type=checkbox]):not([type=radio]) 
{
    -webkit-appearance: none;
    -moz-appearance: none;
	appearance: none;
	outline: none;
}

body,
html
{
	width: 100%;
	height: 100%;
	padding: 0;
}
body
{
	-webkit-touch-callout: none;          
    -webkit-text-size-adjust: none;  
    -webkit-user-select: none;
	
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #888;
	background: #f4f4f4;
}

#app
{
	width: 100%;
	min-height: 100%;
	padding: 25px;
	padding-left: 75px;
	margin-top: 60px;
}
.container::after
{
	display: block;
	content: "";
	clear: both;
}
#app > *
{
	margin-bottom: 25px;
}

/* HEADER & NAVIGATION */

body > header
{
    display: table;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	height: 60px;
	border-bottom: 1px solid #e8e8e8;
}
    body > header > *
    {
        display: table-cell;
    }
	body > header .logo
	{
		width: 140px;
		background-image: url(logo.png);
		background-repeat: no-repeat;
		background-size: auto 80%;
		background-position: 10px center;
		opacity: 0.75;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}
	body > header .logo:hover
	{
		opacity: 1;
	}
	body > header nav
	{
		width: 210px;
		padding-right: 10px;
		text-align: right;;
	}
		body > header nav ul
		{
			padding: 0;
			list-style: none;
		}
			body > header nav li
			{
				display: inline-block;
			}
				body > header nav li a
				{
					display: block;
					font-size: 150%;
					padding: 15px 20px;
					color: rgba(0,0,0, 0.4);
				}
				body > header nav li a:hover
				{
					background: #f8f8f8;
					color: #588b1b;
				}

h1
{
    color: #333;
    font-size: 120%;
    padding: 15px;
    text-align: center;
}

.panel
{
	padding: 20px 25px;
	border-radius: 8px;
	-webkit-box-shadow: 1px 2px 15px rgba(0,0,0, 0.03);
	box-shadow: 1px 2px 15px rgba(0,0,0, 0.03);
	background: #fff;
	margin-bottom: 20px;
	margin-top: 10px;
}
.container .panel
{
	width: 49%;
	float: left;
}
.container .panel:nth-child(2)
{
	float: right;
}
	.panel > header
	{
		font-size: 120%;
		color: #333;
		margin-left: 90px;
		margin-right: 10px;
		margin-top: -5px;
		margin-bottom: 25px;
		border-bottom: 1px solid #eaeaea;
	}
		.panel > header .icon
		{
			float: left;
			width: 70px;
			height: 70px;
			border-radius: 50%;
			text-align: center;
			font-size: 150%;
			padding-top: 15px;
			margin-left: -90px;
			margin-top: -30px;
			-webkit-box-shadow: 1px 3px 15px rgba(0,0,0, 0.1);
			box-shadow: 1px 3px 15px rgba(0,0,0, 0.1);
			color: rgba(0,0,0, 0.33);
		}
		.panel h1
		{
			font-size: 150%;
			text-align: center;
			color: #333;
			margin-bottom: 25px;
			padding-bottom: 10px;
			border-bottom: 1px solid #eaeaea;
		}
		.panel > header h2
		{
			font-size: 120%;
			float: left;
			color: #333;
		}
			.panel > header span
			{
				margin-top: 5px;
				font-size: 75%;
				float: right;
				color: #aaa;
			}
		.panel p
		{
			margin-bottom: 15px;
		}

body > nav
{
	position: fixed;
    overflow-x: hidden;
	left: 0;
	top: 80px;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	background: #262626;
}
	body > nav ul
	{
		padding: 15px 0;
		list-style: none;
		width: 60px;
		-webkit-transition: width 0.3s;
		-o-transition: width 0.3s;
		transition: width 0.3s;
	}
	body > nav ul:hover
	{
		width: 220px;
	}
		body > nav ul li
		{
			height: 65px;
			white-space: nowrap;
		}
		body > nav ul li.separator
		{
			height: auto;
			width: 85%;
			margin: 0 auto;
			opacity: 0;
			border-bottom: 1px solid #5d5d6d;
			-webkit-transition: opacity 0.3s;
			-o-transition: opacity 0.3s;
			transition: opacity 0.3s;
		}
		body > nav ul:hover li.separator
		{
			opacity: 1;
		}
			body > nav ul a
			{
				display: block;
				padding: 20px;
				padding-left: 15px;
				padding-right: 35px;
				color: rgba(255,255,255, 0.80);
				text-decoration: none;
				-webkit-transition: padding 0.3s, background 0.3s, color 0.3s;
				-o-transition: padding 0.3s, background 0.3s, color 0.3s;
				transition: padding 0.3s, background 0.3s, color 0.3s;
			}
			body > nav ul:hover a
			{
				padding: 20px 25px;
				color: #fff;
			}
			body > nav ul a:hover
			{
				background: #6baf51;
			}
				body > nav ul a i
				{
					font-size: 150%;
					margin-right: 15px;
					width: 30px;
					text-align: center;
				}
				body > nav ul a span
				{
					color: #b7b7b7;
					opacity: 0;
					-webkit-transition: opacity 0.3s, color 0.3s;
					-o-transition: opacity 0.3s, color 0.3s;
					transition: opacity 0.3s, color 0.3s;
				}
				body > nav ul:hover a span
				{
					opacity: 1;
				}
				body > nav ul a:hover span
				{
					color: #fff;
				}

.panel a,
.front a
{
	color: #aabc95;
	text-decoration: none;
}
.msg a
{
	color: #93a77c;
	text-decoration: none;
}
.panel a:hover,
.front a:hover
{
	text-decoration: underline;
}

button,
a.button
{
	background: #aaa;
	border: 0;
	font-size: 103%;
	text-transform: uppercase;
	color: #fff;
	padding: 10px 30px;
	border-radius: 50px;
	cursor: pointer;
	-webkit-transition: background 0.3s;
	-o-transition: background 0.3s;
	transition: background 0.3s;
}
button:hover,
a.button:hover
{
	background: #888;
    text-decoration: none;
}
button.positive,
a.button.positive
{
	background: #6baf51;
}
button.positive:hover,
a.button.positive:hover
{
	background: #52863e;
}
button.negative,
a.button.negative
{
	background: #b15155;
}
button.negative:hover,
a.button.negative:hover
{
	background: #813b3e;
}
button i,
a.button i
{
    margin-right: 5px;
}
.actions
{
	margin-bottom: 25px;
}
.actions button,
.actions a.button
{
	display: inline-block;
}
.actions > div
{
	display: inline-block;
}
.actions button,
.actions a.button
{
	padding: 8px 20px;
    text-transform: none;
    font-size: 100%;
}
.actions.filters button
{
	float: right;
	margin-left: 10px;
}
.actions.filters .filter
{
	background: #ddd;
	color: #666;
	border-radius: 30px;
	padding: 8px 15px;
	font-weight: bold;
	font-size: 90%;
	float: left;
}
.actions.container  a
{
	color: #888;
	border-radius: 50px;
	padding: 6px 20px;
	float: left;
	text-decoration: none;
	display: block;
	transition: background 0.3s, color 0.3s;
}
.actions.container  a:hover
{
	background: #e8e8e8;
	color: #666;
}

.front
{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0, 0.75);
	z-index: 2;
	visibility: hidden;
	opacity: 0;
	overflow-y: auto;
	padding-bottom: 50px;
	transition: visibility 0.5s, opacity 0.5s;
}
.front.visible
{
	opacity: 1;
	visibility: visible;
}
	.front > div
	{
		width: 90%;
		padding: 25px;
		background: #fff;
		margin: auto;
		margin-top: -50px;
		padding-bottom: 50px;
		border-radius: 10px;
		-webkit-box-shadow: 1px 1px 15px rgba(0,0,0, 0.5);
		box-shadow: 1px 1px 15px rgba(0,0,0, 0.5);
		transition: opacity 0.5s, margin-top 0.5s;
	}
	.front.visible > div
	{
		opacity: 1;
		margin-top: 50px;
		transition: opacity 0.5s, margin-top 0.5s;
	}
	.front.visible .content
	{
		overflow: auto;
	}

    .front header
    {
        margin-bottom: 15px;
        padding-bottom: 5px;
        border-bottom: 1px solid #ddd;
    }
        .front header h2
        {
            font-size: 110%;
            float: left;
        }
        .front .content h3
        {
            font-size: 100%;
        	padding-bottom: 5px;
			text-align: left;
			margin-bottom: 25px;
        	border-bottom: 1px solid #ddd;
        }
            .front header a.close
            {
                font-size: 110%;
                float: right;
                width: 30px;
                height: 30px;
                padding-top: 3px;
                text-align: center;
                border-radius: 50%;
                margin-top: -5px;
                color: #ccc;
                -webkit-transition: color 0.3s, background 0.3s;
                -o-transition: color 0.3s, background 0.3s;
                transition: color 0.3s, background 0.3s;
            }
            .front header a.close:hover
            {
                color: #999;
                background: #eee;
			}
			
#app > div:not(.loading)
{
	visibility: hidden;
	opacity: 0;
	margin-top: 25px;
	-webkit-transition: visibility 0.5s, opacity 0.5s, margin 0.5s;
	-o-transition: visibility 0.5s, opacity 0.5s, margin 0.5s;
	transition: visibility 0.5s, opacity 0.5s, margin 0.5s;
}
#app > div.visible:not(.loading)
{
	visibility: visible;
	opacity: 1;
	margin-top: 0;
	-webkit-transition: opacity 0.5s, margin 0.5s;
	-o-transition: opacity 0.5s, margin 0.5s;
	transition: opacity 0.5s, margin 0.5s;
}
.msg
{
	background: #f4f4f4;
	border: 1px solid #e8e8e8;
	padding: 25px;
}
	.msg h3,
	.msg p
	{
		margin-bottom: 10px;
	}

/* LOADING */

@-webkit-keyframes loading
{
	0%
	{
		width: 0;
		height: 0;
		margin: 16px;
		opacity: 1;
	}
	100%
	{
		width: 40px;
		height: 40px;
		margin: -5px;
		opacity: 0;
	}
}

@keyframes loading
{
	0%
	{
		width: 0;
		height: 0;
		margin: 16px;
		opacity: 1;
	}
	100%
	{
		width: 40px;
		height: 40px;
		margin: -5px;
		opacity: 0;
	}
}

.loading
{
	text-align: center;
	padding: 35px 0;
}
	.loading div
	{
		display: inline-block;
		width: 40px;
		height: 40px;
		position: relative;
	}
		.loading div::before,
		.loading div::after
		{
			position: absolute;
			display: block;
			content: "";
			width: 0;
			height: 0;
			margin: 12px;
			opacity: 0;
			border-radius: 50%;
			background: white;
			border: 5px solid #bbb;
			-webkit-animation: loading 0.8s infinite;
			animation: loading 0.8s infinite;
		}
		.loading div::after
		{
			-webkit-animation-delay: 0.4s;
			animation-delay: 0.4s;
		}

@media only screen and (max-height: 500px)
{
	body > nav
	{
		position: absolute;
	}
}
@media only screen and (min-width: 801px) and (max-width: 1000px)
{
	body
	{
		font-size: 14px;
		line-height: 1.5;
	}
}
@media only screen and (max-width: 800px)
{
	.container .panel
	{
		width: auto;
		float: none;
	}
}
@media only screen and (max-width: 600px)
{
	.panel header
	{
		margin: 0;
		margin-bottom: 25px;
	}
	.panel
	{
		margin-top: 25px;
		margin-bottom: 25px;
	}
	.panel header .icon
	{
		margin: 0 auto;
		margin-top: -50px;
		float: none;
	}
}
@media only screen and (max-width: 500px)
{
	#app
	{
		padding-left: 25px;
	}
	.panel header .icon
	{
		margin-bottom: 10px;
	}
	.panel h2,
	.panel span
	{
		float: none;
		display: block;
		text-align: center;
	}
	.panel span
	{
		margin-bottom: 5px;
	}
	body > nav
	{
		display: none;
	}
}

/* Article */

article img
{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
article .double::after
{
	display: block;
	content: "";
	clear: both;
}
	article .double p
	{
		float: left;
		width: 49%;
	}
	article .double p:nth-child(2)
	{
		float: right;
	}
article .images
{
	padding: 0;
	list-style: none;
	margin: 15px 0;
}
article .images::after
{
	display: block;
	content: "";
	clear: both;
}
	article .images.img-two li
	{
		width: 49%;
		float: left;
	}
	article .images.img-two li:nth-child(2)
	{
		float: right;
	}
	article .images.img-three li
	{
		width: 32%;
		float: left;
	}
	article .images.img-three li:nth-child(2)
	{
		margin-left: 2%;
	}
	article .images.img-three li:nth-child(3)
	{
		float: right;
	}
	article .images.img-four li
	{
		width: 23.5%;
		float: left;
	}
	article .images.img-four li:nth-child(2),
	article .images.img-four li:nth-child(3)
	{
		margin-left: 2%;
	}
	article .images.img-four li:nth-child(4)
	{
		float: right;
	}
	article .images img
	{
		margin-bottom: 0;
	}
article .par-img
{
	background: #eee;
	display: table;
	margin-bottom: 15px;
}
article .par-img > div
{
	display: table-row;
}
	article .par-img .text
	{
		display: table-cell;
		vertical-align: middle;
		padding: 0 50px;
	}
	article .par-img p
	{
		text-align: center;
		margin: 0;
		margin-bottom: 10px;
		font-size: 120%;
		line-height: 160%;
	}
@media only screen and (max-width: 900px)
{
	article .par-img .text
	{
		padding: 0 30px;
	}
	article .par-img p
	{
		font-size: 110%;
		line-height: 150%;
	}
}
@media only screen and (max-width: 900px)
{
	article .par-img .text
	{
		padding: 0 30px;
	}
	article .par-img p
	{
		font-size: 110%;
		line-height: 150%;
	}
}
	article .par-img .image
	{
		display: table-cell;
	}
	article .par-img img
	{
		display: block;
		min-width: 300px;
		margin-bottom: 0;
	}
article .par-img::after
{
	display: block;
	content: "";
	clear: both;
}
@media only screen and (max-width: 550px)
{
	article .par-img,
	article .par-img > div,
	article .par-img .text,
	article .par-img .image
	{
		display: block;
	}
	article .par-img .text
	{
		padding: 15px 30px;
	}
	article .par-img img
	{
		max-height: 250px;
		object-fit: cover;
		object-position: center 20%;
	}
}
article a img
{
	border: 0;
}
article a
{
	color: #d7476d;
	transition: color 0.3s;
}
article a:hover
{
	color: rgb( 180, 60, 105 );
}
article iframe
{
	width: 100%;
	height: 450px;
	margin-bottom: 15px;
	border: 0;
}
article .high-par
{
	background: #f8f8f8;
	margin-bottom: 15px;
	border-left: 10px solid #ddd;
	padding: 20px;
	padding-left: 25px;
}
	article .high-par p
	{
		margin: 0;
	}

@media only screen and (max-width: 700px)
{
	.portrait #device-warning
	{
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 1000;
		background-color: #aaa;
		background-image: url(rotate-device.png);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 80%;
	}
}

article span
{
	display: inline !important;
	font-size: 100% !important;
	opacity: 1 !important;
	float: none !important;
	padding: 0 !important;
	color: inherit !important;
}
article a
{
	float: none !important;
	display: inline !important;
}

.alternative
{
	text-align: center;
}
	.alternative .inside
	{
		/*display: none;*/
	}
		.alternative label
		{
			display: block;
			text-align: center;
		}
.switchable
{
	max-height: 1000px;
	opacity: 1;;
	overflow: hidden;
	transition: max-height 1s, opacity 1s;
}
.switchable.hidden
{
	max-height: 0;
	opacity: 0;
}