
body{
  	overflow-y:scroll;
}

td:not(.datesTable td) {
	font-size: 16px !important;
}

table {
	margin-bottom: 0 !important;
}

.favourite-button.btn-tertiary-b {
	color: #c06014 !important;
	background-color: #fff !important;
}

.favourite-button.btn-tertiary-b:hover, .favourite-button.btn-tertiary-b:focus, .favourite-button.btn-tertiary-b:active, .favourite-button.btn-tertiary-b:visited {
	color: #fff !important;
	background-color: #c06014 !important;
}


.long-description h6 {
	font-size:22px !important; 
	margin: 0 0 7.5px 0 !important; 
	color: #c06014;
	font-weight: 700; 
	line-height: 1.1;
}

.long-description h2 {
	font-size:18px !important; 
	margin: 0 0 7.5px 0 !important; 
	color: #000; 
	font-weight: 700; 
	line-height: 1.1;
}

.modal-open[style] {
	padding-right: 0px !important;
	overflow-y:scroll;
}

.listing-videos-container .thumbnail-container { 
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	cursor: pointer;
}

.listing-videos-container .play-container {
	width: 100%;
	height: 100%;
	z-index: 100;
	cursor: pointer;
}

.listing-videos-container .play-container .play {
	cursor: pointer;
	position: absolute;
	top: calc(50% - 37.5px);
	left: calc(50% - 37.5px);
	width: 75px;
	height: 75px;
	display: block;
	border: 4px solid #fff;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.6);
	border-radius: 50%;
	padding: 0;
	margin: 0 auto;
	user-select: none;
	background-color: rgba(0, 0, 0, 0.6);
	transition: background-color 0.5s ease;
}

.listing-videos-container .play-container .play:after {
	position: absolute;
	top: calc(50% - 16px);
	left: calc(50% - 9px);
	display: block;
	content: '';
	box-sizing: border-box;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
	border-width: 17px 0 17px 26px;
}

.listing-videos-container .play-container .play:hover {
	background-color: #c06014;
}

/* on a YouTube slide our button copies YouTube's own (68x48, red, rounded), so when the shared player fades in
   over the thumbnail on a phone (listings.js videoLayer) the button under the visitor's thumb does not change */
.listing-videos-container .video-player[data-youtube-video-id]:not([data-youtube-video-id=""]) .play-container .play,
.listing-videos-container .video-player[data-youtube-video-id]:not([data-youtube-video-id=""]) .play-container .play:hover {
	top: calc(50% - 24px);
	left: calc(50% - 34px);
	width: 68px;
	height: 48px;
	border: 0;
	box-shadow: none;
	border-radius: 14px;
	background-color: #f03;
	transform: none;		/* listing-v2.css grows the orange button on hover; YouTube's does not */
}

.listing-videos-container .video-player[data-youtube-video-id]:not([data-youtube-video-id=""]) .play-container .play:after {
	top: 14px;
	left: 27px;
	border-width: 10px 0 10px 18px;
}

/* and on a Vimeo slide it copies Vimeo's (a dark rounded rectangle), for the same reason - measured off Vimeo's
   player at phone width, where the fade happens */
.listing-videos-container .video-player[data-vimeo-id]:not([data-vimeo-id=""]) .play-container .play,
.listing-videos-container .video-player[data-vimeo-id]:not([data-vimeo-id=""]) .play-container .play:hover {
	top: calc(50% - 16px);
	left: calc(50% - 28px);
	width: 56px;
	height: 32px;
	border: 0;
	box-shadow: none;
	border-radius: 6px;
	background-color: rgba(0, 0, 0, 0.75);
	transform: none;
}

.listing-videos-container .video-player[data-vimeo-id]:not([data-vimeo-id=""]) .play-container .play:after {
	top: 8px;
	left: 22px;
	border-width: 8px 0 8px 14px;
}

