/*
Fonts at songpage:
TheSans Regular
	- header song title
	- search field

TheSans, bold => TheSansB2_700_
	- Instant chords for any song
	- capitalized menu items / buttons

TheSans, light italic => TheSansB2_300i
	- favourite, rate the quality of the chords

TheSans, normal => TheSansB2_500
	- thumbnail song title
	- Diagram texts
*/

@font-face {
	font-family: "TheSans";
	font-weight: 300;
	font-style: italic;
	font-display: swap;

	src: url("fonts/TheSansB_300i.eot");
	src: url("fonts/TheSansB_300i.eot?#iefix") format("embedded-opentype"),
		url("fonts/TheSansB_300i.woff2") format("woff2"),
		url("fonts/TheSansB_300i.woff") format("woff"),
		url("fonts/TheSansB_300i.svg#TheSansB_300i") format("svg");
}
@font-face {
	font-family: "TheSans";
	font-weight: normal;
	font-style: normal;
	font-display: swap;

	src: url("fonts/TheSansB_500_.eot");
	src: url("fonts/TheSansB_500_.eot?#iefix") format("embedded-opentype"),
		url("fonts/TheSansB_500_.woff2") format("woff2"),
		url("fonts/TheSansB_500_.woff") format("woff"),
		url("fonts/TheSansB_500_.svg#TheSansB_500_") format("svg");
}
@font-face {
	font-family: "TheSans";
	font-weight: bold;
	font-style: normal;
	font-display: swap;

	src: url("fonts/TheSansB_700_.eot");
	src: url("fonts/TheSansB_700_.eot?#iefix") format("embedded-opentype"),
		url("fonts/TheSansB_700_.woff2") format("woff2"),
		url("fonts/TheSansB_700_.woff") format("woff"),
		url("fonts/TheSansB_700_.svg#TheSansB_700_") format("svg");
}
@font-face {
	font-family: "TheSans";
	font-weight: bold;
	font-style: italic;
	font-display: swap;

	src: url("fonts/TheSansB_700i.eot");
	src: url("fonts/TheSansB_700i.eot?#iefix") format("embedded-opentype"),
		url("fonts/TheSansB_700i.woff2") format("woff2"),
		url("fonts/TheSansB_700i.woff") format("woff"),
		url("fonts/TheSansB_700i.svg#TheSansB_700i") format("svg");
}
@font-face {
	font-family: "ChordFont";
	font-weight: normal;
	font-style: normal;
	font-display: swap;

	src: url("fonts/TheSans_chord_font.woff2") format("woff2"),
		url("fonts/TheSans_chord_font.woff") format("woff");
}

