/* @override
	http://lauramucha.com/website/wp-content/themes/lauramucha/js/sm2/css/bar-ui.css
	http://lauramucha.com/2018/wp-content/themes/laura-mucha/css/plugin-styles.css?* */

.sm2-bar-ui {
 position: relative;
 display: inline-block;
 width: 100%;
 font-family: "Joanna Sans W10", san-serif;
 font-weight: 100;
 /* prevent background border bleed */
 -webkit-background-clip: padding-box;
 background-clip: padding-box;
 /* because indeed, fonts do look pretty "fat" otherwise in this case. */
 -moz-osx-font-smoothing: grayscale;
 -webkit-font-smoothing: antialiased;
 /* http://files.christophzillgens.com/webkit-font-smoothing.html */
 /* font-smoothing: subpixel-antialiased; */
 /* general font niceness? */
 font-smoothing: antialiased;
 text-rendering: optimizeLegibility;
 min-width: 20em;
 max-width: 100%;
 /* take out overflow if you want an absolutely-positioned playlist dropdown. */
 border-radius: 2px;
 overflow: hidden;
 /* just for fun (animate normal / full-width) */
 transition: max-width 0.2s ease-in-out;
}

.sm2-bar-ui .sm2-playlist li {
 text-align: center;
 font-size: 92.5%;
 line-height: 1em;
}

.sm2-bar-ui.compact {
 min-width: 1em;
 max-width: 15em;
}

.type-book .sm2-bar-ui.compact {
 min-width: 1em;
 max-width: 15em;
}

.sm2-bar-ui ul {
 line-height: 1em;
}

/* want things left-aligned? */
.sm2-bar-ui.left .sm2-playlist li {
 text-align: left;
}

.sm2-bar-ui .sm2-playlist li .load-error {
  cursor: help;
}

.sm2-bar-ui.full-width {
 max-width: 100%;
 z-index: 5;
}

.sm2-bar-ui.fixed {
 position: fixed;
 top: auto;
 bottom: 0px;
 left: 0px;
 border-radius: 0px;
 /* so the absolutely-positioned playlist can show... */
 overflow: visible;
 /* and this should probably have a high z-index. tweak as needed. */
 z-index: 999;
}

.sm2-bar-ui.fixed .bd,
.sm2-bar-ui.bottom .bd {
 /* display: table; */
 border-radius: 0px;
 border-bottom: none;
}

.sm2-bar-ui.bottom {
 /* absolute bottom-aligned UI */
 top: auto;
 bottom: 0px;
 left: 0px;
 border-radius: 0px;
 /* so the absolutely-positioned playlist can show... */
 overflow: visible;
}

.sm2-bar-ui.playlist-open .bd {
 border-bottom-left-radius: 0px;
 border-bottom-right-radius: 0px;
 border-bottom-color: transparent;
}

.sm2-bar-ui .bd,
.sm2-bar-ui .sm2-extra-controls {
 position: relative;
 background-color: #2288cc;
 /*
 transition: background 0.2s ease-in-out;
 */
}

.sm2-bar-ui .sm2-inline-gradient {
 /* gradient */
 position: absolute;
 left: 0px;
 top: 0px;
 width: 100%;
 height: 100%;
 background-image: -moz-linear-gradient(to bottom, rgba(255,255,255,0.125) 5%, rgba(255,255,255,0.125) 45%, rgba(255,255,255,0.15) 52%, rgba(0,0,0,0.01) 51%, rgba(0,0,0,0.1) 95%); /* W3C */
 background-image: linear-gradient(to bottom, rgba(255,255,255,0.125) 5%, rgba(255,255,255,0.125) 45%, rgba(255,255,255,0.15) 50%, rgba(0,0,0,0.1) 51%, rgba(0,0,0,0.1) 95%); /* W3C */
}

.sm2-bar-ui.flat .sm2-inline-gradient {
 background-image: none;
}

.sm2-bar-ui.flat .sm2-box-shadow {
 display: none;
 box-shadow: none;
}

.sm2-bar-ui.no-volume .sm2-volume {
 /* mobile devices (android + iOS) ignore attempts to set volume. */
 display: none;
}

.sm2-bar-ui.textured .sm2-inline-texture {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 100%;
 height: 100%;
 /* for example */
 /* background-image: url(image/wood_pattern_dark.png); */
 /* additional opacity effects can be applied here. */
 opacity: 0.75;

}