/* ...and where Vimeo puts it: bottom-left, unless the player is tiny (listings.js placeVimeoButton) */
#media-carousel.vimeo-play-corner .listing-videos-container .video-player[data-vimeo-id]:not([data-vimeo-id=""]) .play-container .play {
	top: auto;
	left: 8px;
	bottom: 8px;
}

.listing-videos-container .vimeo-iframe {
	background-color: #000;
}

#media-carousel .carousel-caption {
	padding: 0 !important;
	margin-bottom: -8px;
}


@media (max-width: 767px) {
	#media-carousel .carousel-control {
		margin: 50px 0px;
		width: 10%;
	}
}
@media (min-width: 768px) {
	#media-carousel .carousel-control {
		margin: 9% 0 9% 0;
		width: 6%;
	}
}	

#media-carousel .carousel-control {
	z-index: 3;		/* above the shared YouTube player (.yt-layer, z-index 2) - under it, hovering the arrow flickered */
	background-image: none;
	color: #c06014;
	font-size: 30px;
	opacity: 0.8;
/*	text-shadow: 0 1px 3px rgba(0,0,0,1);*/
	text-shadow: none;
}



#media-carousel .carousel-control.left {
	display: flex;
  	align-content: center;
  	flex-direction: column;
  	align-items: flex-start;
  	justify-content: center;
  	/*padding-left:6px;*/
}

#media-carousel .carousel-control.right {
	display: flex;
  	align-content: center;
  	flex-direction: column;
  	align-items: flex-end;
  	justify-content: center;
  	/*padding-right:6px;*/
}


#media-carousel .carousel-control:hover {	
	opacity: 1;
}

@media (max-width: 767px) {
	#media-carousel .carousel-control .glyphicon-chevron-left {
		/*background-color: #fff;*/
		/*border-top-right-radius: 40px;*/
		/*border-bottom-right-radius: 40px;*/
		padding: 50px 0px 50px 6px;
		left: 0;
		top: auto;
		position: relative;
	}

	#media-carousel .carousel-control .glyphicon-chevron-right {
		/*background-color: #fff;*/
		/*border-top-left-radius: 40px;*/
		/*border-bottom-left-radius: 40px;*/
		padding: 50px 6px 50px 0px;
		right: 0;
		top: auto;
		position: relative;
	}
}

@media (min-width: 768px) {
	#media-carousel .carousel-control .glyphicon-chevron-left, #media-carousel .carousel-control .glyphicon-chevron-right {
		background-color: #fff;
		border-radius: 50%;
		top: auto;
		position: relative;
		width: 50px;
		height: 50px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}


#media-carousel .well {
	margin: 0 9%;
}

@media (max-width: 767px) {
	#media-carousel .well, #media-carousel .carousel-inner .listing-videos-container {
		margin: 0 10%;
	}
}

.soundCloudIframe {
	margin: 0 6%;
}

@media (max-width: 767px) {
	.soundCloudIframe {
		margin: 0 13%;
	}
}


#media-carousel .carousel-inner {
	border-radius: 5px;
}

/* the one shared YouTube player (listings.js videoLayer): sits over the video slide on screen.
   Hidden at once when the carousel moves (no transition), faded in when the next video is ready. */
#media-carousel .yt-layer {
	position: absolute;
	z-index: 2;
	opacity: 0;
	visibility: hidden;		/* opacity alone does not hide a video that has played on an iPhone - it stayed on screen while the slides moved */
	pointer-events: none;
	border-radius: 10px;	/* the same corners as the thumbnail under it (listing-v2.css) */
	overflow: hidden;
}

#media-carousel .yt-layer.yt-layer-shown {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.6s;	/* slow enough to read as a cross-fade over the thumbnail, not a pop */
}

#media-carousel .yt-layer iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* a video that is not 16:9 is letterboxed by Vimeo - black bars, as the old per-tap frame had (.vimeo-iframe) */
#media-carousel .yt-layer iframe.yt-layer-vimeo {
	background-color: #000;
}

/* invisible strips that take swipes for the carousel, round a hole left for the player's own play button */
#media-carousel .yt-swipe {
	display: none;
	position: absolute;
	z-index: 1;
}