::-webkit-input-placeholder {
	color: #666;
}
::-moz-placeholder {
	color: #666;
}
::-ms-clear {
	width: 0;
	height: 0;
}
input:not(.base-Input-input):focus::-webkit-input-placeholder {
	color: #999;
}
input:not(.base-Input-input):focus::-moz-placeholder {
	color: #999;
}
::selection,
input:not(.base-Input-input)::selection {
	background: #0A8282;
	color: white;
}
::-moz-selection,
input:not(.base-Input-input)::-moz-selection {
	background: #0A8282;
	color: white;
}
button::-moz-focus-inner {
	padding: 0;
	border: 0
}
html, body {
	margin: 0;
}
body {
	font: 11pt 'TheSans', Arial, sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-min-device-pixel-ratio: 1.5;
	background: #f7f4f2;
	cursor: default;
	color: #333;
	overflow-y: auto;
	overflow-x: hidden;
}
/* Blog */
body.is-wp {
	background: white;
}
#background, #bgDefault {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
#header {
	position: sticky;
	top: 0;
	z-index: 2;
}
#main {
	z-index: 1;
}
#youtube.youtube-consent {
	background: black;
	color: white;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
}
#content {
	max-width: 970px;
	margin: 75px auto 0 auto;
	position: relative;
	padding: 0 6px 6px 6px;
	z-index: 1;
	background: white;
	overflow-anchor: none; /* https://github.com/CassetteRocks/react-infinite-scroller/issues/70 */

	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 55px);
}
.songpage #content {
	background: transparent;
	margin-top: 45px;
	padding: 0;
	transition: margin 100ms ease-in;
}
.chord_diagramspage #content {
	padding: 0;
}
h1, h2, h3, h4 {
	font-family: 'TheSans','Arial Narrow', sans-serif;
	font-weight: normal;
	color: inherit;
}
h1, h2 {
	font-size: 15pt;
}
hr {
	border: 1px solid #DFDFDF;
	border-bottom: 0;
}
nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.small {
	font-size: 10pt;
}
.logo a {
	text-align: center;
	text-decoration: none;
	margin: -5px auto 0 auto;
	display: block;
	width: 123px;
}
.logo .icon-logo {
	font-size: 48px;
}
.logo img {
	width: 107px;
	height: 32px;
	display: block;
	border: 0;
	margin: 0 auto;
}
#background {
	position: fixed;
	top: 45px;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 0;
	vertical-align: middle;
	overflow: hidden;
}
.songpage #background {
	background: #EEEEEE;
}
#bgDefault {
	background: url(/img/backgrounds/Chordify_discovery_backgrounds1.jpg) 50% top no-repeat;
	background-size: cover!important;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.profilepage #background, .archiveaction #background, .artistaction #background {
	background: white;
}
#background iframe {
	margin: 0 auto;
	max-width: 100%;
}
.ad-banner #background iframe {
	margin-top: 26px;
}
#background a img {
	width: 100%;
	height: auto;
}
#background a.active {
	z-index: 3;
	display: block;
}
.exit-popup {
	background: black;
}
.popup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1337;
	background: rgba(0,0,0,0.4);
}
.popup .box-content {
	margin: 0px auto;
	max-width: 500px;
	background: white;
	border-radius: 2px;
	overflow: auto;
	padding: 5px 10px 10px 10px;
}
.popup .icon-close {
	float: left;
	margin: 0 -9px 0 -7px;
	font-size: 16px;
}
.box-content h2 {
	font-size: 14pt;
	margin: 12px 0 5px 0;
}
.app-banner {
	display:none;background-color:#666666;
	background-size:cover;background-position:50% 70%;text-align:center;text-decoration:none;
	color:white !important;
	font-weight: bold;
	box-shadow: 0 0 7px rgba(0,0,0,0.2);
	margin: 45px 0;
}
#popup .app-banner {
	display: block;
	background-image: url('/img/ios-promotion-banner.jpg');
}
.app-banner-inner {
background:rgba(0,0,0,0.2);padding:50px 12px;
}
.smartbanner-stars-image {
	width: 88px;
	height: 15px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAPCAQAAADKF8DwAAABcUlEQVRIx9WVMW7DMAxFc4QcQUfR2DFjRh8hY0cdwUfwEXyBwkGBAt1qoOjUxWOnwkMLxNPrECUWHYpyx3wNQZIHiqQ+pc3mvoWnLTIVTZEJhCLTUBWZV5wNtFAM0q9gRsYiA32RObEvBaFUNwDeJByA3Rs8lAqnBvOkzkHsuqkBbOPQANjGoQWgNplPINwUjiPEdVETv1dJKTnGG0zIMo3B1HR0dLwwxf99XNu0r5r6RV81HVcw1z5yXMG8i99Dspz03FJBsctSB8HsVGYnmIPKiJmgY1IS3kpjHK0Q19mXcsq4SWZUGalRvTq/RcJVbvrV7v6HWZyEz9zSiTI7PacJlzfqM09Gqta4RW6cqdwQF6nXKB8A/C7cqwQZ8nXTx2O2mCFGiZ/GOQ3RPnpzfoCJp5jwXg9SJ72uMhuFZLxchjnM45V9VnazOTLn9HXOgQcCj9pGXoxgrSbjRL8rxTT9zOAYdEamrzr4Tb4Um3vVH7zbSh5eTN0FAAAAAElFTkSuQmCC);
}
.smart-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40px;
	padding: 12px 6px;
	z-index: 6;
	background-color:#3502C5;
	color: white;
}
.smart-banner-gray {
	background-color: #EEEEEE;
	color: #333333;
}
.smart-banner a, .smart-banner a:hover {
	text-decoration: none;
	display: block;
	margin-left: 28px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: white;
}
.smart-banner-gray a, .smart-banner-gray a:hover {
	color: #333333;
}
.smart-banner img.icon {
	float: left;
	margin: 3px 10px 0 0;
	overflow: hidden;
	width: 17px;
	height: 31px;
}
.smart-banner-gray img.icon {
	width: 40px;
	height: 40px;
	margin-top: 0;
}
.smart-banner .download {
	float: right;
	border-radius: 3px;
	border: 2px solid;
	font-weight: bold;
	padding: 3px 6px;
	margin: 5px 10px 0 0;
}
.smart-banner-gray .download {
	color: #339DFF;
	border: 0;
	padding: 0;
	margin: 11px 3px 0 0;
}
.smart-banner .icon-close {
	float: left;
	margin: 9px 0 0 0;
	opacity: 0.5;
	font-size: 20px !important;
}
.loader,
.loader:before,
.loader:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	animation: load7 1.8s infinite ease-in-out;
}
.loader {
	color: #ffffff;
	font-size: 10px;
	margin: 80px auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
.loader:before,
.loader:after {
	content: '';
	position: absolute;
	top: 0;
}
.loader:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.loader:after {
	left: 3.5em;
}
@-webkit-keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}
@keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}
.popup-content .loader,
.chords .loader {
	top: -10px;
	font-size: 4px;
	margin: 0 auto;
	color: #333333;
}
#youtube .loader {
	margin-top: 0;
}
.chords.loading {
	font-size: 12pt;
	font-weight: bold;
	color: #333333;
	line-height: 2em;
	text-align: center;
	padding: 30px;
}
@keyframes indeterminate{
	0%{left:-35%;right:100%}
	60%{left:100%;right:-90%}
	100%{left:100%;right:-90%}
}
@keyframes indeterminate-short{
	0%{left:-200%;right:100%}
	60%{left:107%;right:-8%}
	100%{left:107%;right:-8%}
}
.chords.loading {
	padding: 70px 0 30px 0;
}
.view-diagrams .chords.loading,
.view-leadsheet .chords.loading {
	padding: 8px 0;
}
form p {
	padding: 0;
	font: 11pt 'TheSans', Arial, sans-serif;
}
input:not(.base-Input-input)[type=text],
input:not(.base-Input-input)[type=url],
input:not(.base-Input-input)[type=email],
input:not(.base-Input-input)[type=password],
input:not(.base-Input-input)[type=button],
input:not(.base-Input-input)[type=submit],
input:not(.base-Input-input)[realType=password], /* realType is set by placeholder.js */
textarea,
.input-lookalike {
	outline: none;
	border: 0;
	margin: 0;
	padding: 9px;
	font-size: 11pt;
	border-radius: 3px;
	background-color: white;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-appearance: none;
}
textarea {
	border: 1px solid #ddd;
	margin: 6px 0;
}
form input:not(.base-Input-input)[type=text],
form input:not(.base-Input-input)[type=url],
form input:not(.base-Input-input)[type=password],
form input:not(.base-Input-input)[type=email] {
	border-radius: 0;
	padding: 12px 8px 12px 8px;
	border-bottom: 1px solid #ddd;
}
a,
a:visited {
	color: inherit;
}
input:not(.base-Input-input)[type=submit],
input:not(.base-Input-input)[type=button],
.button-premium {
	background: #34CC99;
	border: 0;
	cursor: pointer;
	border-radius: 3px;
	color:white !important;
	font: 14px "TheSans", Arial, sans-serif;
	font-weight: bold;
	text-decoration: none;
}
.button-premium,
input:not(.base-Input-input).button-premium {
	text-align: center;
	margin: 12px auto;
	float: none;
	display: inline-block;
	background: #339DFF;
	padding: 10px 30px;
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
.or {
	font-weight: bold;
	position: relative;
	text-align: center;
	color: inherit;
	margin: 10px 0;
}
.or:before, .or:after {
	content: "";
	position: absolute;
	height: 1px;
	border-bottom: 1px solid;
	border-color: inherit;
	opacity: 0.5;
	width: 60px;
	top: 44%;
}
.or:before {
	margin-left: -65px;
}
.or:after {
	margin-left: 5px;
}
iframe {
	display: block;
	border: none;
}
#mm {
	overflow: hidden;
	z-index: -1;
}
#mm iframe, #mm div, #mm a {
	margin: 0 auto;
	max-width: 100%;
}
#mm img {
	border:none;
	display: block;
}
header h1,
header h2,
header h3 {
	margin: 0;
}
.songpage.user-free #mm {
	transition: opacity 500ms ease-in;
	-webkit-transition: opacity 500ms ease-in;
	-moz-transition: opacity 500ms ease-in;
	opacity: 0;
}
.songpage.user-free.has-ad #mm {
	opacity: 1;
}
body.is-wp a:hover {
	color: #0A8282;
}
.max-duration {
	background: white;
	border-radius: 3px;
	font-size: 11pt;
	left: 20px;
	overflow: hidden;
	padding: 4px;
	position: absolute;
	top: 20px;
	text-align: center;
	z-index: 1;
}
#deezerNotification {
	z-index:2;
}
.max-duration .button-premium, .max-duration p {
	margin: 4px auto;
}
.view-diagrams .max-duration,
.view-leadsheet .max-duration {
	left: 3px;
	top: 3px;
	width: 707px !important;
}
.view-diagrams .max-duration .button-premium,
.view-leadsheet .max-duration .button-premium {
	float: right;
	margin: 4px auto;
}
.view-diagrams .max-duration p,
.view-leadsheet .max-duration p {
	float: left;
	margin: 12px 0;
}
.view-diagrams #deezerNotification .icon-deezer,
.view-leadsheet #deezerNotification .icon-deezer {
	float: left;
}
.view-diagrams #deezerNotification p,
.view-leadsheet #deezerNotification p {
	float: right;
	margin: 3px 12px;
}
.view-chords .instruments,
.view-edit .instruments {
	display: none;
}