.sm2-bar-ui.textured.dark-text .sm2-inline-texture {
 /* dark text + textured case: use light wood background (for example.) */
 /* background-image: url(image/patterns/wood_pattern.png); */
}

.sm2-bar-ui.textured.dark-text .sm2-playlist-wrapper {
 /* dark text + textured case: ditch 10% dark on playlist body. */
 background-color: transparent;
}

.sm2-bar-ui.textured.dark-text .sm2-playlist-wrapper ul li:hover a,
.sm2-bar-ui.textured.dark-text .sm2-playlist-wrapper ul li.selected a {
 /* dark + textured case: dark highlights */
 background-color: rgba(0,0,0,0.1);
 background-image: url(image/black-10.png);
 /* modern browsers don't neeed the image */
 background-image: none, none;
}

.sm2-bar-ui .bd {
 display: table;
 border-bottom: none;
}

.sm2-bar-ui .sm2-playlist-wrapper {
 background-color: rgba(0,0,0,0.1);
}

.sm2-bar-ui .sm2-extra-controls .bd {
 background-color: rgba(0,0,0,0.2);
}


.sm2-bar-ui.textured .sm2-extra-controls .bd {
 /* lighten extra color overlays */
 background-color: rgba(0,0,0,0.05);
}

.sm2-bar-ui .sm2-extra-controls {
 background-color: transparent;
 border: none;
}

.sm2-bar-ui .sm2-extra-controls .bd {
 /* override full-width table behaviour */
 display: block;
 border: none;
}

.sm2-bar-ui .sm2-extra-controls .sm2-inline-element {
 display: inline-block;
}

.sm2-bar-ui,
.sm2-bar-ui .bd a {
 color: #fff;
}

.sm2-bar-ui.dark-text,
.sm2-bar-ui.dark-text .bd a {
 color: #000;
}

.sm2-bar-ui.dark-text .sm2-inline-button {
 /* Warning/disclaimer: SVG might be fuzzy when inverted on Chrome, losing resolution on hi-DPI displays. */
 -webkit-filter: invert(1);
 /* SVG-based invert filter for Firefox */
 filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'invert\'><feColorMatrix in='SourceGraphic' type='matrix' values='-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0'/></filter></svg>#invert");
 /* IE 8 inverse filter, may only match pure black/white */
 /* filter: xray; */
 /* pending W3 standard */
 filter: invert(1);
 /* not you, IE < 10. */
 filter: none\9;
}

.sm2-bar-ui .bd a {
 text-decoration: none;
}

.sm2-bar-ui .bd .sm2-button-element:hover {
 background-color: rgba(0,0,0,0.1);
 background-image: url(image/black-10.png);
 background-image: none, none;
}

.sm2-bar-ui .bd .sm2-button-element:active {
 background-color: rgba(0,0,0,0.25);
 background-image: url(image/black-25.png);
 background-image: none, none;
}

.sm2-bar-ui .bd .sm2-extra-controls .sm2-button-element:active .sm2-inline-button,
.sm2-bar-ui .bd .active .sm2-inline-button/*,
.sm2-bar-ui.playlist-open .sm2-menu a */{
 -ms-transform: scale(0.9);
 -webkit-transform: scale(0.9);
 -webkit-transform-origin: 50% 50%;
 /* firefox doesn't scale quite right. */
 transform: scale(0.9);
 transform-origin: 50% 50%;
 /* firefox doesn't scale quite right. */
 -moz-transform: none;
}

.sm2-bar-ui .bd .sm2-extra-controls .sm2-button-element:hover,
.sm2-bar-ui .bd .sm2-extra-controls .sm2-button-element:active,
.sm2-bar-ui .bd .active {
 background-color: rgba(0,0,0,0.1);
 background-image: url(image/black-10.png);
 background-image: none, none;
}

.sm2-bar-ui .bd .sm2-extra-controls .sm2-button-element:active {
 /* box shadow is excessive on smaller elements. */
 box-shadow: none;
}

.sm2-bar-ui {
 /* base font size */
 font-size: 15px;
 text-shadow: none;
}

.sm2-bar-ui .sm2-inline-element {
 position: relative;
 display: inline-block;
 vertical-align: middle;
 padding: 0px;
 overflow: hidden;
}

