@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;500&display=swap');
:root{
	--aw:#a6deff;/** aktiv Taste w */
	--ab:#216f9d;/** aktiv Taste b */
	
	--dw:#dbeffd;/** Dur Taste w */
	--db:#4b7497;/** Dur Taste b */
	
	--mw:#fbe0e9;/** moll Taste w */
	--mb:#b77b8f;/** moll Taste b */
	
	--cm:#e1a9bb;/** moll Textfarbe */
	--tad:#3b79a7;/** Dur Textfarbe */
	--tam:#bd2a59;/** moll Textfarbe */
	
	--gt:#00f1ff;/** Grundton */
	--tz:#a0d30b;/** Terz */
	--qt:#ff6c00;/** Quinte */
	
	--ap:#2196F3;/** aktives Piano */
	--bg:#d8e0e9;/** aktives Piano */
	--g1:#b8cbdb;/** Footer */
	--g2:#708fa9;/** grau */
	--g3:#becee1;/** grau */

	--fn:'Arial','Verdana',sans-serif;
	--ft:'Teko', sans-serif;
	--fs:_serif;/** Schrift */
	
	--pt:2.5em;
	
}
@keyframes fadein {
	from { opacity:0; }
	to { opacity:1; }
}

@-moz-keyframes fadein { /* Für Firefox */
	from { opacity:0; }
	to { opacity:1; }
}

@-webkit-keyframes fadein { /* Für Safari und Chrome */
	from { opacity:0; }
	to { opacity:1; }
}

@-o-keyframes fadein { /* Für Opera */
	from { opacity:0; }
	to { opacity:1; }
}
#content{
	animation: fadein 1.5s;
    -moz-animation: fadein 1.5s; /* Für Firefox */
    -webkit-animation: fadein 1.5s; /* Für Safari und Chrome */
    -o-animation: fadein 1.5s; /* Für Opera */
}
[data-oc] h1:after,#selection,
.sel .close,
nav,
#showSingle .close,
#sOnOff{
    background: url(/img/sprite3.svg) no-repeat #fff 0 0;
    background-size: 200% auto;
}