.view-diagrams .chords-scroll,
.view-leadsheet .chords-scroll {
	white-space: nowrap;
	min-height: 0;
	overflow-x: scroll;
	overflow-y: hidden;
	scroll-behavior: smooth;
}
.view-diagrams .chords-scroll::-webkit-scrollbar,
.view-leadsheet .chords-scroll::-webkit-scrollbar {
	-webkit-appearance: none;
}
.view-diagrams .chords-scroll::-webkit-scrollbar:vertical,
.view-leadsheet .chords-scroll::-webkit-scrollbar:vertical {
	background: transparent;
	width: 0;
}
.view-diagrams .chords-scroll::-webkit-scrollbar-thumb,
.view-leadsheet .chords-scroll::-webkit-scrollbar-thumb {
	background-color: #3B9B9B;
	border: 1px solid #ddd;
	border-radius: 50px;
	min-width: 40px;
}
.view-diagrams .chords-scroll::-webkit-scrollbar:horizontal,
.view-leadsheet .chords-scroll::-webkit-scrollbar:horizontal {
	height: 15px;
}
.view-diagrams .chords-scroll,
.view-leadsheet .chords-scroll {
	scrollbar-color: #3B9B9B transparent;
}

/* No scrollbar for mobile */
@media (max-width:576px) {
	.view-diagrams .chords-scroll,
	.view-leadsheet .chords-scroll {
		/* Edge scrollbar */
		-ms-overflow-style: none;
		/* Firefox scrollbar */
		scrollbar-width: none;
	}

	/* Safari and Chrome scrollbar hide */
	.view-diagrams .chords-scroll::-webkit-scrollbar,
	.view-leadsheet .chords-scroll::-webkit-scrollbar {
		display: none;
	}
}

