
/*** 	STC-6114 & 6115: This file is copied from '_component.custom_ableplayer.scss' in NGA site and adapted for usage in STC app 	***/

:root {
	--primary-control: 12rem;
	--primary-control-padding: 4rem;
}

@media screen and (min-width: 840px) {
	:root {
		--primary-control: 16rem;
  	}
}

.custom-ableplayer {
	min-height: var(--primary-control);
	margin-bottom: 2rem;
	position: relative;
}

.custom-ableplayer .able-now-playing,
.custom-ableplayer .able-button-handler-faster,
.custom-ableplayer .able-button-handler-slower,
.custom-ableplayer .able-right-controls > span,
.custom-ableplayer .able-speed,
.custom-ableplayer .able-status,
.custom-ableplayer .able-tooltip {
	display: none !important;
}

@media screen and (max-width: 360px) {
	.custom-ableplayer .able-button-handler-previous,
	.custom-ableplayer .able-button-handler-next {
    display: none !important;
  }
}

.custom-ableplayer .able-wrapper {
	max-width: none !important;
}

.custom-ableplayer .able {
	margin: 0;
 	padding-bottom: 0;
	box-shadow: none;
}

.custom-ableplayer .able {
	background-color: transparent;
	border-radius: 0;
}

.custom-ableplayer .able-player {
	font-family: "NGA", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.custom-ableplayer .able-player,
.custom-ableplayer .able-controller {
	background-color: transparent;
	border: none;
}

.custom-ableplayer .able-black-controls label,
.custom-ableplayer .able-white-controls,
.custom-ableplayer .able-white-controls div[role=button],
.custom-ableplayer .able-status-bar {
	color: var(--black) !important;
}

.custom-ableplayer .able-controller div[role=button]:hover,
.custom-ableplayer .able-volume-head:hover,
.custom-ableplayer div.able-modal-dialog input:hover,
.custom-ableplayer div.able-modal-dialog button:hover,
.custom-ableplayer .able-window-toolbar .able-button-handler-preferences:hover,
.custom-ableplayer .able-seekbar-head:hover {
	outline-color: transparent !important;
	cursor: pointer;
}

.custom-ableplayer .able-controller div[role=button]:focus,
.custom-ableplayer .able-volume-head:focus,
.custom-ableplayer div.able-modal-dialog input:focus,
.custom-ableplayer div.able-modal-dialog button:focus,
.custom-ableplayer .able-window-toolbar .able-button-handler-preferences:focus {
	outline-style: dotted !important;
	outline-color: rgb(125, 125, 125) !important;
	outline-width: 2px !important;
	outline-offset: 3px !important;
	opacity: 1 !important;
}

.custom-ableplayer .able-controller div[role=button] {
	margin: 0;
	font-size: 2.4rem;
	line-height: 1;
	width: 1em;
	height: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.custom-ableplayer .able-controller div[role=button] svg {
	display: block;
}

.custom-ableplayer .able-controller div[role=button].able-button-handler-play {
	font-size: var(--primary-control);
}

.custom-ableplayer .able-seekbar-wrapper {
	width: 100% !important;
	height: 4.5rem;
	margin: 0 !important;
	padding-top: 1.35rem;
	display: flex;
	align-items: center;
}

.custom-ableplayer .able-seekbar-wrapper .able-seekbar {
	flex: 0 0 100%;
}

.custom-ableplayer .able-seekbar-wrapper .able-seekbar,
.custom-ableplayer .able-seekbar-wrapper .able-seekbar-loaded,
.custom-ableplayer .able-seekbar-wrapper .able-seekbar-played {
	margin: 0;
	border: none;
	height: 1.5rem;
	border-radius: 0;
}

.custom-ableplayer .able-seekbar-wrapper .able-seekbar,
.custom-ableplayer .able-seekbar-wrapper .able-seekbar-loaded {
 	background-color: rgba(var(--black-rgb), 0.25);
}

.custom-ableplayer .able-seekbar-wrapper .able-seekbar-played {
	background-color: var(--black);
}

.custom-ableplayer .able-seekbar-wrapper .able-seekbar-head {
 	position: absolute;
  	top: 50%;
  	transform: translateY(-50%);
  	width: 1.6rem;
  	height: 1.6rem;
  	border: none;
  	border-radius: 50%;
  	background-color: var(--black);
  	opacity: 0;
  	transition: opacity 0.2s ease-in-out;
}

.custom-ableplayer .able-seekbar-wrapper:hover .able-seekbar-head,
.custom-ableplayer .able-seekbar-wrapper .able-seekbar-head:focus {
	opacity: 1;
}

.custom-ableplayer .able-volume-slider {
	width: 3.6rem;
  	right: 2.2rem;
  	background-color: var(--grey-xlight);
}

.custom-ableplayer .able-volume-slider .able-volume-track {
	border: none;
  	width: 0.4rem;
  	background-color: rgba(var(--black-rgb), 0.25);
}

.custom-ableplayer .able-volume-slider .able-volume-track.able-volume-track-on {
	background-color: rgba(var(--black-rgb), 0.75);
}

.custom-ableplayer .able-volume-slider .able-volume-head {
	height: 0.7rem;
	width: 1.4rem;
	left: -0.5rem;
	background-color: var(--black);
	border: none;
}

.custom-ableplayer .able-volume-slider .able-volume-head:hover,
.custom-ableplayer .able-volume-slider .able-volume-head:focus {
	background-color: var(--black) !important;
}

.custom-ableplayer .able-status-bar {
	line-height: 3.2rem;
	min-height: 3.2rem;
  	padding: 0;
  	position: absolute;
  	bottom: 0;
  	right: 7rem;
}

html.volume-not-supported .custom-ableplayer .able-status-bar {
	right: 4rem;
}

.custom-ableplayer .able-status-bar .able-timer {
	width: auto;
  	font-size: 1.6rem;
  	text-align: right;
}

.custom-ableplayer .able-player {
  	position: relative;
}

.custom-ableplayer .able-controller {
  	margin-top: 4rem;
  	padding-top: var(--primary-control);
  	position: relative;
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
}

.custom-ableplayer .able-controller .able-left-controls,
.custom-ableplayer .able-controller .able-right-controls {
	min-height: 3.2rem;
  	display: flex;
  	align-items: center;
}

.custom-ableplayer .able-controller .able-left-controls div[role=button] {
	margin-right: 1.5rem;
}

.custom-ableplayer .able-controller .able-right-controls div[role=button].able-button-handler-preferences {
	order: 2;
	margin-left: 0.5rem;
}

.custom-ableplayer div[role=button].able-button-handler-play {
	margin-right: 0 !important;
	position: absolute;
	top: 0;
	left: 0;
}

.custom-ableplayer .thumbnail {
	width: var(--primary-control);
	position: absolute;
	top: 0;
	right: 0;
}

.custom-ableplayer .transcript {
	margin-top: 2rem !important;
	margin-bottom: 2rem;
}

@media screen and (min-width: 840px) {
	.custom-ableplayer .able-controller {
		padding-top: 0;
    	padding-left: calc(var(--primary-control) + var(--primary-control-padding));
  	}
  
  	.custom-ableplayer.with-thumbnail .able-player {
    	width: calc(100% - var(--primary-control) - var(--primary-control-padding));
  	}
  
  	.custom-ableplayer .transcript {
    	margin-left: calc(var(--primary-control) + var(--primary-control-padding));
  	} 
}

.custom-ableplayer--player-small {
	--primary-control: 8rem;
	--primary-control-padding: 2rem;
}

@media screen and (min-width: 840px) {
	.custom-ableplayer--player-small {
		--primary-control: 10rem;
  	}
}

.custom-ableplayer--player-small .able-now-playing,
.custom-ableplayer--player-small .custom-ableplayer__title {
	height: var(--primary-control);
	margin: 0;
	padding: 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	text-align: left;
	text-transform: none;
	color: var(--black);
	position: absolute;
	z-index: 1;
	left: calc(var(--primary-control) + var(--primary-control-padding));
	right: 0;
	top: 0;
}

.custom-ableplayer--player-small .able-now-playing > span,
.custom-ableplayer--player-small .custom-ableplayer__title > span {
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-55%);
	font-size: 1em;
}

.custom-ableplayer--player-small .able-now-playing > span > span,
.custom-ableplayer--player-small .custom-ableplayer__title > span > span {
	display: none;
}

.audio-playlist-block .custom-ableplayer--player-small .able-now-playing {
	display: block !important;
}

.custom-ableplayer--player-small .able-button-handler-restart {
	display: none !important;
}

.custom-ableplayer--player-small .able-controller {
	margin-top: 0;
}

.custom-ableplayer--player-small .able-seekbar-wrapper {
	padding-top: 0;
}

@media screen and (min-width: 840px) {
	.custom-ableplayer--player-small .able-controller {
		padding-top: calc(var(--primary-control) / 4);
    	padding-left: calc(var(--primary-control) + var(--primary-control-padding));
  	}
  
  	.custom-ableplayer--player-small .able-now-playing,
	.custom-ableplayer--player-small .custom-ableplayer__title {
    	height: calc(var(--primary-control) / 4);
  	}
  
  	.custom-ableplayer--player-small .able-now-playing > span,
	.custom-ableplayer--player-small .custom-ableplayer__title > span {
    	position: static;
    	transform: none;
    	white-space: nowrap;
    	overflow: hidden;
    	text-overflow: ellipsis;
  	}
}

.custom-ableplayer--player-compact {
	--primary-control: 6rem;
	--primary-control-padding: 2rem;
}

@media screen and (min-width: 840px) {
	.custom-ableplayer--player-compact {
		--primary-control: 6rem;
  	}
}

.custom-ableplayer--player-compact .able-button-handler-restart,
.custom-ableplayer--player-compact .able-button-handler-rewind,
.custom-ableplayer--player-compact .able-button-handler-forward,
.custom-ableplayer--player-compact .able-button-handler-volume {
	display: none !important;
}

.custom-ableplayer--player-compact .able-controller {
	margin-top: 0;
  	padding-top: 0;
  	padding-left: calc(var(--primary-control) + var(--primary-control-padding));
  	justify-content: flex-end;
}

.custom-ableplayer--player-compact .able-seekbar-wrapper {
	padding-top: 0;
  	height: calc(var(--primary-control) * 0.9);
}

.custom-ableplayer--player-compact .able-right-controls,
.custom-ableplayer--player-compact .able-status-bar {
	margin-top: -1.5rem;
}

.custom-ableplayer--player-compact .able-status-bar {
	right: 4rem;
}

.custom-ableplayer--player-compact .custom-ableplayer__title {
	position: absolute;
  	width: 1px;
  	height: 1px;
  	padding: 0;
  	overflow: hidden;
  	clip: rect(0, 0, 0, 0);
  	white-space: nowrap;
  	clip-path: inset(50%);
  	border: 0;
}

@media screen and (min-width: 600px) {
	.custom-ableplayer--player-compact .able-controller {
		justify-content: space-between;
  	}
  
  	.custom-ableplayer--player-compact .able-seekbar-wrapper {
    	flex: 0 0 calc(100% - 15rem);
  	}
  
	.custom-ableplayer--player-compact .able-right-controls,
	.custom-ableplayer--player-compact .able-status-bar {
    	margin-top: 0;
  	}
  
  	.custom-ableplayer--player-compact .able-status-bar {
    	bottom: auto;
    	top: 50%;
    	transform: translateY(-50%);
  	}
}

.able-modal-dialog {
	padding: 2rem !important;
}

.able-modal-dialog .modalCloseButton {
	padding: 1rem;
  	line-height: 1;
  	min-width: 40px;
  	background-color: #eee;
  	color: #000;
}


/*** 	STC customizations 	***/

/*** re-align the controls  ***/
.custom-ableplayer .able-controller .able-right-controls {
	position: relative;
	margin-left: auto;
}

/*** Remove the re-alignment so that the modal is at the center ***/
div.able-modal-dialog {
  	transform: none !important;
  	top: 5% !important;
    left: 0 !important;
}

/*** 	End of STC customizations 	***/