#media-carousel .yt-layer-strips .yt-swipe {
	display: block;
}

/* paused or finished: one strip covers the whole slide, so it all swipes (a tap on it plays again);
   playing: the top 60% only, leaving the lower part to the player's controls - its position bar sits well above
   the bottom edge on a phone, and a drag along it was being read as a swipe (a tap on the strip pauses) */
#media-carousel .yt-layer-paused .yt-swipe-left,
#media-carousel .yt-layer-playing .yt-swipe-left {
	width: 100%;
}

#media-carousel .yt-layer-playing .yt-swipe-left {
	bottom: 40%;
}

#media-carousel .yt-layer-paused .yt-swipe-right,
#media-carousel .yt-layer-paused .yt-swipe-top,
#media-carousel .yt-layer-paused .yt-swipe-bottom,
#media-carousel .yt-layer-playing .yt-swipe-right,
#media-carousel .yt-layer-playing .yt-swipe-top,
#media-carousel .yt-layer-playing .yt-swipe-bottom {
	display: none;
}

/* before the first play the strips cover everything but a 100x72 hole round the player's own button (YouTube's is
   68x48 in the middle). The hole was 40% of the slide each way, and a swipe that started in it went to the player,
   which cannot stop the page scrolling - with the video edge to edge on a phone, left-to-right swipes kept moving
   the page up and down instead of the carousel (Adam, 28 Sep 2026) */
#media-carousel .yt-swipe-left		{ top: 0; bottom: 0; left: 0; width: calc(50% - 50px); }
#media-carousel .yt-swipe-right		{ top: 0; bottom: 0; right: 0; width: calc(50% - 50px); }
#media-carousel .yt-swipe-top		{ top: 0; left: calc(50% - 50px); right: calc(50% - 50px); height: calc(50% - 36px); }
#media-carousel .yt-swipe-bottom	{ bottom: 0; left: calc(50% - 50px); right: calc(50% - 50px); height: calc(50% - 36px); }

/* a Vimeo player bigger than tiny has its button in the bottom-left corner instead (listings.js placeVimeoButton):
   the hole moves there, 72x56 - or the first tap landed on a strip and the iPhone started the video muted */
#media-carousel.vimeo-play-corner .yt-layer-vimeo-on.yt-layer-strips:not(.yt-layer-playing):not(.yt-layer-paused) .yt-swipe-left {
	width: 72px;
	bottom: 56px;
}

#media-carousel.vimeo-play-corner .yt-layer-vimeo-on.yt-layer-strips:not(.yt-layer-playing):not(.yt-layer-paused) .yt-swipe-right {
	left: 72px;
	width: auto;
}

#media-carousel.vimeo-play-corner .yt-layer-vimeo-on.yt-layer-strips:not(.yt-layer-playing):not(.yt-layer-paused) .yt-swipe-top,
#media-carousel.vimeo-play-corner .yt-layer-vimeo-on.yt-layer-strips:not(.yt-layer-playing):not(.yt-layer-paused) .yt-swipe-bottom {
	display: none;
}

#owl-demo .item img, img.mfp-img {
	border-radius: 4px;
}