.view-diagrams .chords,
.view-leadsheet .chords {
	min-height: 0;
}

.chords {
	/* Create stacking context to isolate .chords positioned elements from the rest of song page e.g
	 * Header, Toolbar, YT player, PQ banner, etc
	 */
	isolation: isolate;
	padding: 1px 2px 0;
	min-height: 400px;
	margin: 0;
	background-color: #ddd;
	border-radius: 3px;
}

.chord-label, .bass-label {
	font-family: 'ChordFont';
}

.chord {
	background-color: #F8F8F8;
	border-radius: 3px;
	box-sizing: border-box;
	color: #333333;
	display: inline-block;
	margin: 1px;
	position: relative;
	text-indent: 2px;
	user-select: none;
	vertical-align: bottom;
	-webkit-user-select: none;
	-moz-user-select: none;
}
.chord:hover {
	background-color: #EEEEEE;
	cursor: pointer;
}
.barlength-4 .chord,
.barlength-4 .fake-chord {
	font-size: 2.8vw;
	padding-top: calc(6.25% - 3.5px);
	width: calc(6.25% - 3.5px);
}
.barlength-3 .chord,
.barlength-3 .fake-chord {
	font-size: 3vw;
	padding-top: calc(8.33% - 4.5px);
	width: calc(8.33% - 4.5px);
}
.chordlang-latin .barlength-4 .chord {
	font-size: 2.4vw;
}
.chordlang-latin .barlength-3 > .chord {
	font-size: 2.8vw;
}
.chords > .chord > .label-wrapper,
.chords > .chord > .label-wrapper span {
	background: inherit;
	border-radius: 4px;
	z-index: 1;
}
.chords > .chord > .label-wrapper {
	align-items: center;
	display: flex;
	height: 100%;
	pointer-events: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
.chords > .chord > .label-wrapper > .chord-label {
	z-index: 2;
}
.chord.overflow > .label-wrapper > .chord-label {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.chords .label-wrapper .bass-label {
	position: relative;
	right: 3px;
	white-space: nowrap;
}
.chords > .chord.nolabel > .label-wrapper {
	display: none;
}
div.chord-edit.overflow .label-wrapper,
div.currentChord.overflow .label-wrapper,
div.chord.overflow:hover .label-wrapper {
	z-index: 2;
}
.chord.overflow:not(.currentChord):not(.chord-edit):hover > .label-wrapper {
	z-index: 3;
}
.chord.hidden-overflow:not(.currentChord):not(.chord-edit):not(:hover) .bass-label {
	font-size: 0;
	padding: 0;
	position: absolute;
	right: 1px;
}
.chord.hidden-overflow .bass-label {
	background: transparent;
}
/* ellipsis cutoff for the bass */
.chord.hidden-overflow:not(.currentChord):not(.chord-edit):not(:hover) .bass-label::after {
	content: '..';
	font-size: 16px;
	position: relative;
	top: 3px;
}
.currentChord.overflow > .label-wrapper,
.chord-edit.overflow > .label-wrapper,
.chord.overflow:hover > .label-wrapper {
	background-color: inherit;
	box-shadow: 2px 0px 5px -1px rgba(0,0,0,0.3);
	padding-right: 4px;
	max-width: fit-content;
	min-width: fit-content;
	width: calc(150% + 6px);
}
#song.view-chords .barlength-3 .chord.hidden-overflow:hover:nth-child(12n) > .label-wrapper,
#song.view-chords .barlength-3 .overflow.chord-edit:nth-child(12n) > .label-wrapper,
#song.view-chords .barlength-3 .overflow.currentChord:nth-child(12n) > .label-wrapper,
#song.view-chords .barlength-4 .chord.hidden-overflow:hover:nth-child(16n) > .label-wrapper,
#song.view-chords .barlength-4 .overflow.chord-edit:nth-child(16n) > .label-wrapper,
#song.view-chords .barlength-4 .overflow.currentChord:nth-child(16n) > .label-wrapper,
#song.view-edit .barlength-3 .chord.hidden-overflow:hover:nth-child(12n) > .label-wrapper,
#song.view-edit .barlength-3 .overflow.chord-edit:nth-child(12n) > .label-wrapper,
#song.view-edit .barlength-3 .overflow.currentChord:nth-child(12n) > .label-wrapper,
#song.view-edit .barlength-4 .chord.hidden-overflow:hover:nth-child(16n) > .label-wrapper,
#song.view-edit .barlength-4 .overflow.chord-edit:nth-child(16n) > .label-wrapper,
#song.view-edit .barlength-4 .overflow.currentChord:nth-child(16n) > .label-wrapper,
.chord:nth-last-child(2).hidden-overflow:hover > .label-wrapper,
.overflow.currentChord:nth-last-child(2) > .label-wrapper,
.overflow.chord-edit:nth-last-child(2) > .label-wrapper {
	box-shadow: -2px 0px 5px -1px rgba(0,0,0,0.3);
	left: auto;
	padding-right: 2px;
	text-align: right;
}
.chordlang-latin .currentChord.overflow > .label-wrapper,
.chordlang-latin .chord-edit.overflow > .label-wrapper,
.chordlang-latin .chord.hidden-overflow:hover > .label-wrapper {
	width: calc(164% + 6px);
}
.chord.icon-rest {
	text-indent: -0.2em;
}
.fake-chord {
	background-color: transparent;
	display: inline-block;
	margin: 1px;
	pointer-events: none;
	vertical-align: bottom;
}
.fake-chord:hover {
	background-color: transparent;
	cursor: default;
}
.fake-chord::after, .fake-chord::before {
	display: none !important; /* force remove bar delimiter */
}
.view-diagrams .fake-chord,
.view-leadsheet .fake-chord {
	display: none;
}
.function-select button,
.function-select span,
.function-select {
	color: #666666 !important;
}
.function-select button.active,
.function-select button.active span {
	color: #FF910F !important;
}
.function-select span {
	color: inherit !important;
}
nav .active {
	color: #339DFF;
}
.chord.loop:not(.fake-chord) {
	background: #AFD8FF;
}
.chord.loop.hidden-overflow:not(.currentChord):not(.chord-edit):hover > .label-wrapper {
	background: inherit;
}
@keyframes border-pulsate {
		0%	 { box-shadow: inset 0 0 0 3px rgba(51, 157, 255, 1) }
		100%	{ box-shadow: inset 0 0 0 3px rgba(51, 157, 255, 0.1) }
}
#song:not(.playing) .chords .chord.loop-first,
#song:not(.playing) .chords .chord.loop-first .label-wrapper,
#song:not(.playing) .chords .chord.loop-last,
#song:not(.playing) .chords .chord.loop-last .label-wrapper {
	box-shadow: inset 0 0 0 3px rgba(51, 157, 255, 1);
	animation: border-pulsate 0.5s linear infinite;
	animation-direction: alternate;
	background: #AFD8FF !important;
	color: #333333 !important;
}
.nolabel.loop-first:before {
	display: block;
}
.loop {
	/* all loop blocks are relative so we can absolute position the loop-options */
	position: relative;
}
@keyframes fade-from-halfway {
	0% { opacity: 0.5; }
	100% { opacity: 1; }
}
.loop-fade-in {
	animation: fade-from-halfway 0.2s forwards linear;
}
.loop-options {
	font: 11pt 'TheSans';
	text-indent: initial;
	position: absolute;
	z-index: 3;
	right: 0;
	border-radius: 2px;
	padding: 2px;
	background: #339DFF;
	color: #FFFFFF;
	box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	white-space: nowrap;
}
.loop-options a.edit-only {
	display: none;
	border-right: 2px solid #777;
}
.loop-options a,
.chords-edit .loop-options a.edit-only {
	text-decoration: none;
	display: inline-block;
}
.loop-options a.icon-close,
.loop-options a.icon-delete {
	font-size: 25px;
	line-height: 21px;
	height: 21px;
	vertical-align: bottom;
}
body.loop-options a.icon-close,
body.view-diagrams .loop-options,
body.view-leadsheet .loop-options,
body.view-chords .loop-options {
	display: none;
}
#countoff-counter {
	align-items: center;
	background: rgba(51, 51, 51, 0.7);
	border-radius: 3px;
	color: white;
	display: flex;
	font-size: 50px;
	height: 150px;
	width: 150px;
	justify-content: center;
	margin: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
.currentChord {
	color: #EEEEEE;
}
.currentChord, .currentChord.loop, .chords.ignoreLoop .currentChord {
	background-color: #333 !important;
}
.chords:after {
	content: '';
	display: block;
	clear: both;
}
.barlength-4 > .chord:nth-child(4n+1) {
	margin-left: 9px;
}
.barlength-3 > .chord:nth-child(3n+1){
	margin-left: 11px;
}
.barlength-3 > .chord-paste-hint-first:nth-child(3n+1),
.barlength-4 > .chord-paste-hint-first:nth-child(4n+1) {
	margin-left: 7px;
}
.view-edit .barlength-4 > div.chord-paste-hint-first:nth-child(16n+1),
.view-edit .barlength-3 > div.chord-paste-hint-first:nth-child(12n+1) {
	margin-left: -1px;
}
/* barlines as pseudo elements */
.barlength-4 > .chord:nth-child(4n+1):after,
.barlength-3 > .chord:nth-child(3n+1):after,
/* end of the song barlines */
.chords > .chord:last-child:before,
.chords > .chord:last-child:after {
	content: '';
	margin: 0;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -7px;
	background: #666666;
	border-radius: 4px;
	width: 4px;
}
.barlength-3 > .chord:nth-child(3n+1):after {
	left: -8px;
}
/* end of the song barline position fix */
.chords > .chord:last-child:before {
	right: -6px;
	left: auto;
}
.chords > .chord:last-child:after {
	right: -13px;
	left: auto;
}
.chords > .chord:last-child {
	width: 0;
	padding: 0;
	margin: 0;
}
.view-diagrams .chords .chord:last-child,
.view-leadsheet .chords .chord:last-child {
	display: none;
}
.messageblock {
	font-size: 12pt;
	padding: 50px 0 44px 0;
	margin: 0 auto 0 auto;
	text-align: center;
}
.messageblock .chordifyimg {
	background: white url(/img/logo_Chordify.jpg) 50% 50% no-repeat;
	background-size: contain;
	display: inline-block;
	height: 50px;
	text-align: center;
	width: 150px;
}
.messageblock .errorimg {
	background: white url(/img/chordify-404-1.jpg) 50% top no-repeat;
	background-size: 100%;
	display: inline-block;
	width: 230px;
	height: 146px;
	border-radius: 20px;
	text-align: right;
	padding: 10px 20px 10px 0;
	color: white;
	font-size: 26pt;
	font-weight: bold;
}
.messageblock h3 {
	color: #333;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.375;
	margin-top: 15px;
}
.userpage .page {
	padding: 0 6px;
}
h2 a { /* from profiles merge, might need delete "h2 a" */
	text-decoration: none;
	color: #333;
}
.icon-close.hidden {
	display: none;
}
.alignc {
	text-align: center !important;
}
.clearb {
	clear: both;
}
.floatr,
.alignright {
	float: right !important;
}
.floatl {
	float: left;
}

@media all and (max-width: 930px){
	.ad-banner #mm {
		margin-bottom: 5px;;
	}
}

