* {
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}

::selection {
	color: #000;

	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.99);
}

::-moz-selection {
	color: #000;

	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.99);
}



body > nav > a,
body > nav > textarea {
	display: block;
	float: left;
	overflow: hidden;

	width: 76px;
	height: 76px;

	padding: 3px;
	margin: 0 3px 3px 0;
	border: 3px solid #444;
	outline: none;

	font-size: 12px;
	line-height: 12px;
	text-shadow: 0 0 1px #fff, 1px 1px 1px #000, -1px -1px 1px #000;
	text-transform: none !important;


	background-color: #222;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;

	-webkit-transition: -webkit-transform 200ms;
	-moz-transition: -moz-transform 200ms;
	-o-transition: -o-transform 200ms;
	-ms-transition: -ms-transform 200ms;
	transition: transform 200ms;

	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

@media screen and (min-width: 400px) and (max-width: 480px){
	body > nav > a,
	body > nav > textarea {
		width: 73px;
		height: 73px;
	}
}

body > nav > a:hover {
	position: relative;
	z-index: 1000;

	border-color: #666;
}

body > nav > a:not(.no-hover):hover {
	/*box-shadow: 0px 0px 10px 3px #fff;*/

	-webkit-transform: scale(1.05) rotate(10deg);
	-moz-transform: scale(1.05) rotate(10deg);
	-o-transform: scale(1.05) rotate(10deg);
	-ms-transform: scale(1.05) rotate(10deg);
	transform: scale(1.05) rotate(10deg);
}

body > nav > .current {
	border-color: #aaa;
	padding: 2px;

	font-weight: bold;
	font-size: 11px;
	text-transform: uppercase !important;
	line-height: 1;
}

body > nav > textarea {
	-webkit-touch-callout:default;
	-webkit-user-select:text;
	-moz-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

body > nav > textarea:hover {
	border-color: #666;
}



body > nav > .home {
	background: #222 url(/static/frontend/img/ui/ifschleife-logo-small.png) scroll no-repeat center center;
    background-size: 64px 64px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5),
only screen and (min-resolution: 144dpi),
only screen and (min-resolution: 1.5dppx){
    body > nav > .home {
        background-image: url(/static/frontend/img/ui/ifschleife-logo-medium.png);
    }
}

body > nav > textarea {
	color: #fff;
	font-family: opensanslight, sans-serif;
	font-size: 12px;

	resize: none;
}

body > nav > .outofviewport {
	background-image: url(/static/frontend/img/ui/loading.gif);
	background-size: auto;
}



body > #touch-scroll-strip {
    display: none;
}

body > #touch-scroll-strip.too-narrow {
    visibility: hidden;
    pointer-events: none;
}

body > #touch-scroll-strip > .up {
    position: absolute;

    top: calc(50% - 75px);
    right: calc(50% - 8px);

    font-size: 16px;
}

body > #touch-scroll-strip > .down {
    position: absolute;

    bottom: calc(50% - 75px);
    right: calc(50% - 8px);

    font-size: 16px;
}

@media screen and (max-width: 768px){
    body > #touch-scroll-strip {
        display: block;
        opacity: 0.5;

        position: fixed;
        top: 15px;
        right: 15px;
        bottom: 30px;

        min-width: 12px;

        background-color: #222;

        -webkit-backface-visibility: hidden;
    	-webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@media screen and (max-width: 319px){
    body > #touch-scroll-strip {
        display: none !important;
    }
}



.closer {
	clear: both;

	height: 26px;

	margin-top: 15px;
	padding: 0 4px 2px 4px;

	line-height: 26px;
	text-align: center;

	background-color: #444;

	cursor: pointer;
}

.closer:hover {
	background-color: #666;
}



article {
	position: relative;
	clear: both;
	overflow: hidden;

	padding: 15px;
	margin: 15px -15px 15px -15px;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}



article aside {
	float: left;

	width: 300px;
	min-height: 100px;

	margin-right: 15px;
}

@media screen and (max-width: 959px) {
	article aside {
		width: 160px;
	}
}

@media screen and (max-width: 480px) {
	article aside {
		width: 100%;

        margin-bottom: 25px;
        margin-left: auto;
        margin-right: auto;
	}
}



article aside .mainimage {
	display: block;
	overflow: hidden;
	position: relative;

	margin-bottom: 8px;
	border: 3px solid #444;

	background-color: #222;

	-webkit-transition: -webkit-transform 200ms;
	-moz-transition: -moz-transform 200ms;
	-o-transition: -o-transform 200ms;
	-ms-transition: -ms-transform 200ms;
	transition: transform 200ms;
}