.sel[data-closed] .close,
#showSingle .close{
    background-position: 13.6% 72.4%;
    background-size: 315% auto;
}
body{
	margin:0;
	padding:0;
	background:var(--bg);
}
html,body{
	font-family:var(--fn);
	color:#000;
}
h1.ph{
    top: 0em;
	left: 0;
    background:var(--ap);
    padding:0 0 0 0.3em;
    color: #fff;
    font-weight: 500;
    margin:0 0 .4em 0;
	height:1.3em;
}
#tachords .ph b{
	text-transform:uppercase;
}
[data-noteName]{
	margin-right: .1em;
}
h1,h2,h3,a{
	font-family: var(--ft);
}
h2{
	font-size: 1.5em;
    margin: 0;
    font-weight: normal;
    background: #fff;
}
[data-closed] h2{
	margin: 0 .1em .2em 0;
}
[data-closed] h2[data-click]{
	border-radius: .2em;
	text-align: center;
}
h2 .t{
	margin: 0 .3em 0 .1em;
	font-family:var(--fs);
	font-weight: normal;
	padding:0 .3em;
	color: #000;
    border-radius: .3em;
	background: var(--bg);
}
/** Menu */
nav{
	position:fixed;
	top:0;
	width:100%;
	z-index:99;
}
nav ul{
	left:100vw;
	background:#fff;
	margin:var(--pt) 0 0;
	padding:0;
	width:100vw;
	height:calc(100vh - var(--pt));
	position:absolute;
	transition:left .4s;
}
nav li{
	list-style:none;
	margin:0 0 .5em 0;
	text-align: center;
	
}
nav li a{
	text-decoration:none;
	color: var(--ap);
	font-size:2em;
}
[data-menu] #selection {
    background-position: 0 50%;
}
[data-menu] nav ul {
    left: 0;
	padding: 1em;
    box-sizing: border-box;
}
nav h2{
	display: block;
    margin: .13em auto 0 auto;
    position: absolute;
    width: 100%;
    text-align: center;
    background: transparent;
	z-index:-1;
}
#selection,
#sOnOff{
	display:inline-block;
    height: var(--pt);
    width:  var(--pt);
    float: right;
	background-color:#fff;
}
#sOnOff{
	content:"";
	float:left;
	background-position: 100% 96%;
}
[data-sound] #sOnOff{
	background-position: 0% 96%;
}
li[data-active] a{
	background: var(--ap);
    color: #fff;
    width: 100%;
    display: block;
    border-radius: .3em;
}
/** ---------- */
[data-ta=Dur] h2 .t{
	background:var(--dw);
}
[data-ta=moll] h2 .t{
	background:var(--mw);
}
#content{
	padding:.5em;
	margin:3em .3em;
}
.cbox{
	background:var(--g3);
    max-width: 700px;
    margin: 0 auto 1em auto;
}
.mw,
#showSingle{
	max-width:400px;
	padding: .5em;
	margin: 0 auto;
}
footer{
	width: 100%;
    font-size: .9em;
    bottom:0;
    background:var(--g1);
	color:#fff;
    padding: 0.5em 1em;
}
footer{
	position:fixed;
}
.spacer{
	height:1em;
}
.clear{
	clear:both;
}
.chordShort{
	font-family: var(--fs);
    font-size: .9em;
    font-weight: normal;
    padding: 0 .5em 0 .5em;
}
/** keys */
.piano{
	width:100%;
}
.piano .keys{
	display:flex;
	height:11em;
	background: #fff;
}
.piano[data-oct="2"] .keys{
	height:6em;
}
h2.desc{
    border: 1px solid #000;
    border-bottom: 0;
    font-size: 1.7em;
    margin: 0;
    display: block;
    font-family: var(--fs);
    font-weight: lighter;
    height: 1.2em;
    overflow: hidden;
	box-sizing:border-box;
	width:100%;
}
.ls{
    width: 2.8em;
    display: inline-block;
	padding-left: .2em;
}
/** Layer öffnen/schliessen */
[data-oc] h1:after,
#showSingle .close{
    content: "";
    float: right;
    height: 1.3em;
    width: 1em;
    text-align: center;
    color: #000;
    box-sizing: border-box;
    width: 1.3em;
	background-position: 0% 50%;
	background-size: 200%;
}
[data-oc][data-closed] h1:after{
	height: 1.3em;
    background-position: 10% 73.6%;
    background-size: 250%;
    background-color: transparent;
}

[data-closed] .keys,
[data-closed] .uk{
	display:none;
}
[data-closed] .mw{
	padding:0 0 0 .3em;
	display: inline-block;
	font-size: .98em;
}
[data-closed] h2 .t{
	width: 3.9em;
    display: inline-block;
    font-size: .9em;
	text-align: center;
	text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
	float: right;
    margin:.2em .2em 0 0;
}
/** keys */
.key{
	display: inline-block;
	height: 100%;
}
.key.w{
	width:3.4em;
	border:1px solid #000;
}
.key.b{
	width: 0; 
}
.key.b:after{
    content: "";
    display: block;
    background: #111;
    width: 1.8em;
    height: 6.9em;
    margin: 0 0 0 -1.0em;
    position: absolute;
    border: 1px solid #000;
}
.key[data-act]{
	background:var(--aw);
}
.key[data-act]:after{
	background:var(--ab);
}
[data-ta="Dur"] .key[data-act]{
	background:var(--dw);
}
[data-ta="moll"] .key[data-act]{
	background:var(--mw);
}

[data-ta="Dur"] .key[data-act]:after{
	background:var(--db);
}
[data-ta="moll"] .key[data-act]:after{
	background:var(--mb);
}