/* SONGPAGE DESKTOP */
/* Inversion of next query */
@media all and (min-width: 990px),
screen and (min-height: 590px) and (min-width: 600px){
	#suggestions-portal-mobile {
		/* on small desktop screens the portal-mobile is shown */
		padding-top: 20px;
		clear:both;
	}
}
/* SONGPAGE MOBILE */
/* Enable mobile friendly design, changing the toolbar and hiding dekstop elements */
@media screen and (max-width: 599px), /* Query for portrait orientation */
screen and (max-height: 590px) and (max-width: 990px){ /* Query for landscape orientation */
	.box-content h2.consent-title {
		font-size: 24px;
	}
	.chords {
		padding: 0;
	}
	.view-chords .chords {
		padding-top: 2px;
	}
	.barlength-3 > .chord {
		font-size: 4vw;
	}
	.chordlang-latin .barlength-3 > .chord {
		font-size: 3.4vw;
	}
	.view-diagrams .chords.loading,
	.view-leadsheet .chords.loading {
		padding: 3px;
		font-size: 9pt;
	}
	.ad-size-320-50 #playOverlay {
		margin-top: 60px;
	}
}

/* Landscape */
@media screen and (orientation: landscape) and (max-height: 590px) and (max-width: 990px) and (min-width: 475px) {
	#content {
		max-width: none;
		padding: 0 12px;
	}
	.songpage #content {
		margin-top: 45px;
	}
	.barlength-4 .chord {
		font-size: 2.4vw;
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 2.1vw;
	}
	.barlength-3 .chord {
		font-size: 3.2vw;
	}
	.chordlang-latin .barlength-3 > .chord {
		font-size: 2.8vw;
	}
}