article aside .mainimage > img {
    width: 300px;
}

@media screen and (max-width: 959px) {
	article aside .mainimage > img {
		width: 160px;
	}
}

@media screen and (max-width: 480px) {
	article aside .mainimage > img {
		width: 100%;
	}
}

article aside .mainimage:hover {
	border-color: #666;
	z-index: 1000;

	cursor: pointer;
}

article aside .mainimage:not(.no-hover):hover {
	-webkit-transform: scale(1.02);
	-moz-transform: scale(1.02);
	-o-transform: scale(1.02);
	-ms-transform: scale(1.02);
	transform: scale(1.02);

	/*box-shadow: 0px 0px 10px 3px #fff;*/
}

article aside .mainimage > * {
	float: left;
}



article aside .image,
article aside .imagedummy {
	display: block;
	float: left;
	overflow: hidden;

	width: 146px;
	height: 146px;

	margin-right: 8px;
	margin-bottom: 8px;
	border: 3px solid #444;

	background-color: #222;

	-webkit-transition: -webkit-transform 200ms;
	-moz-transition: -moz-transform 200ms;
	-o-transition: -o-transform 200ms;
	-ms-transition: -ms-transform 200ms;
	transition: transform 200ms;
}

article aside .imagedummy {
	opacity: 0.25;
}

@media screen and (max-width: 959px) {
	article aside .image,
	article aside .imagedummy {
		width: 76px;
		height: 76px;
	}

	article aside .image > img {
		width: 71px;
		height: 71px;
	}
}

@media screen and (max-width: 480px) {
	article aside .image,
	article aside .imagedummy {
		width: 46px;
		height: 46px;
	}

	article aside .image > img {
		width: 46px;
		height: 46px;
	}
}

article aside .image:hover {
	border-color: #666;
	z-index: 1000;

	cursor: pointer;
}

article aside .image:not(.no-hover):hover {
	-webkit-transform: scale(1.04);
	-moz-transform: scale(1.04);
	-o-transform: scale(1.04);
	-ms-transform: scale(1.04);
	transform: scale(1.04);
	/*box-shadow: 0px 0px 10px 3px #fff;*/
}

article aside .image.rowlast,
article aside .imagedummy {
	margin-right: 0;
}

article aside .image > * {
	float: left;
}



article aside .links {
	clear: both;
	overflow: hidden;

	border: 3px solid #444;
	padding: 0 4px 2px 4px;

	line-height: 20px;

	background-color: #222;
}

article aside .links:hover {
	border-color: #666;
}

article aside .links a {
    display: block;
    position: relative;

    min-height: 20px;

    padding: 4px 0 2px 20px;
}

article aside .links a span {
    position: absolute;

    top: 7px;
    left: 1px;
}



article h1 {
	max-width: 960px;

	font-size: 24px;
	line-height: 1.1em;

	-webkit-touch-callout:default;
	-webkit-user-select:text;
	-moz-user-select:text;
	-ms-user-select:text;
	user-select:text;
}



article .tags {
	height: 26px;
	max-width: 960px;

	margin-bottom: 20px;
	padding: 0 4px 2px 4px;

    font-size: 13px;
    line-height: 21px;
}



article section {
	max-width: 960px;
}

article section,
article section * {
	-webkit-touch-callout:default;
	-webkit-user-select:text;
	-moz-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

article aside ~ section {
	padding-left: 315px;
}

@media screen and (max-width: 959px) {
	article aside ~ section {
		padding-left: 175px;
	}
}

@media screen and (max-width: 480px) {
	article aside ~ section {
		padding-left: 0;
	}
}



article section > iframe.markdown {
	overflow: hidden;

	width: 100%;
}


article section .soloimage {
	cursor: pointer;
}

article section .soloimage > img {
	max-width: 100%;
}



footer {
	position: fixed;

	right: 0;
	bottom: 0;
	left: 0;
	height: 25px;

	padding-left: 50%;
	border-top: 1px solid #444;

	font-size: 10px;
	line-height: 25px;
	color: #999;
	text-shadow: 1px 1px 1px #000, -1px -1px 1px #000;

	background-color: #222;

	-webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

footer > span {
	display: inline-block;

	margin-left: -120px;

	cursor: default;
}

footer:hover {
	color: #fff !important;
}

footer  a {
	color: #999;
}

footer:hover  a {
	color: #fff;
}