div.jp-audio, {

	/* Edit the font-size to counteract inherited font sizing.
	 * Eg. 1.25em = 1 / 0.8em
	 */

	font-size:1.25em; /* 1.25em for testing in site pages */ /* No parent CSS that can effect the size in the demos ZIP */

/*	font-family:'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
	line-height:1.6;

	border:1px solid #191919;
	background-color:#fff;
}

.logo-audio-player {
    float: right;
    width: 80px !important;
    border-radius: 0 !important;
}

.audio-player-border {
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	overflow: clip;
}

div.jp-interface {
	background-color:#fff;
	width:100%;
	padding: 15px 30px 5px 30px;
}

.mutePosition {
	position:relative;
	top:4px;
	color:#c06014;
}


/* @group CONTROLS */

.jp-controls {
	height:40px;
	width:98px;
	margin:0 auto 0 auto;
	padding:0;
	-webkit-padding-start: 0!important;
}

div.jp-interface ul.jp-controls li {
	display:inline;
	float:left;
}

div.jp-interface ul.jp-controls a {
	display:block;
	overflow:hidden;
	text-indent:-9999px;
}
a.jp-play,
a.jp-pause {
	width:40px;
	height:40px;
	margin-bottom:16px;
	margin-top:13px;
	margin-left:2px;
}

a.jp-play {
	background: url("/skin/jplayer.blue.monday.jpg") 0 0 no-repeat;
}
a.jp-play:hover {
	background: url("/skin/jplayer.blue.monday.jpg") -41px 0 no-repeat;
}
a.jp-pause {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -42px no-repeat;
	display: none;
}
a.jp-pause:hover {
	background: url("/skin/jplayer.blue.monday.jpg") -41px -42px no-repeat;
}

a.jp-stop, a.jp-previous {
	width:28px;
	height:28px;
	margin-top:20px;
	margin-left:0px;
}

a.jp-next {
	width:28px;
	height:28px;
	margin-top:20px;
	margin-left:0px;
}




a.jp-previous {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -112px no-repeat;
}
a.jp-previous:hover {
	background: url("/skin/jplayer.blue.monday.jpg") -29px -112px no-repeat;
}

a.jp-next {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -141px no-repeat;
}
a.jp-next:hover {
	background: url("/skin/jplayer.blue.monday.jpg") -29px -141px no-repeat;
}

/* @end */

/* @group progress bar */

div.jp-progress {
	margin-top:15px;
	overflow:hidden;
	background-color: #ddd;
}
div.jp-audio div.jp-progress {
	height:3px;
	width:100%;
}


div.jp-seek-bar {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -212px repeat-x;
	width:0px;
	height:100%;
	cursor: pointer;
}
div.jp-play-bar {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -228px repeat-x ;
	width:0px;
	height:100%;
}

/* The seeking class is added/removed inside jPlayer */
div.jp-seeking-bg {
	background: url("/skin/jplayer.blue.monday.seeking.gif");
}

/* @end */

/* @group volume controls */


a.jp-mute,
a.jp-unmute,
a.jp-volume-max {
width:18px;
height:15px;	
}

a.jp-mute {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -170px no-repeat;
	margin-left:5px;
	margin-top:8px;
}
a.jp-volume-max {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -186px no-repeat;
	margin-top:8px;
}

div.jp-volume-bar {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -250px repeat-x;
	width:80px;
	height:5px;
	cursor: pointer;
}

div.jp-volume-bar-value {
	background: url("/skin/jplayer.blue.monday.jpg") 0 -256px repeat-x;
	width:0px;
	height:5px;
}

/* @end */

/* @group current time and duration */

div.jp-audio div.jp-time-holder {
	overflow: auto;
}
div.jp-audio div.jp-type-single div.jp-time-holder {

	width:100%;
}
div.jp-audio div.jp-type-playlist div.jp-time-holder {
	left:0;
	width:100%;
}

div.jp-current-time,
div.jp-duration {
	width:60px;
	font-size:.64em;
	color:#000;
	padding: 8px 0 0 0;
}
div.jp-current-time {
	float: left;
	display:inline;
}
div.jp-duration {
	float: right;
	display:inline;
	text-align: right;
	padding: 8px 0 0 0;
}

div.jp-video div.jp-current-time {
	margin-left:20px;
}
div.jp-video div.jp-duration {
	margin-right:20px;
}

/* @end */

/* @group playlist */
div.jp-details {
	font-weight:bold;
	text-align:center;
}
div.jp-details,
div.jp-playlist {
	max-height:287px; 
	overflow-y: auto;
	overflow-x: hidden;
	width:100%;
	border-top: 1px solid #ccc;
	margin-top: 8px;
}
div.jp-details ul,
div.jp-playlist ul {
	list-style-type:none;
	margin:0;
	padding:0px;
	font-size:14px;
/*	font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;*/
}

div.jp-details li {
	padding:5px 0;
	font-weight:bold;
}
div.jp-playlist li {
	padding:5px 15px 5px 15px;
	border: 1px solid #ddd;
	border-width:1px;
	margin: 8px;
	border-radius:3px;
	box-shadow: 0 3px 8px rgba(120,120,120,.2);
	background-color: #fff;
}
div.jp-playlist li div {
	display:inline;
}
.ui-sortable {
	cursor: move;
}
div.jp-type-playlist div.jp-playlist a {
	color: #333;
	text-decoration: none;
	word-break: break-all;
}
div.jp-type-playlist div.jp-playlist a:hover {
	color:#c06014;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-current {
	color:#c06014;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-current:hover {
	color:#c06014;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-current:active {
	color:#0e68b0;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-item-remove {
	float:right;
	display:inline;
	text-align:right;
	font-weight:bold;
	font-size: 12px;
	color:#666;
	padding-top:5px;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-item-remove:hover {
	color:#c06014;
}
div.jp-type-playlist div.jp-playlist span.jp-free-media a{
	color:#666;
}
div.jp-type-playlist div.jp-playlist span.jp-free-media a:hover{
	color:#0e68b0;
}

/* @group NO SOLUTION error feedback */
.jp-no-solution {
	padding:5px;
	font-size:.8em;
	background-color:#eee;
	border:2px solid #0e68b0;
	color:#000;
	display:none;
}

.jp-no-solution a {
	color:#000;
}

.jp-no-solution span {
	font-size:1em;
	display:block;
	text-align:center;
	font-weight:bold;
}





.vimeo-embed-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	height: 0; 
	overflow: hidden; 
	max-width: 100%; 
	height: auto; 
} 

.vimeo-embed-container iframe, .vimeo-embed-container object, .vimeo-embed-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
}