/* 4/4: Switch to 2 bars per line. Switch earlier on landscape because of sidebar */
@media screen and (max-width: 720px),
screen and (orientation: landscape) and (max-width: 850px) and (max-height: 590px) {
	.barlength-4 > .chord,
	.barlength-4 > .fake-chord {
		font-size: 5.3vw;
		padding-top: calc(12.5% - 3px);
		width: calc(12.5% - 3px);
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 4.6vw;
	}
	#song.view-chords .barlength-4 .chord:nth-child(8n+9),
	#song.view-edit .barlength-4 .chord:nth-child(8n+9) {
		margin-left: 1px;
	}
	#song.view-chords .barlength-4 .chord:nth-child(8n+9):after,
	#song.view-edit .barlength-4 .chord:nth-child(8n+9):after {
		display: none;
	}
	#song.view-chords .barlength-4 .chord-edit.overflow:nth-child(8n) > .label-wrapper,
	#song.view-chords .barlength-4 .chord.hidden-overflow:hover:nth-child(8n) > .label-wrapper,
	#song.view-chords .barlength-4 .currentChord.overflow:nth-child(8n) > .label-wrapper,
	#song.view-edit .barlength-4 .chord-edit.overflow:nth-child(8n) > .label-wrapper,
	#song.view-edit .barlength-4 .chord.hidden-overflow:hover:nth-child(8n) > .label-wrapper,
	#song.view-edit .barlength-4 .currentChord.overflow:nth-child(8n) > .label-wrapper {
		margin-left: -70%;
		text-align: right;
		padding-right: 2px;
		box-shadow: -2px 0px 5px -1px rgba(0,0,0,0.3);
	}
}