.sm2-bar-ui .sm2-inline-element,
.sm2-bar-ui .sm2-button-element .sm2-button-bd {
 position: relative;
 /**
  * .sm2-button-bd exists because of a Firefox bug from 2000
  * re: nested relative / absolute elements inside table cells.
  * https://bugzilla.mozilla.org/show_bug.cgi?id=63895
  */
}

.sm2-bar-ui .sm2-inline-element,
.sm2-bar-ui .sm2-button-element .sm2-button-bd {
 /**
  * if you play with UI width/height, these are the important ones.
  * NOTE: match these values if you want square UI buttons.
  */
 min-width: 2.8em;
 min-height: 2.8em;
}

.sm2-bar-ui .sm2-inline-button {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 100%;
 height: 100%;
}

.sm2-bar-ui .sm2-extra-controls .bd {
 /* don't double-layer. */
 background-image: none;
 background-color: rgba(0,0,0,0.15);
}

.sm2-bar-ui .sm2-extra-controls .sm2-inline-element {
 width: 25px; /* bare minimum */
 min-height: 1.75em;
 min-width: 2.5em;
}

.sm2-bar-ui .sm2-inline-status {
 line-height: 100%;
 /* how much to allow before truncating song artist / title with ellipsis */
 display: inline-block;
 min-width: 200px;
 max-width: 20em;
 /* a little more spacing */
 padding-left: 0.75em;
 padding-right: 0.75em;
}

.sm2-bar-ui .sm2-inline-element {
 /* extra-small em scales up nicely, vs. 1px which gets fat */
 border-right: 0.075em dotted #666; /* legacy */
 border-right: 0.075em solid rgba(0,0,0,0.1);
}

.sm2-bar-ui .sm2-inline-element.noborder {
 border-right: none;
}

.sm2-bar-ui .sm2-inline-element.compact {
 min-width: 2em;
 padding: 0px 0.25em;
}

.sm2-bar-ui .sm2-inline-element:first-of-type {
 border-top-left-radius: 3px;
 border-bottom-left-radius: 3px;
 overflow: hidden;
}

.sm2-bar-ui .sm2-inline-element:last-of-type {
 border-right: none;
 border-top-right-radius: 3px;
 border-bottom-right-radius: 3px;
}

.sm2-bar-ui .sm2-inline-status a:hover {
 background-color: transparent;
 text-decoration: underline;
}

.sm2-inline-time,
.sm2-inline-duration {
 display: table-cell;
 width: 1%;
 font-size: 75%;
 line-height: 0.9em;
 min-width: 2em; /* if you have sounds > 10:00 in length, make this bigger. */
 vertical-align: middle;
}

.sm2-bar-ui .sm2-playlist {
 position: relative;
 height: 1.45em;
}

.sm2-bar-ui .sm2-playlist-target {
 /* initial render / empty case */
 position: relative;
 min-height: 1em;
}

.sm2-bar-ui .sm2-playlist ul {
 position: absolute;
 left: 0px;
 top: 0px;
 width: 100%;
 list-style-type: none;
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
}

.sm2-bar-ui p,
.sm2-bar-ui .sm2-playlist ul,
.sm2-bar-ui .sm2-playlist ul li {
 margin: 0px;
 padding: 0px;
}

.sm2-bar-ui .sm2-playlist ul li {
 position: relative;
}

.sm2-bar-ui .sm2-playlist ul li,
.sm2-bar-ui .sm2-playlist ul li a {
 position: relative;
 display: block;
 /* prevent clipping of characters like "g" */
 height: 1.5em;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 text-align: center;
}

.sm2-row {
 display: table-row;
}

.sm2-progress-bd {
 /* spacing between progress track/ball and time (position) */
 padding: 0px 0.8em;
}

.sm2-progress .sm2-progress-track,
.sm2-progress .sm2-progress-ball,
.sm2-progress .sm2-progress-bar {
 position: relative;
 width: 100%;
 height: 0.65em;
 border-radius: 0.65em;
}

.sm2-progress .sm2-progress-bar {
 /* element which follows the progres "ball" as it moves */
 position: absolute;
 left: 0px;
 top: 0px;
 width: 0px;
 background-color: rgba(0,0,0,0.33);
 background-image: url(image/black-33.png);
 background-image: none, none;
}

.volume-shade,
.playing .sm2-progress .sm2-progress-track,
.paused .sm2-progress .sm2-progress-track {
 cursor: pointer;
}

.playing .sm2-progress .sm2-progress-ball {
 cursor: -moz-grab;
 cursor: -webkit-grab;
 cursor: grab;
}