#instagramCarousel {
	border-radius: 4px;
	overflow: clip;
}

#instagramAlbumCarousel .carousel-control .glyphicon {
	background: #fff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    color: #000;
    padding-top: 5px;
    font-size: 30px;
}

#instagramCarousel .carousel-control {
	background-image: none;
	width: 46px;
	color: #c06014;
	font-size: 30px;
	opacity: 1;
	text-shadow: none;
}

#instagramCarousel .carousel-control:hover {	
	opacity: 0.8;
}

#instagramCarousel {
	background-color: #fff;
	border: 1px solid #ccc;
}

.mfp-content .ident {
    width: 40px;
    height: 40px;
    line-height: 36px;
    display: block;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    border: 2px solid #d4d4d4;
    text-align: center;
    font-weight: 700;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.mfp-bg {
	opacity: 1;
}

.mfp-counter {
	color: #fff;
	font-size: 16px;
}

@media only screen and (min-width: 768px) {
	.mfp-content, .mfp-img {
		height: 85vh !important;
	}
}

img.mfp-img, .mfp-iframe-holder {
	padding: 0;
	background-color: #000;
	margin: 0;
}

.mfp-iframe-scaler {
	padding: 50%;
}

.carousel-right-info {
	line-height: 22px; 
	background-color: #fff; 
	padding-bottom: 10px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.mfp-counter {
	position:absolute;
}

.mfp-title {
	padding-right: 0;
}

.mfp-bottom-bar {
	margin-top: 0;
}

.mfp-close {
	cursor: pointer !important;
	font-size: 40px;
	color: #fff !important;
	opacity: 0.9;
	width: 50px;
	height: 50px;
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.mfp-close {
		top: 0;
		margin-right: 0;
	}
}

.mfp-close:hover {
	opacity: 1;
}

.instagram-item-container {
	padding: 1px;
}

.instagram-item-icon {
	position: absolute; 
	top: 6px; 
	right: 10px;
}

.instagram-media-item {
	background-repeat: no-repeat; 
	background-position:50%; 
	background-size: cover; 
	padding-top:100%;
}