/* Switch to wide chord blocks */
@media screen and (min-width: 990px) and (max-width: 1200px) {
	.wide-chords.barlength-4 > .chord,
	.wide-chords.barlength-4 > .fake-chord {
		padding-top: calc(7% - 3px);
		width: calc(12.5% - 3px);
	}
	.wide-chords.chordlang-latin .barlength-4 > .chord {
		font-size: 4.6vw;
	}
	.view-diagrams .wide-chords.barlength-4 > .chord,
	.view-diagrams .wide-chords.barlength-4 > .fake-chord,
	.view-leadsheet .wide-chords.barlength-4 > .chord,
	.view-leadsheet .wide-chords.barlength-4 > .fake-chord {
		width: calc(10% - 3px);
	}
	#song.view-chords .wide-chords.barlength-4 .chord:nth-child(8n+9),
	#song.view-edit .wide-chords.barlength-4 .chord:nth-child(8n+9) {
		margin-left: 1px;
	}
	#song.view-chords .wide-chords.barlength-4 .chord:nth-child(8n+9):after,
	#song.view-edit .wide-chords.barlength-4 .chord:nth-child(8n+9):after {
		display: none;
	}
	#song.view-chords .wide-chords.barlength-4 .chord-edit.overflow:nth-child(8n) > .label-wrapper,
	#song.view-chords .wide-chords.barlength-4 .chord.hidden-overflow:hover:nth-child(8n) > .label-wrapper,
	#song.view-chords .wide-chords.barlength-4 .currentChord.overflow:nth-child(8n) > .label-wrapper,
	#song.view-edit .wide-chords.barlength-4 .chord-edit.overflow:nth-child(8n) > .label-wrapper,
	#song.view-edit .wide-chords.barlength-4 .chord.hidden-overflow:hover:nth-child(8n) > .label-wrapper,
	#song.view-edit .wide-chords.barlength-4 .currentChord.overflow:nth-child(8n) > .label-wrapper {
		margin-left: -70%;
		text-align: right;
		padding-right: 2px;
		box-shadow: -2px 0px 5px -1px rgba(0,0,0,0.3);
	}
}

@media screen and (min-width: 1200px) and (max-width: 1350px) {
	.barlength-4 > div.chord {
		font-size: 24px;
	}
}

@media screen and (orientation: landscape) and (max-width: 850px) and (max-height: 590px) {
	.barlength-4 > .chord {
		font-size: 4vw;
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 3.7vw;
	}
}

@media all and (max-width: 599px) and (max-height: 590px){
	.chord.hidden-overflow .label-wrapper::after {
		font-size: inherit;
	}
}