.sm2-progress .sm2-progress-ball {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 1em;
 height: 1em;
 margin: -0.2em 0px 0px -0.5em;
 width: 14px;
 height: 14px;
 margin: -2px 0px 0px -7px;
 width: 0.9333em;
 height: 0.9333em;
 margin: -0.175em 0px 0px -0.466em;
 background-color: #fff;
 padding: 0px;
/*
 z-index: 1;
*/
 -webkit-transition: -webkit-transform 0.15s ease-in-out;
 transition: transform 0.15s ease-in-out;
}

/*
.sm2-bar-ui.dark-text .sm2-progress .sm2-progress-ball {
 background-color: #000;
}
*/

.sm2-progress .sm2-progress-track {
 background-color: rgba(0,0,0,0.4);
 background-image: url(image/black-33.png); /* legacy */
 background-image: none, none; /* modern browsers */
}

/* scrollbar rules have to be separate, browsers not supporting this syntax will skip them when combined. */
.sm2-playlist-wrapper ul::-webkit-scrollbar-track {
 background-color: rgba(0,0,0,0.4);
}

.playing.grabbing .sm2-progress .sm2-progress-track,
.playing.grabbing .sm2-progress .sm2-progress-ball {
 cursor: -moz-grabbing;
 cursor: -webkit-grabbing;
 cursor: grabbing;
}

.sm2-bar-ui.grabbing .sm2-progress .sm2-progress-ball {
 -webkit-transform: scale(1.15);
 transform: scale(1.15);
}

.sm2-inline-button {
 background-position: 50% 50%;
 background-repeat: no-repeat;
 /* hide inner text */
 line-height: 10em;
 /**
  * image-rendering seems to apply mostly to Firefox in this case. Use with caution.
  * https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering#Browser_compatibility
  */
 image-rendering: -moz-crisp-edges;
 image-rendering: -webkit-optimize-contrast;
 image-rendering: crisp-edges;
 -ms-interpolation-mode: nearest-neighbor;
 -ms-interpolation-mode: bicubic;
}

.play-pause,
.play-pause:hover,
.paused .play-pause:hover {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/play.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/play.svg);
 background-size: 67.5%;
 background-position: 40% 53%;
}

.playing .play-pause {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/pause.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/pause.svg);
 background-size: 57.6%;
 background-position: 50% 53%;
}

.sm2-volume-control {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/volume.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/volume.svg);
}

.sm2-volume-control,
.sm2-volume-shade {
 background-position: 42% 50%;
 background-size: 56%;
}

.volume-shade {
 filter: alpha(opacity=33); /* <= IE 8 */
 opacity: 0.33;
/* -webkit-filter: invert(1);*/
 background-image: url(image/icomoon/entypo-25px-000000/PNG/volume.png);
 background-image: none, url(image/icomoon/entypo-25px-000000/SVG/volume.svg);
}

/* .menu {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/list2.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/list2.svg);
 background-size: 58%;
 background-position: 54% 51%;
} */

.previous {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/first.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/first.svg);
}

.next {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/last.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/last.svg);
}

.previous,
.next {
 background-size: 49.5%;
 background-position: 50% 50%;
}


.sm2-extra-controls .previous,
.sm2-extra-controls .next {
 backgound-size: 53%;
}

.shuffle {
 background-image: url(image/icomoon/entypo-25px-ffffff/PNG/shuffle.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/shuffle.svg);
 background-size: 45%;
 background-position: 50% 50%;
}

.repeat {
 background-image: url(image/icomoon/entypo-20px-ffffff/PNG/loop.png);
 background-image: none, url(image/icomoon/entypo-25px-ffffff/SVG/loop.svg);
 background-position: 50% 43%;
 background-size: 54%;
}

.sm2-extra-controls .repeat {
 background-position: 50% 45%;
}

.sm2-progress-ball .icon-overlay {
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0px;
 left: 0px;
 background: none, url(image/icomoon/free-25px-000000/SVG/spinner.svg);
 background-size: 72%;
 background-position: 50%;
 background-repeat: no-repeat;
 display: none; 
}

.playing.buffering .sm2-progress-ball .icon-overlay {
 display: block;
 -webkit-animation: spin 0.6s linear infinite;
 animation: spin 0.6s linear infinite;
}

@-webkit-keyframes spin {
 0% {
  -webkit-transform: rotate(0deg);
 }
 100% {
  -webkit-transform: rotate(360deg);
 }
}