[data-oct="2"] .key.w{
	width:6.5%;
}
[data-oct="2"] .key.b:after{
    width: .8em;
    height: 62px;
    margin-left: -.45em;
}
/** Tonart Label */
.ta,.para{
	text-align: center;
	width: 5em;
	text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.ta{
	float:left;
	background:var(--dw);
	text-transform: capitalize;
}
[data-ta="moll"] .ta{
	background:var(--cm);
	text-transform: lowercase;
}

.ta:after{
    content: "- Dur";
	margin-left:.3em;
    font-size: .9em;
    font-family: Arial;
}
[data-ta="moll"] .ta:after{
    content: "- moll";
}
.kk{
    font-size: .96em;
    display: inline-block;
    margin: -1.1em 0 0 .3em;
    padding-top: .8em;
}
.para{
	float:right !important;
	color:var(--tam);
	text-transform: lowercase;
}
.para:after{
	 content: " - moll";
}
[data-ta="moll"] .para:after{
	 content: " - Dur";
}
[data-ta="moll"] .para{
	color:var(--tad);
	text-transform: capitalize;
}
/** Punkte auf Tasten */
.dot,
.steps li:before{
	background:var(--gt);
    display: block;
    width: 1.4em;
    height: 1.4em;
    border-radius: 100%;
    margin: 9em auto 0 auto;
	display:none;
}
[data-oct="2"] .dot{
    margin-top: 4.8em;
    width: .8em;
    height: .8em;
}
.b .dot{
	z-index: 41;
    position: absolute;
    margin-top:4.2em;
    margin-left: -.75em;
}
[data-oct="2"] .b .dot{
    margin-top: 2.8em;
    margin-left: -.3em;
}
.dot[data-act]{
	display:block;
}
.dot[data-act="1"],
li[data-act="1"]:before{
	background:var(--tz);
}
.dot[data-act="2"],
li[data-act="2"]:before{
	background:var(--qt);
}
[data-ta="dim"] .dot[data-act="1"],
[data-ta="dim"] .dot[data-act="2"]{
	display:none;
}
.steps,.uk{
	list-style: none;
    margin: 0 0 .7em 0;
    padding: .3em;
}
.uk{
	background:#fff;
}
.steps li,
.uk li{
	font-size:.9em;
	display: inline-block;
    margin-right: .9em;
}
.uk li{
	padding: .3em .4em;
}

.uk li[data-act]{
	background:#000;
	color:#fff;
}
.steps li:before{
    content: "";
    display: inline-block;
    margin: 0 .3em 0 0;
    width: .8em;
    height: .8em;
}
.terz span{
	display:none;
}
[data-ta="moll"] .terz span{
	display:inline-block;
	margin-right: .3em;
}
/** einzelnes Piano */
#showSingle{
	background:var(--g2);
    padding: 1px 0 1px 0;
	display:none;
}
#showSingle[data-open]{
	display:block;
}
#showSingle .close{
    content: "";
    height: 1.7em;
    width: 1.7em;
    margin: .2em .3em 0 0;
}
#showSingle .key:not([data-act]){
	background:#fff;
}
h2[data-act]{
	background:var(--g2);
	color:#fff;
	border-radius: .2em;
}
/** ------------------------- min 600 -------------------------------------------------------- */
@media (min-width: 600px){
	nav ul{
		width:300px;
	}
	[data-menu] nav ul {
        left: calc(100vw - 300px);
    }
	.mw {
		display: inline-block;
		width: 100%;
		margin: 0 .5em .5em .5em;
	}
	[data-closed] .mw{
		width:7.5em;
		margin-right:0;
	}
	#acsteps[data-closed] .mw{
		width:13em;
	}
	[data-closed] .ls{
		width: 4em;
		display: inline-block;
		text-align: center;
	}
	[data-input] .key,
	[data-input] .desc,
	[data-click],
	.close,
	.uk li{
		cursor:pointer;
	}
}