body {
	padding-top: 15px;
}

.hidden {
	display: none !important;
}

.note, .opennote {
	position: absolute;
	display: block;
	width: 28px;
	height: 28px;
	border: 2px solid #000;
	background: #000;
	border-radius: 18px;
	top: 7px;
	left: -14px;
	z-index: 100;
	color: #FFF;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 23px;
}

.fretboard {
	width: 250px;
}

.fretboard .fret {
	position: relative;
}

.fretboard .fret div {
	position: relative;
	border-top: 3px solid #ccc;
	border-left: 3px solid #ccc;
	height: 44px;
	max-width: 42px;
}

.fretboard .fret:first-of-type div {
	border-top: none;
	border-left: none;
}

.opennote {
	background: none;
	border: none;
	color: #387d8b;
	font-weight: 700;
	font-size: 18px;
}

.rootnote {
	background: #CA0700;
	border-color: #CA0700;
}

.fretboard .fret div:last-of-type {
	border-top: none;
}

.fretboard .fret div:last-of-type span {
	top: 10px;
}

.fretboard .fret:first-of-type div:last-of-type span {
	top: 7px;
}

.fretboard .fret:last-of-type div {
	border-bottom: 3px solid #ccc;
}

.fretboard .fret:last-of-type div:last-of-type {
	border-bottom: none;
}

.fret-number {
	position: absolute;
	display: block;
	top: 0px;
	left: -58px;
	font-size: 1.5em;
	font-weight: 700;
	text-align: right;
	width: 30px;
	color: #bbbbbb;
}

.fret-dot {
	position: absolute;
	display: block;
	width: 33px;
	height: 33px;
	border: 2px solid #e7e7e7;
	background: #e7e7e7;
	border-radius: 18px;
	top: 4px;
	left: 3px;
	z-index: 1;
}

.fret-12 .fret-dot:first-of-type {
	left: -38px;
}

.fret-12 .fret-dot {
	left: 44px;
}

.keyType {
	margin-top: 25px;
}

.selectKey .btn-outline-primary,
.keyType .btn-outline-primary {
	--bs-btn-color: #387d8b;
	--bs-btn-border-color: #387d8b;
	--bs-btn-hover-bg: #387d8b;
	--bs-btn-hover-border-color: #387d8b;
	--bs-btn-active-bg: #387d8b;
	--bs-btn-disabled-color: #387d8b;
	--bs-btn-disabled-border-color: #387d8b;
}

.selectKey .btn.active,
.keyType .btn.active,
.selectKey :not(.btn-check)+.btn:active,
.keyType :not(.btn-check)+.btn:active {
	border-color:  #387d8b;
}

/*
.fretboard .table-bordered {
	border: none;
}

.fretboard .table>tbody>tr>td {
	vertical-align: middle;
	position: relative;
}

.fretboard .table-bordered>tbody>tr>td {
	border: 3px solid #ccc;
}

.fret td {
	height: 44px;
	width: 16.66%;
}

.fret td.string-1 {
	border-left: none !important;
	border-bottom: none !important;
	border-top: none !important;
}

.fret-number {
	position: absolute;
	display: block;
	top: 8px;
	left: -15px;
	font-size: 1.5em;
	font-weight: 700;
	text-align: right;
	width: 30px;
	color: #ccc;
}

.fret-dot {
	position: absolute;
	display: block;
	width: 33px;
	height: 33px;
	border: 2px solid #eee;
	background: #eee;
	border-radius: 18px;
	top: 4px;
	left: 3px;
	z-index: 1;
}

.fret-12 .fret-dot:first-of-type {
	left: -38px;
}

.fret-12 .fret-dot {
	left: 44px;
}

.dot {
	position: absolute;
	display: block;
	width: 25px;
	height: 25px;
	border: 2px solid #000;
	background: #000;
	border-radius: 15px;
	top: 8px;
	left: 28px;
	z-index: 100;
}

.fret .string-1 .dot {
	top: 10px;
	left: 29px;
}

.fret .string-2 .dot,
.fret .string-3 .dot,
.fret .string-4 .dot {
	left: 27px;
}

.dot.red {
	background: #CA0700;
	border-color: #CA0700;
}

.keys,
.type {
	margin-bottom: 25px;
}

.legend {
	width: 120px;
	text-align: left;
}

.legend .dot {
	position: relative;
	top: 1px;
	left: 1px;
}

.legend label {
	position: relative;
	top: -21px;
	left: 40px;
}

/*
 * iPhone 5, 5s, 5c & iPhone SE
 *
@media only screen and (min-device-width : 320px) and (max-device-width : 568px)
and (orientation : portrait) {
	body {
		padding-top: 7px;
	}

	.fretboard {
		width: 200px;
	}

	.fret td {
		height: 30px;
	}

	.fret-dot {
		top: 2px;
		width: 24px;
		height: 24px;
	}

	.fret-12 .fret-dot:first-of-type {
		left: -30px;
	}

	.fret-12 .fret-dot {
		left: 36px;
	}

	.dot {
		top: 3px;
		left: 22px;
		width: 20px;
		height: 20px;

	}

	.fret .string-2 .dot,
	.fret .string-3 .dot,
	.fret .string-4 .dot {
		left: 22px;
	}


	.fret .string-1 .dot {
		top: 5px;
		left: 23px;
	}

	.keys,
	.type {
		margin-bottom: 20px;
	}

}

/*
 * iPhone 6 & 6s
 *
@media only screen and (min-device-width : 375px) and (max-device-width : 667px)
and (orientation : portrait) {
	body {
		padding-top: 15px;
	}

	.fret td {
		height: 40px;
	}

	.fret-dot {
		top: 2px;
	}

	.dot {
		top: 6px;
	}

	.fret .string-1 .dot {
		top: 8px;
	}

	.keys,
	.type {
		margin-bottom: 20px;
	}
}

/*
 * iPhone 6 Plus & 6s Plus
 *
@media only screen and (min-device-width : 414px) and (max-device-width : 736px)
and (orientation : portrait) {
}

/*
 * iPad & iPad Mini Landscape
 *
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)
and (orientation : landscape) {
	.fret td {
		height: 42px;
	}

	.fret-dot {
		top: 3px;
	}

	.dot {
		top: 7px;
	}

	.fret .string-1 .dot {
		top: 9px;
	}
}

/*
 * iPad & iPad Mini Portrait
 *
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)
and (orientation : portrait) {
	.fret td {
		height: 58px;
	}

	.fret-dot {
		top: 11px;
	}

	.dot {
		top: 15px;
	}

	.fret .string-1 .dot {
		top: 17px;
	}
}