@-moz-keyframes spin {
 0% {
  transform: rotate(0deg);
 }
 100% {
  transform: rotate(360deg);
 }
}

@keyframes spin {
 0% {
  transform: rotate(0deg);
 }
 100% {
  transform: rotate(360deg);
 }
}

.sm2-element ul {
 font-size: 95%;
 list-style-type: none;
}

.sm2-element ul,
.sm2-element ul li {
 margin: 0px;
 padding: 0px;
}

.bd.sm2-playlist-drawer {
 /* optional: absolute positioning */
 /* position: absolute; */
 z-index: 3;
 border-radius: 0px;
 width: 100%;
 height: 0px;
 border: none;
 background-image: none;
 display: block;
 overflow: hidden;
 transition: height 0.2s ease-in-out;
}

.sm2-bar-ui.fixed .bd.sm2-playlist-drawer,
.sm2-bar-ui.bottom .bd.sm2-playlist-drawer {
 position: absolute;
}

.sm2-bar-ui.fixed .sm2-playlist-wrapper,
.sm2-bar-ui.bottom .sm2-playlist-wrapper {
 padding-bottom: 0px;
}

.sm2-bar-ui.fixed .bd.sm2-playlist-drawer,
.sm2-bar-ui.bottom .bd.sm2-playlist-drawer {
 /* show playlist on top */
 bottom: 2.8em;
}

.sm2-bar-ui .bd.sm2-playlist-drawer {
 opacity: 0.5;
 /* redraw fix for Chrome, background color doesn't always draw when playlist drawer open. */
 transform: translateZ(0);
}

/* experimental, may not perform well. */
/*
.sm2-bar-ui .bd.sm2-playlist-drawer a {
 -webkit-filter: blur(5px);
}
*/

.sm2-bar-ui.playlist-open .bd.sm2-playlist-drawer {
 opacity: 1;
}

.sm2-bar-ui.playlist-open .bd.sm2-playlist-drawer a {
 -webkit-filter: none; /* blur(0px) was still blurred on retina displays, as of 07/2014 */
}

.sm2-bar-ui.fixed.playlist-open .bd.sm2-playlist-drawer .sm2-playlist-wrapper,
.sm2-bar-ui.bottom.playlist-open .bd.sm2-playlist-drawer .sm2-playlist-wrapper {
 /* extra padding when open */
 padding-bottom: 0.5em;
 box-shadow: none;
}

.sm2-bar-ui .bd.sm2-playlist-drawer {
 transition: all 0.2s ease-in-out;
 transition-property: transform, height, opacity, background-color, -webkit-filter;
}

.sm2-bar-ui .bd.sm2-playlist-drawer a {
 transition: -webkit-filter 0.2s ease-in-out;
}

.sm2-bar-ui .bd.sm2-playlist-drawer .sm2-inline-texture {
 /* negative offset for height of top bar, so background is seamless. */
 background-position: 0px -2.8em;
}

.sm2-box-shadow {
 position: absolute;
 left: 0px;
 top: 0px;
 width: 100%;
 height: 100%;
 box-shadow: inset 0px 1px 6px rgba(0,0,0,0.15);
}

.sm2-playlist-wrapper {
 position: relative;
 padding: 0.5em 0.5em 0.5em 0.25em;
 background-image: none, none;
}

.sm2-playlist-wrapper ul {
 max-height: 9.25em;
 overflow: auto;
}

.sm2-playlist-wrapper ul li {
 border-bottom: 1px solid rgba(0,0,0,0.05);
}

.sm2-playlist-wrapper ul li:nth-child(odd) {
 background-color: rgba(255,255,255,0.03);
}

.sm2-playlist-wrapper ul li a {
 display: block;
 padding: 0.5em 0.25em 0.5em 0.75em;
 margin-right: 0.5em;
 font-size: 90%;
 vertical-align: middle;
}

.sm2-playlist-wrapper ul li a.sm2-exclude {
 display: inline-block;
}

.sm2-playlist-wrapper ul li a.sm2-exclude .label {
 font-size: 95%;
 line-height: 1em;
 margin-left: 0px;
 padding: 2px 4px;
}

.sm2-playlist-wrapper ul li:hover a {
 background-color: rgba(0,0,0,0.20);
 background-image: url(image/black-20.png);
 background-image: none, none;
}