/* 3/4: Switch to 2 bars per line */
@media all and (max-width: 498px),
screen and (orientation: landscape) and (max-width: 630px) {
	.barlength-3 > .chord,
	.barlength-3 > .fake-chord {
		font-size: 5.8vw;
		line-height: normal !important;
		padding-top: calc(16.6% - 3.5px);
		width: calc(16.6% - 3.5px);
	}
	.chordlang-latin .barlength-3 > .chord {
		font-size: 5.2vw;
	}
	#song.view-chords .barlength-3 .chord:nth-child(6n+7),
	#song.view-edit .barlength-3 .chord:nth-child(6n+7) {
		margin-left: 1px;
	}
	#song.view-chords .barlength-3 .chord:nth-child(6n+7):after,
	#song.view-edit .barlength-3 .chord:nth-child(6n+7):after {
		display: none;
	}
	#song.view-chords .barlength-3 .chord-edit.overflow:nth-child(6n) > .label-wrapper,
	#song.view-chords .barlength-3 .chord.hidden-overflow:hover:nth-child(6n) > .label-wrapper,
	#song.view-chords .barlength-3 .currentChord.overflow:nth-child(6n) > .label-wrapper,
	#song.view-edit .barlength-3 .chord-edit.overflow:nth-child(6n) > .label-wrapper,
	#song.view-edit .barlength-3 .chord.hidden-overflow:hover:nth-child(6n) > .label-wrapper,
	#song.view-edit .barlength-3 .currentChord.overflow:nth-child(6n) > .label-wrapper {
		float: right;
		text-align: right;
		padding-right: 2px;
		box-shadow: -2px 0px 5px -1px rgba(0,0,0,0.3);
	}
}

@media screen and (orientation: landscape) and (max-width: 630px) {
	.barlength-3 > .chord {
		font-size: 5.2vw;
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 4.5vw;
	}
}

@media all and (max-width: 415px){
	.barlength-4 > .chord {
		font-size: 5.8vw;
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 5.2vw;
	}
	.barlength-3 > .chord {
		font-size: 6.8vw;
	}
	.chordlang-latin .barlength-4 > .chord {
		font-size: 5.7vw;
	}
}

/* always remove the bars every 16nth and 12th bar in view-chords */
.view-chords .barlength-4 > .chord:nth-child(16n+1):after,
.view-chords .barlength-3 > .chord:nth-child(12n+1):after,
.view-edit .barlength-4 > .chord:nth-child(16n+1):after,
.view-edit .barlength-3 > .chord:nth-child(12n+1):after {
	display: none;
}
.view-chords .barlength-4 > .chord:nth-child(16n+1),
.view-chords .barlength-3 > .chord:nth-child(12n+1),
.view-edit .barlength-4 > .chord:nth-child(16n+1),
.view-edit .barlength-3 > .chord:nth-child(12n+1) {
	margin-left: 1px;
}

.view-diagrams .chord:first-child:after,
.view-leadsheet .chord:first-child:after {
	display: none;
}
.view-diagrams .chord:first-child,
.view-leadsheet .chord:first-child {
	margin-left: 1px;
}

/* always remove the bars every 16nth and 12th bar */
.view-chords .barlength-4 > .chord:nth-child(16n+1):after,
.view-chords .barlength-3 > .chord:nth-child(12n+1):after {
	display: none;
}
.view-chords .barlength-4 > .chord:nth-child(16n+1),
.view-chords .barlength-3 > .chord:nth-child(12n+1){
	margin-left: 1px;
}
/* end remove */

/* DESKTOP */
/* 768px is the breakpoint for the navbar to add a subbar of 30px on mobile */
@media all and (min-width: 768px) {
	#content {
		margin-top: 45px;
	}
}

@media screen and (min-width: 990px){
	#content {
		max-width: 976px;
	}
}

@media all and (min-width: 1038px) {
	#content {
		max-width: 1026px;
	}
}

@media all and (min-width: 990px) {
	#content {
		max-width: 1077px;
	}
	.barlength-4 .chord {
		font-size: 25px;
	}
	.chordlang-latin .barlength-4 .chord {
		font-size: 25px;
	}
	.barlength-3 .chord {
		font-size: 30px;
	}
	.chordlang-latin .barlength-3 .chord {
		font-size: 26px;
	}
}

@media screen and (min-width: 1200px) {
	#content {
		max-width: 1192px;
	}
}
@media screen and (min-width: 1350px){
	#content {
		max-width: 1300px;
	}
}

body:not(.chordspage) #footer {
	background: #EEEEEE;
	isolation: isolate;
	margin-top: 32px;
	padding: 32px 16px 16px;
	position: relative;
}
body:not(.chordspage) #footer::before {
	content: '';
	background: #EEEEEE;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}

#php-errors {
	background: white;
	border-radius: 8px;
	border: 1px solid #ccc;
	padding: 4px 8px;
	position: fixed;
	top: 45px;
	z-index: 999;
}