.sm2-bar-ui.dark-text .sm2-playlist-wrapper ul li:hover a {
 background-color: rgba(255,255,255,0.1);
 background-image: url(image/black-10.png);
 background-image: none, none;
}

.sm2-playlist-wrapper ul li.selected a {
 background-color: rgba(0,0,0,0.25);
 background-image: url(image/black-20.png);
 background-image: none, none;
}

.sm2-bar-ui.dark-text ul li.selected a {
 background-color: rgba(255,255,255,0.1);
 background-image: url(image/black-10.png);
 background-image: none, none; 
}

.sm2-bar-ui .disabled {
 filter: alpha(opacity=33); /* <= IE 8 */
 opacity: 0.33;
}

.sm2-bar-ui .bd .sm2-button-element.disabled:hover {
 background-color: transparent;
}

.sm2-bar-ui .active,
/*.sm2-bar-ui.playlist-open .sm2-menu,*/
.sm2-bar-ui.playlist-open .sm2-menu:hover {
 /* depressed / "on" state */
 box-shadow: inset 0px 0px 2px rgba(0,0,0,0.1);
 background-image: none;
}

.firefox-fix {
 /**
  * This exists because of a Firefox bug from 2000
  * re: nested relative / absolute elements inside table cells.
  * https://bugzilla.mozilla.org/show_bug.cgi?id=63895
  */
 position: relative;
 display: inline-block;
 width: 100%;
 height: 100%;
}

/* some custom scrollbar trickery, where supported */

.sm2-playlist-wrapper ul::-webkit-scrollbar {
 width: 10px;
}

.sm2-playlist-wrapper ul::-webkit-scrollbar-track {
 background: rgba(0,0,0,0.33);
 border-radius: 10px;
}
 
.sm2-playlist-wrapper ul::-webkit-scrollbar-thumb {
 border-radius: 10px;
 background: #fff;
}

.sm2-extra-controls {
 font-size: 0px;
 text-align: center;
}

.sm2-bar-ui .label {
 position: relative;
 display: inline-block;
 font-size: 0.7em;
 margin-left: 0.25em;
 vertical-align: top;
 background-color: rgba(0,0,0,0.25);
 border-radius: 3px;
 padding: 0px 3px;
 box-sizing: padding-box;
}

.sm2-bar-ui.dark-text .label {
 background-color: rgba(0,0,0,0.1);
 background-image: url(image/black-10.png);
 background-image: none, none;
}

.sm2-bar-ui .sm2-playlist-drawer .label {
 font-size: 0.8em;
 padding: 0px 3px;
}

/* --- full width stuff --- */

.sm2-bar-ui .sm2-inline-element {
 display: table-cell;
}

.sm2-bar-ui .sm2-inline-element {
 /* collapse */
 width: 1%;
}

.sm2-bar-ui .sm2-inline-status {
 /* full width */
 width: 100%;
 min-width: 100%;
 max-width: 100%;
}

.sm2-bar-ui > .bd {
 width: 100%;
}

.sm2-bar-ui .sm2-playlist-drawer {
 /* re-hide playlist */
 display: block;
 overflow: hidden;
}

.sm2-bar-ui {
 font-size: 12px;
}
.sm2-bar-ui .sm2-main-controls,
.sm2-bar-ui .sm2-playlist-drawer {
 background-color: #f6f6f6;
}



/* Fancybox */

body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: rgb(255, 255, 255);
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71);
}

.fancybox-is-open .fancybox-bg {
    opacity: 1;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden; /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image::before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -ms-transform-origin: top left;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable='true'] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* Buttons */

.fancybox-button {
    background: rgba(255, 255, 255, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #666;
}

.fancybox-button:hover {
    color: #444;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

/* Fix IE11 */
.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: 0;
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}
/* Close button on the top right corner of html content */

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

/* Caption */

.fancybox-caption {
    background: linear-gradient(
    to top,
    rgba(0, 0, 0, .85) 0%,
    rgba(0, 0, 0, .3) 50%,
    rgba(0, 0, 0, .15) 65%,
    rgba(0, 0, 0, .075) 75.5%,
    rgba(0, 0, 0, .037) 82.85%,
    rgba(0, 0, 0, .019) 88%,
    rgba(0, 0, 0, 0) 100%
    );
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

@supports (padding: max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
    }
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }

    @supports (padding: max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }
    }
}

/* Share */

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}

/* Thumbs */

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a::before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }
    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }
    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}