/*
Theme Name: Singalonga Theme
Theme URI: n/a
Author: Raffaele Malanga / Els van Bloois
Author URI: https://farstudios.com/
Description: Theme for Singalonga.com
Version: 1.0
License: no license, use a theme from https://wordpress.org/themes/ instead.
License URI: n/a
Tags: n/a
Text Domain: singalongatheme
*/

/* colours 

red: #CC1618
white background: #ffffff;
almost white background: #FEFEF5; (only on show pages between header and search bar)
pink: #B70D80 (on links in text)

*/

/* temp styles to see what I'm doing */

body{
	background:#383838;
	color:white;
}
#page{
	background:#fff;
	color:#000;
}
#content{
	background:transparent;
	color:black;
}
.home #content{
	background:#fff;
	color:black;
}
.single-show #content{
	background:#fefef5;
	color:black;
	padding-bottom:35px; /* for overlap of .searchbar */
}

/* end temp styles */

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on October 22, 2019 */
@font-face {
    font-family: 'high_speedregular';
    src: url('fonts/highspeed-webfont.woff2') format('woff2'),
         url('fonts/highspeed-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html,body,h1,h2,h3,h4,h5,h6,p,ul,li,form{
	padding:0;
	margin:0;
}
.screen-reader-text{
	position:absolute;
	top:-40000px;
	left:-40000px;
}
.skip-link:focus{
	top:40px;
	left:40px;
	background:white;
	color:black;
	padding:10px 20px;
	border:2px solid black;
	text-decoration:none;
	text-transform:uppercase;
	font-size:100%;
}
body{
	font-family:"Livvic",Arial,sans-serif;
	font-size:100%;
	line-height:1;
}
form.wpcf7-form input,
form.wpcf7-form textarea,
form.wpcf7-form select{
	font-family:"Livvic",Arial,sans-serif;
}
.bookbutton,
.strap{
	font-family:"high_speedregular","Livvic",Arial,sans-serif;
	font-size:100%;
}
.lyrics{
	font-family:"Carter One","Livvic",Arial,sans-serif;
}
.menu-toggle{
	display:none;
}
.outer{
	padding:0 20px;
	box-sizing:border-box;
}
.inner{
	max-width:1160px;
	margin:0 auto;
	position:relative;
}
strong{
	font-weight:600;
}
img,
iframe{
	max-width:100%;
}
a{
	color:#cc1618;
}
a:focus,
a:hover,
a:active{
	color:black;
	text-decoration:underline dashed black;
}

.site-nav{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:57px;
	background:#fff;
	z-index:3000; /* goes in front of everything, always */
	border-bottom:1px solid #fff;
	transition:all .5s ease-in-out 0s;
}
.site-nav #site-navigation{
	height:57px;
	transition:height .5s ease-in-out 0s;
}
.space-usa,
.space-canada{
	padding-right:70px;
}
.space-aus-nz{
	padding-right:130px;
}
.navflag{
	position:absolute;
	top:0;
	right:0;
}
.navflag img{
	max-height:70px;
}

.admin-bar .site-nav{
	top:32px;
}
@media(max-width:782px){
	.admin-bar .site-nav{
		top:46px;
	}
}
#page{
	padding-top:57px;
}
.site-branding{
	position:absolute;
	left:0;
	top:0;
}
.site-branding img{
	height:170px;
	transition:height 0.5s ease-in-out 0s;
}
#page.scroll20px .site-branding img{
	height:130px;
}
#page.scrolled .site-branding img{
	height:67px;
}
.site-branding *{
	max-width:100%;
}
.site-nav ul{
	background:#fff;
	color:#CC1618;
	font-size:17px;
	font-weight:700;
	text-transform:uppercase;
	text-align:right;
}
.site-nav ul li{
	display:inline-block;
	position:relative;
}
.site-nav ul li a{
	display:block;
	padding:19px 17px;
}
.site-nav ul li ul li.current-page-ancestor a, /* this one because for some reason the booking form page doesn't register as a child of country page */
.site-nav ul li.current-page-parent > a,
.site-nav ul li.current-menu-parent > a,
.site-nav ul li.current-menu-item > a,
.site-nav ul li.current_page_item > a,
.site-nav ul li a:focus,
.site-nav ul li a:hover,
.site-nav ul li a:active{
	color:black;
}
.site-nav .bookbutton{
	float:right;
	margin-left:30px;
}
.site-nav .bookbutton a{
	color:white !important; /* should not turn black on mouseover */
	background:url(img/minimap.png) #CC1618 no-repeat 11px 7px / 30px auto;
	height:67px;
	font-size:19px;
	box-sizing:border-box;
	padding:15px 22px 15px 53px;
	border-radius:0 0 15px 15px;
}
.site-nav .bookbutton a:focus,
.site-nav .bookbutton a:hover,
.site-nav .bookbutton a:active{
	height:72px;
	border-top:5px solid #cc1618;
}
@keyframes blinker{
	0%{
		text-shadow:none;
	}
	45%{
		text-shadow:none;
	}
	50%{
		text-shadow:0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
	}
	95%{
		text-shadow:0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
	}
	100%{
		text-shadow:none;
	}
}
.site-nav .bookbutton a{
	animation-name:blinker;
	animation-duration:2000ms;
	animation-iteration-count:infinite;
	animation-timing-function:linear;
}

.site-nav ul li.page-item-16 a{
	padding-right:0;
}
.site-nav ul li ul{
	display:none;
	position:absolute;
	width:310px;
	text-align:left;
	padding:17px 0;
}
@media(max-width:1300px){
	.site-nav ul li.worldwide ul{
		right:0;
	}
}
.site-nav ul li:hover ul{
	display:block;
}
.site-nav ul li ul li{
	display:block;
}
.site-nav ul li ul li a{
	padding:6px 17px;
}
.site-nav ul li a{
	color:#CC1618;
	text-decoration:none;
}

#masthead{
	background:url(img/masthead-page.jpg) white no-repeat center bottom / cover;
}
.post-type-archive-show-usa #masthead,
.post-type-archive-show-canada #masthead,
.post-type-archive-show-aus-nz #masthead,
.page-id-16 #masthead,
.parent-pageid-16 #masthead,
.parent-pageid-6639 #masthead,
.parent-pageid-6641 #masthead,
.parent-pageid-6643 #masthead{
	background:url(img/masthead-page-worldwide.jpg) white no-repeat center bottom / cover;
}
.home #masthead{
	background:url(img/masthead-home.jpg) black no-repeat center / cover;
}
.single-show #masthead{
	background:url(img/masthead-show.jpg) black no-repeat center / cover;
}
#masthead .inner{
	height:0;
	padding-top:47.43%;
}
.single-show #masthead .inner{
	padding-top:43.5%;
}
.home #masthead .inner{
	padding-top:59.05%;
}
.mastheadvideo{
	position:absolute;
	bottom:-7.7%;
	right:0%;
	width:65.5%;
	background-color:yellow;
	box-sizing:border-box;
	border:12px solid #ffffff;
	border-radius:7px;
	box-shadow:0 15px 30px -18px #000;
/*	overflow:hidden; */ /* to make sparkles 'stick out' */
	z-index:1001;
}
.home .mastheadvideo{
	position:absolute;
	bottom:auto;
	right:auto;
	top:11%;
	left:10%;
	width:80%;
	background:purple;
	box-shadow:0px 15px 30px 5px #000;
	z-index:1004;
	transform:perspective(1200px) rotateX(-7deg);
	transition:all .2s ease-in-out 0s;
}
@supports (-ms-ime-align: auto) {
	// exclude Edge
	.home .mastheadvideo{
		transform:perspective(0) rotateX(0deg);
	}
}
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0){
	@media {
		// exclude Safari
		.home .mastheadvideo{
			transform:perspective(0) rotateX(0deg);
		}
	}
}
.home .flipvideo .mastheadvideo,
.home .scroll20px .mastheadvideo{
	transform:perspective(0) rotateX(0deg);
}
#masthead .sparkle{
	display:none;
}
.home #masthead .sparkle{
	display:block;
	position:absolute;
	width:104px;
	height:104px;
	margin-left:-52px;
	margin-top:-52px;
	background:url(img/sparkle.png) transparent no-repeat center / contain;
	z-index:1005;
}
.sparkle1{
	top:27%;
	left:-6px;
}
.sparkle2{
	top:-6px;
	left:calc(100% + 6px);
}

.home #masthead .sparkle{
	-moz-animation-name: sparkle;
	-moz-animation-duration: 3000ms;
	-moz-transform-origin:50% 50%;
	-moz-animation-iteration-count: infinite;
	-moz-animation-timing-function: linear;
	-webkit-animation-name: sparkle;
	-webkit-animation-duration: 3000ms;
	-webkit-transform-origin:50% 50%;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	animation-name: sparkle;
	animation-duration: 3000ms;
	transform-origin:50% 50%;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.home #masthead .sparkle1{
	animation-timing-function: cubic-bezier(1,.52,.15,.68);
}
@-moz-keyframes sparkle{
	0% {
		-moz-transform: rotateZ(0deg);
		background-size:0% 0%;
	}
	50% {
		-moz-transform: rotateZ(180deg);
		background-size:100% 100%
	}
	100% {
		-moz-transform: rotateZ(360deg);
		background-size:0% 0%;
	}
}
@-webkit-keyframes sparkle{
	0% {
		-webkit-transform: rotateZ(0deg);
		background-size:0% 0%;
	}
	50% {
		-webkit-transform: rotateZ(180deg);
		background-size:100% 100%
	}
	100% {
		-webkit-transform: rotateZ(360deg);
		background-size:0% 0%;
	}
}
@keyframes sparkle{
	0% {
		transform: rotateZ(0deg);
		background-size:0% 0%;
	}
	50% {
		transform: rotateZ(180deg);
		background-size:100% 100%
	}
	100% {
		transform: rotateZ(360deg);
		background-size:0% 0%;
	}
}
.scrolldown{
	background:url(img/scroll-down.png) transparent no-repeat center bottom / contain;
	height:83px;
	width:114px;
	position:fixed;
	left:50%;
	bottom:10px;
	margin-left:-57px;
	transition:bottom .5s ease-in-out 0s;
	z-index:2000;
}
.scrolled .scrolldown{
	bottom:-100px;
}

.videobox{
	position:relative;
	width:100%;
	height:0;
	padding-top:56.25%;

	background-color:black;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;

}
.videobox iframe,
.videobox video{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.showlogo{
	position:absolute;
	top:23%;
	left:0;
	width:31.2%;
	z-index:1006; /* in front of overlay with crowd */
}
.showlogo .inside{
	width:100%;
	height:0;
	padding-top:50%;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:contain;
}
.showlogo .button a{
	display:block;
	max-width:180px;
	background:white;
	color:#CC1618;
	font-size:17px;
	font-weight:700;
	text-transform:uppercase;
	text-decoration:none;
	text-align:center;
	box-sizing:border-box;
	padding:15px;
	border-radius:10px;
	margin-top:20px;
}
.mastheadoverlay{
	margin-top:-16.4%;
	position:relative;
	z-index:1000; /* over background, under video */
}
.home .mastheadoverlay{
	margin-top:-21.1%;
	position:relative;
	z-index:1005; /* over video */
}

.home .mastheadvideo:hover{
	z-index:1006; /* go in front of overlay, to combine with the setting below */
}
.home #masthead .mastheadoverlay:hover{
	z-index:1003; /* behind video, for interaction with volume + pause/play controls */
}

.crowd{
	width:100%;
	height:0;
	padding-top:16.4%;
	background:url(img/crowd.png) transparent repeat-x center top / auto 100%;
}
.home .crowd{
	padding-top:16.5%;
}
.homeintro{
	width:100%;
	background:black;
	color:white;
	text-align:center;
	padding-bottom:70px;
}
.homeintro h2.strap{
	font-size:42px;
	word-spacing:-12px;
	line-height:1.5;
	padding:0 0;
	margin-bottom:1em;
	text-shadow:
	-6px -6px 5px rgba(15,34,124,1),
	6px -6px 5px rgba(15,34,124,1),
	-6px 6px 5px rgba(15,34,124,1),
	6px 6px 5px rgba(15,34,124,1),
	-6px -6px 5px rgba(15,34,124,1),
	6px -6px 5px rgba(15,34,124,1),
	-6px 6px 5px rgba(15,34,124,1),
	6px 6px 5px rgba(15,34,124,1);
}
.homeintro p{
	font-size:27px;
	font-weight:600;
	line-height:1.3;
	padding:0;
	max-width:90%;
	margin:0 auto;
}
#masthead.regpage{
	margin-bottom:-9.5%;
	margin-bottom:-7.5%;
}
.page-id-10 #masthead.regpage{
	margin-bottom:-10.5%;
}
.page-id-10 #content{
	min-height:0;
}
.page-id-10 h1.page-title{
	margin-bottom:0;
}

.cols2{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-bottom:1px;
}
.cols2 .col{
	width:46.8%;
}
.page-template-page-what-happens .cols2{
	background:url(img/div-star.png) transparent repeat-y center top / 33px auto;
}
.page-template-page-what-happens .cols2 .col{
	width:43.63%;
}
.hptd{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-top:65px;
	padding-bottom:10px;
}
.coltext{
	width:31.2%;
}
.coldates{
	width:65.6%;
}
.coltext p{
	font-size:17px;
	line-height:1.6;
	margin-bottom:0.6em;
}
.home .tdbox{
	height:340px; /* only on the homepage do we want a scrollbar! */
}
.home .tdbox.noscroll{
	height:auto;
}
.coldates h2{
	float:left;
	font-size:27px;
	font-weight:700;
	text-transform:uppercase;
	padding-bottom:20px;
}
.coldates .button{
	float:right;
	padding-bottom:20px;
	padding-top:3px;
	margin-left:15px;
}
.coldates .button a,
.tourdates .book2 a,
.tourdates .book2 span,
.tourdates .phone2 span{
	display:inline-block;
	background:#CC1618;
	color:#fff;
	font-size:10px;
	font-weight:600;
	text-transform:uppercase;
	text-decoration:none;
	line-height:1.4;
	padding:5px 10px;
	border:1px solid #CC1618;
	border-radius:5px;
	white-space:nowrap;
}
.tourdates .book2 a:focus,
.tourdates .book2 a:hover,
.tourdates .book2 a:active,
.button a:focus,
.button a:hover,
.button a:active,
#footersocial form input[type="submit"]:focus,
#footersocial form input[type="submit"]:hover,
#footersocial form input[type="submit"]:active{
	border-color:black;
	background:black;
	color:white;
}

.tourdates .phone2 span{
	background:#fff;
	color:#CC1618;
}

.tourdates .overview{
	display:table;
	width:100%;
	border-bottom:1px solid #CECECE;
}
.tourdates .overview p{
	display:table-row;
}
.tourdates .overview p span.notourdates{
	display:table-cell;
	padding:15px 0;
}
.tourdates .overview p span.thumb,
.tourdates .overview p span.datetime,
.tourdates .overview p span.showloc,
.tourdates .overview p span.phonebook{
	display:table-cell;
	padding:15px 10px;
	border-top:1px solid #CECECE;
	vertical-align:middle;
}
.tourdates .overview p span.thumb{
	padding-left:0 !important;
}
.tourdates .overview p span.phonebook{
	padding-right:1px !important;
	padding-left:5px; /* so we have room for Irish phone numbers */
	text-align:right;
}
.tourdates .overview p span.showloc a{
	color:inherit;
	text-decoration:none;
}
.tourdates .phone2,
.tourdates .book2{
	display:inline-block;
	margin:3px 0;
}
.tourdates .book2 a,
.tourdates .book2 span{
	box-sizing:border-box;
	text-align:center;
	margin-left:10px;
}
.tourdates .overview p span.thumb span,
.tourdates .overview p span.datetime span,
.tourdates .overview p span.showloc span{
	display:block;
}
.tourdates .overview p span.thumb{
	width:105px;
	vertical-align:middle;
}
.tourdates .overview p span.thumb span{
	width:100%;
	height:0;
	padding-top:57.14%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.tourdates .overview p span.datetime{
	min-width:112px;
	font-size:12px;
	font-size:11px; /* PSD says 12px, but then the 9 goes up in the line */
	font-weight:500;
	text-transform:uppercase;
	line-height:24px;
}
.tourdates .overview p span.showloc{
	font-size:14px;
	font-weight:500;
	line-height:24px;
}
.tourdates .overview p span.showloc span.show{
	font-weight:600;
	text-transform:none;
}

#content{
	min-height:120px;
}
#main{
	padding-bottom:70px;
}
h1.page-title,
h1.col-title{
	font-size:27px;
	font-weight:700;
	text-transform:uppercase;
	line-height:1.2;
	margin-bottom:1em;
}
h1.page-title{
	text-align:center;
}
.archive h1.page-tilte,
.blog h1.page-title,
.single h1.page-title,
.search h1.page-title{
	text-align:left;
}


/* shows landing */

.shows{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	text-align:center;
	margin-left:-1.25%;
	margin-right:-1.25%;
}
.shows.wwpage{
	margin-bottom:40px;
}
.shows .show{
	width:25%;
	display:block;
	box-sizing:border-box;
	padding:0 1.25%;
	margin-bottom:2.5%;
}
.shows .show a{
	display:block;
	height:100%;
	text-decoration:none;
	color:#CC1618;
	border-radius:6px;
	overflow:hidden;
	box-shadow:2px 5px 10px -6px #000;
}
.shows .show a:focus,
.shows .show a:hover,
.shows .show a:active{
	position:relative;
	top:1px;
	box-shadow:2px 3px 8px -6px #000;
}
.shows .show h2{
	font-size:19px;
	font-weight:600;
	line-height:1.3;
	padding:.65em 5px 0.85em 5px;
}

/* show page things */

.showpage{
	padding-top:9%;
}
.showpage .inner{
	overflow:hidden;
}
.showpage #primary{
	float:right;
	width:65.6%;
	/* cursor:url(img/eighth-note.png) 13 22, auto; */
}
.showpage #secondary{
	float:left;
	width:31.2%;
}
.fblink a{
	display:flex;
	align-items:center;
	min-height:68px;
	background:url(img/sticker-facebook.png) transparent no-repeat left center / 58px auto;
	color:#CC1618;
	font-size:15px;
	font-weight:700;
	text-decoration:none;
	line-height:1.2;
	padding-left:68px;
	margin-bottom:1.6em;
}
.sbb{
	margin-bottom:2em;
}
.showpage #secondary h2{
	font-size:18px;
	font-weight:600;
	text-transform:uppercase;
	line-height:1.2;
	margin-bottom:1.3em;
}
.perfinfo{
	min-height:26px;
	background-repeat:no-repeat;
	background-position:left top;
	background-size:26px auto;
	padding-left:40px;
	margin-bottom:1.5em;
}
.perfinfo h3,
.perfinfo p{
	font-size:15px;
	line-height:1.4;
}
.perfinfo h3{
	font-weight:600;
}
.gallery{
	max-width:280px;
	padding-left:6px;
	padding-top:15px;
	padding-right:30px;
}
.gallery a{
	display:block;
	background:black;
	border:6px solid white;
	border-radius:1px;
	box-shadow:5px 5px 10px -5px #000;
	transform:rotate(-1deg);
	box-sizing:border-box;
}
.gallery a img{
	border:6px solid white;
	border-radius:1px;
	box-shadow:5px 5px 10px -5px #000;
	transform:rotate(7deg);
	box-sizing:border-box;
	margin-top:-6px;
	margin-bottom:-6px;
	max-width:calc(100% + 12px);
}
.gallery a span{
	display:block;
	position:absolute;
	top:0;
	left:6px;
	width:100%;
	height:100%;
	background:url(img/sticker-gallery.png) transparent no-repeat center / 58px auto;
}
.sharebox{
	padding-top:44px;
}
.sharebox h3{
	float:left;
	font-size:14px;
	font-weight:600;
	line-height:24px;
	margin-right:5px;
}
.sharebox .addthis_inline_share_toolbox{
	clear:none !important;
}
.sharebox .at-style-responsive .at-share-btn{
	padding:3px !important;
	margin-left:8px;
}



.lyrics{
	padding:1.3em 0;
	background-image:url(img/lyrics-star.png),url(img/lyrics-star.png);
	background-repeat:repeat-x;
	background-position:left top, left bottom;
	background-size:auto 19px;
	color:#CC1618;
	font-size:24px;
	text-transform:uppercase;
	line-height:1.2;
	margin-bottom:1.2em;
	/* cursor:url(img/quarter-rest.png) 11 28, auto; */
}
.lyrics .marquee{
	height:30px;
	overflow:hidden;
	position:relative;
}
.entry-content .lyrics p{
	font-size:24px;
	margin-bottom:0;
	position:absolute;
	white-space:nowrap;
	height:100%;
	line-height:30px;
	/* margin-left:100%; */
	transform:translateX(700px);
	animation:scrollinglyrics 30s linear infinite;
	/* the number of seconds will be changed after page load, via jQuery */
	/* about 15s per 1500px */
}
@keyframes scrollinglyrics{
	0%{
		transform: translateX(700px);
		/* margin-left:100%; */
	}
	100%{
		transform: translateX(-100%);
		/* margin-left:calc(-100%); */
	}
}
.entry-content .lyrics:hover p{
	animation-play-state:paused !important;
}
.entry-header p{
	font-size:27px;
	font-weight:500;
	line-height:1.2;
	margin-bottom:0.3em;
}
.entry-header h1{
	font-size:40px;
	font-weight:600;
	line-height:1.2;
	margin-bottom:0.5em;
}
.entry-header h1 span{
	font-size:24px;
}
.entry-content h2{
	font-size:18px;
	font-weight:600;
	line-height:1.5;
	margin-bottom:0;
}
.entry-content p{
	font-size:18px;
	line-height:1.5;
	margin-bottom:1em;
}
.entry-content p.caption{
	font-size:14px;
	color:#666;
}
div.imgbox{
	margin-bottom:1em;
}
/* only on UK What Happens page */

.page-template-page-what-happens .cols2 .imgbox{
	float:left;
	width:45%;
	margin-right:15px;
}


.entry-content .reviewswrapper{
	padding-top:50px;
	background:url(img/div-star.png) transparent repeat-x -7px 17px / 33px auto;
}
.reviewswrapper.wwpage{
	max-width:943px;
	margin:40px auto 0 auto;
}
.entry-content .reviews,
.entry-content .review{
	font-size:22px; /* set on parent for bxslider height calculations */
	font-weight:600;
	line-height:1.2;
	text-align:center;
	color:#cc1618;
}
.entry-content .review{
	padding:1em 0;
}
.entry-content .review:hover{
	/* cursor:url(img/quarter-rest.png) 11 28, auto; */
	/* this should be removed if we remove the function that stops the fader on mouseover */
}
.entry-content .review p{
	/* font-size:22px; */
	font-size:18px;
	/* line-height:1.15; */
	margin-bottom:0.7em;
}
.entry-content .review p.byline{
	/* font-size:14px; */
	font-size:13px;
	text-transform:uppercase;
	margin-bottom:0;
}



/* news things */

.newspage .inner{
	overflow:hidden;
}
.newspage #primary{
	float:left;
	width:65.6%;
}
.newspage #secondary{
	float:right;
	width:31.2%;
	padding-top:60px;
}
.newspost{
	overflow:hidden;
	padding-bottom:15px;
	margin-bottom:15px;
}
.newsthumb{
	float:left;
	width:208px;
}
.entry-details{
	margin-left:230px;
}
.entry-details h2{
	font-size:18px;
	font-weight:600;
	line-height:1.3;
	margin-bottom:.2em;
}
.entry-details p{
	font-size:16px;
	line-height:1.5;
	margin-bottom:.7em;
}
.entry-details .posted-on{
	font-size:12px;
	margin-bottom:0;
}


/* twitter */

.twitterbox{
	position:relative;
	margin:-10px;
}


/* worldwide */

.pageintro,
.introtext{
	width:100%;
	text-align:center;
	padding-bottom:70px;
}
.pageintro p{
	font-size:27px;
	font-weight:600;
	line-height:1.3;
	padding:0;
	max-width:90%;
	margin:0 auto;
}
.worldwidelinks{
	list-style:none;
	display:flex;
	justify-content:center;
	font-size:14px;
	text-align:center;
	margin-bottom:50px;
}
.worldwidelinks li{
	padding:0 2%;
	margin-bottom:10px;
}
.worldwidelinks a{
	text-decoration:none;
}
.worldwidelinks img{
	max-height:148px;
}
.worldwidelinks span{
	display:block;
}
.page-template-default .entry-content,
.page-template-page-worldwide-subpage .entry-content{
	max-width:800px;
	margin:0 auto;
}

/* all form fields */

input,
textarea,
select{
	box-sizing:border-box;
	padding:5px 10px;
	border-radius:5px;
}
input{
	font-size:14px;
	height:30px;
	vertical-align:middle;
	line-height:1.5;
}
input[type=submit]{
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	padding:5px 15px;
	cursor:pointer;
}

/* end all form fields */

/* booking form */

form.wpcf7-form input,
form.wpcf7-form textarea,
form.wpcf7-form select{
	background:#fff;
	border:1px solid #ACACAC;
	margin-right:0;
	width:100%;
	font-size:14px;
}
form.wpcf7-form input[type=submit]{
	width:auto;
	background:#CC1618;
	color:#fff;
	border-color:#CC1618;
	margin-left:50%;
	font-size:12px;
	padding:5px 30px 3px 30px;
}
form.wpcf7-form input.wpcf7-mathcaptcha{
	width:auto;
}
form.wpcf7-form p{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
form.wpcf7-form label{
	width:47%;
	margin-bottom:7px;
}
form.wpcf7-form .wpcf7-form-control-wrap{
	width:50%;
}
@media(max-width:586px){
	form.wpcf7-form label,
	form.wpcf7-form .wpcf7-form-control-wrap{
		width:100%;
	}
	form.wpcf7-form p.captcha{
		display:block;
	}
	form.wpcf7-form p.captcha .wpcf7-form-control-wrap{
		width:auto;
	}
	form.wpcf7-form p.captcha .wpcf7-form-control-wrap:before{
		content:": ";
		padding-right:1em;
	}
	form.wpcf7-form input[type=submit]{
		margin-left:0;
	}
}




/* search results */

.search-results .hentry{
	overflow:hidden;
	padding-bottom:15px;
	margin-bottom:15px;
}
.search-results .hentry .newsthumb{
	position:relative;
}
.flagtag{
	position:absolute;
	right:-15px;
	bottom:-15px;
}
.flagtag img{
	max-height:40px;
}
.newsthumb.nothumb{
	width:auto;
}
.nothumb .flagtag{
	position:static;
	margin-right:20px;
}
.entry-details.nothumb{
	margin-left:0;
}



/* search tourdates bar */


.searchbar{
	padding:35px 0;
	margin-bottom:-35px;
	margin-top:-35px; /* because the #content has a different background colour than below the searchbar */
}
.home .searchbar{
	position:relative;
	z-index:1999;
	margin:-35px 0;
}
.searchbar .bar{
	background:#CC1618;
	color:#fff;
}
.searchbar .bar .inner{
	display:flex;
	justify-content:center;
}
.searchbar .mapicon{
	float:left;
	width:170px;
	height:170px;
	background:url(img/td-search-uk.png) transparent no-repeat center / contain;
	margin-top:-40px;
	margin-bottom:-40px;
	margin-right:30px;
}
.single-show-usa .searchbar .mapicon{
	background-image:url(img/td-search-usa.png);
}
.single-show-canada .searchbar .mapicon{
	background-image:url(img/td-search-canada.png);
}
.single-show-aus-nz .searchbar .mapicon{
	background-image:url(img/td-search-aus-nz.png);
}
.searchbar p{
	display:flex;
	flex-wrap:wrap;
	align-content:center;
	align-items:center;
	height:100%;
	box-sizing:border-box;
	font-size:17px;
	font-weight:600;
	line-height:1.5;
	padding:10px 0;
}
.searchbar p span{
	display:inline-block;
	vertical-align:middle;
}
.searchbar p span,
.searchbar p input,
.searchbar p select{
	margin:5px 15px 5px 0;
}
.searchbar p span.spanline1,
.searchbar p span.spanline2{
	display:inline-block;
}
.searchbar input,
.searchbar select{
	display:inline-block;
	height:29px;
	width:190px;
	border:1px solid white;
	background:white;
	color:black;
}
.searchbar select{ /* class on option does not work */
	font-family:"Livvic",Arial,sans-serif !important;
	font-size:12px !important;
	color:#666 !important;
	padding:0 10px;
}
.searchbar input[type=submit]{
	width:auto;
	color:#CC1618;
	margin:5px 0;
}

/* tourdates results on non-homepage pages */

.tourdatessection{
	padding-top:65px;
	padding-bottom:80px; /* 10px + 70px, instead of padding on #main */
}
.tourdatessection .inner{
	overflow:hidden;
}
.tourdatessection .coldates{
	float:right;
	padding-top:
}
.page-template-page-tourdates .searchbar{
	margin-top:-65px;
}
.page-template-page-tourdates .tourdatessection .coldates{
	float:none;
	margin:0 auto;
}


#colophon{
	min-height:150px;
	background:#383838;
	color:#fff;
}
#colophon ul li{
	list-style:none;
	display:inline-block;
	padding:0 10px;
	border-left:1px solid #fff;
}
#colophon ul li:first-child{
	padding-left:0;
	border-left-width:0;
}
#colophon a{
	color:#fff;
	text-decoration:none;
}
#colophon a:focus,
#colophon a:hover,
#colophon a:active{
	text-decoration:underline dashed #fff;
}
#colophon .site-info{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:35px 0;
}
#colophon *{
	font-size:14px;
	font-weight:500;
	line-height:1;
}
#colophon ul{
	line-height:1.5;
	margin-bottom:35px;
}
#colophon p.hdk{
	padding-top:6px;
}
#colophon p.hdk a img{
	width:73px;
}







/* footer things */

#footersocial{
	background:#EBEBEB;
	color:#000;
}
#footersocial .inner{
	width:100%;
	clear:both;
	display:flex;
	justify-content:space-between;
	padding:65px 0;
}
#footersocial .inner div.fcol{
	width:46.8%;
	box-sizing:border-box;
}
#footersocial h2,
#footersocial div.fcolin{
	padding-left:50px;
}
#footersocial h2{
	display:flex;
	align-items:center;
	min-height:41px;
	color:#CC1618;
	font-size:20px;
	font-weight:600;
	line-height:1.2;
	margin-bottom:.7em;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:41px auto;
}
#footersocial div.signup h2{
	background-image:url(img/sticker-mail.png);
}
#footersocial div.social h2{
	background-image:url(img/sticker-social.png);
}
#footersocial p,
#footersocial ul{
	font-size:14px;
	font-weight:500;
	line-height:1.4;
	margin-bottom:1.4em;
}
#footersocial form div,
#footersocial form input{
	display:inline-block;
}
#footersocial form input{
	background:#fff;
	border:1px solid #ACACAC;
	margin-right:10px;
	margin-bottom:7px;
}
#footersocial form input[type=submit]{
	background:#CC1618;
	color:#fff;
	border-color:#CC1618;
}

.socialnav li{
	list-style:none;
	max-width:30px;
	margin-right:10px;
}
.socialnav li,
.socialnav li a,
.socialnav li a img{
	display:inline-block;
}

.post-navigation{
	padding-top:30px;
	border-top:1px solid #000;
	margin-top:30px;
}


/* pagination */
/* kriesi */

.pagination{
	text-align:center;
	padding:50px 0;
}
.pagepn{
	text-indent:-4000px;
	background-repeat:no-repeat;
	background-position:center;
	background-size:auto 7px;
}
.page-first{background-image:url(img/page-first.png);}
.page-prev{background-image:url(img/page-prev.png);}
.page-next{background-image:url(img/page-next.png);}
.page-last{background-image:url(img/page-last.png);}

.page-first.inactive{background-image:url(img/page-first-inactive.png);}
.page-prev.inactive{background-image:url(img/page-prev-inactive.png);}
.page-next.inactive{background-image:url(img/page-next-inactive.png);}
.page-last.inactive{background-image:url(img/page-last-inactive.png);}

.pagination a,
.pagination span{
	display:inline-block;
	width:29px;
	height:29px;
	color:#CC1618;
	font-size:13px;
	font-weight:600;
	text-decoration:none;
	line-height:29px;
	border-radius:29px;
	box-sizing:border-box;
	padding-top:1px;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	color:inherit;
	margin:0 7px;
}
.page-numbers.current{
	background:#CC1618;
	color:#fff;
}
.page-prev{
	margin-left:-5px;
	margin-right:7px;
}
.page-next{
	margin-right:-5px;
	margin-left:7px;
}


/* webkit things */

input[type=text],
input[type=search],
input[type=button],
input[type=email],
input[type=submit],
textarea{
	-webkit-appearance:none;
	-webkit-border-radius:5px;
}
select{
	-webkit-appearance:none;
	-webkit-border-radius:5px;
}

*{
	-webkit-text-size-adjust:100%;
}

/* Where placeholder needs to obey the styles */

/* fix the stupid placeholder colour */
/* separate rules, because: "a group of selectors containing an invalid selector is invalid". */
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family:"Livvic",Arial,sans-serif;
	font-size:12px;
	color:#666;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family:"Livvic",Arial,sans-serif;
	font-size:12px;
	color:#666;
	opacity:1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family:"Livvic",Arial,sans-serif;
	font-size:12px;
	color:#666;
	opacity:1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family:"Livvic",Arial,sans-serif;
	font-size:12px;
	color:#666;
}
::-ms-input-placeholder { /* Microsoft Edge */
	font-family:"Livvic",Arial,sans-serif;
	font-size:12px;
	color:#666;
}

@media(min-width:1218px){ /* 1160 + 2x20 + 18 */
	#masthead.regpage{
		margin-bottom:-113px;
		margin-bottom:-90px;
	}
	.page-id-10 #masthead.regpage{
		margin-bottom:-125px;
	}
	#masthead .inner{
		padding-top:550px;
	}
	.single-show #masthead .inner{
		padding-top:512px;
	}
	.home #masthead .inner{
		padding-top:685px;
	}
	.mastheadoverlay{
		margin-top:-200px;
	}
	.single-show .mastheadoverlay{
		margin-top:-200px;
	}
	.home .mastheadoverlay{
		margin-top:-252px;
	}
	.single-show .crowd,
	.home .crowd{
		padding-top:200px;
	}
	.showpage{
		padding-top:110px;
	}
}

@media (max-width:1218px){
	.site-nav ul li a{
		padding:19px 14px;
	}
	.site-nav .bookbutton{
		margin-left:20px;
	}
	.homeintro h2.strap{
		font-size:36px;
		word-spacing:-8px;
	}
	.homeintro p,
	.pageintro p{
		font-size:24px;
	}
}
@media (max-width:1150px){
	.shows .show h2{
		font-size:17px;
	}
	.tourdates .overview p span.thumb,
	.tourdates .overview p span.datetime,
	.tourdates .overview p span.showloc,
	.tourdates .overview p span.phonebook{
		padding:15px 6px;
	}
	.tourdates .overview p span.phonebook{
		width:110px;
	}
	.tourdates .overview p span.phonebook span,
	.tourdates .overview p span.phonebook a{
		width:100%;
		box-sizing:border-box;
		text-align:center;
		margin-left:0;
	}
}
@media (max-width:1130px){
	.site-nav{
		height:55px;
	}
	#page{
		padding-top:55px;
	}
	
	.site-branding img{
		height:150px;
	}
	.site-nav ul{
		font-size:15px;
	}
	.site-nav ul li a{
		padding:19px 12px;
	}
	.site-nav .bookbutton{
		margin-left:15px;
	}
	.site-nav .bookbutton a{
		font-size:18px;
		box-sizing:border-box;
		padding:14px 20px 14px 52px;
		border-radius:0 0 14px 14px;
	}
}
@media (max-width:1080px){
	.homeintro h2.strap{
		font-size:32px;
		word-spacing:-6px;
	}
	.homeintro p,
	.pageintro p{
		font-size:23px;
	}
}
@media (max-width:1050px){
	h1.page-title, h1.col-title{
		font-size:25px;
	}
	.shows .show h2{
		font-size:15px;
	}
}
@media (max-width:1030px){
	.hptd{
		display:block;
	}
	.coltext,
	.coldates{
		width:100%;
	}
	.hptd .coldates{ /* only needed on homepage */
		margin-top:65px;
		padding-top:30px;
		border-top:1px solid #CC1618;
	}
}
@media (max-width:1024px){
	.site-branding img{
		height:140px;
	}
	.site-nav ul li a{
		padding:19px 8px;
	}
}
@media (max-width:990px){
	.homeintro h2.strap{
		font-size:28px;
		word-spacing:-4px;
	}
	.homeintro p,
	.pageintro p{
		font-size:22px;
	}
	h1.page-title, h1.col-title{
		font-size:22px;
	}
}
@media (max-width:940px){
	.site-nav{
		height:54px;
	}
	#page{
		padding-top:54px;
	}
	.site-branding img,
	#page.scroll20px .site-branding img{
		height:123px;
	}
	.site-nav ul{
		font-size:14px;
	}
	.site-nav ul li a{
		padding:19px 7px;
	}
	.site-nav .bookbutton{
		margin-left:10px;
	}
	.site-nav .bookbutton a{
		font-size:17px;
		box-sizing:border-box;
		padding:14px 20px 13px 52px;
		border-radius:0 0 13px 13px;
	}
}
@media (max-width:930px){
	.shows{
		margin-left:-1.67%;
		margin-right:-1.67%;
	}
	.shows .show{
		width:33.33%;
		padding:0 1.67%;
		margin-bottom:3.33%;
	}
	.shows .show h2{
		font-size:17px;
	}
}
@media (max-width:890px){
	.sharebox .at-style-responsive .at-share-btn{
		margin-left:3px;
	}
}
@media (max-width:880px){
	.space-usa,
	.space-canada,
	.space-aus-nz{
		padding-right:0;
	}
	.navflag{
		top:7px;
		right:42px;
	}
	.navflag img{
		max-height:37px;
	}

	.site-branding img,
	#page.scroll20px .site-branding img{
		height:80px;
	}
	.menu-toggle{
		float:right;
		display:block;
		height:50px;
		width:60px;
		background:url(img/menu.png) transparent no-repeat right center / 30px auto;
		padding:0;
		border-width:0;
		cursor:pointer;
	}
	.menu-toggle span{
		position:absolute;
		left:-4000px;
	}
	#site-navigation .nav-menu{
		height:0;
		transition:height .5s ease-in-out 0s;
		overflow:hidden;
	}
	.site-nav #site-navigation{
		overflow:hidden;
	}
	body.toggled-on .site-nav,
	body.toggled-on .site-nav #site-navigation{
		height:1000px;
	}
	#site-navigation.toggled-on .nav-menu{
		height:1000px;
	}
	.site-nav ul{
		clear:both;
		font-size:17px;
		text-align:center;
	}
	.site-nav ul li{
		display:block;
	}
	.site-nav ul li ul,
	.site-nav ul li:hover ul{
		display:none !important;
	}
	.site-nav .bookbutton{
		float:none;
		margin-left:auto;
		margin-top:10px;
		position:fixed;
		bottom:20px;
		right:20px;
		border-radius:14px;
		box-shadow:5px 5px 20px -5px #000;
	}
	.site-nav .bookbutton a{		
		display:inline-block;
		height:55px;
		font-size:19px;
		padding-top:16px;
		border-radius:14px;
		background-position:10px center;
	}
}
@media (max-width:860px){
	.homeintro h2.strap{
		font-size:26px;
	}
	.homeintro p,
	.pageintro p{
		font-size:21px;
	}
}
@media (max-width:800px){
	.shows .show h2{
		font-size:15px;
	}
}
@media (max-width:790px){
	.homeintro h2.strap{
		font-size:24px;
	}
	.homeintro p,
	.pageintro p{
		font-size:20px;
	}
	.page-template-page-what-happens .cols2 .imgbox{
		float:none;
		width:auto;
		margin-right:auto;
	}
}
@media (max-width:767px){
	.showpage #primary,
	.showpage #secondary{
		float:none;
		width:100%;
	}
	.showpage #primary{
		margin-bottom:50px;
	}
	.sharebox .at-style-responsive .at-share-btn{
		margin-left:8px;
	}
	.newspage #primary,
	.newspage #secondary{
		float:none;
		width:100%;
	}
}
@media (max-width:730px){
	.homeintro h2.strap{
		font-size:22px;
	}
	.homeintro p,
	.pageintro p{
		font-size:19px;
		max-width:96%;
	}
}
@media (max-width:710px){
	.shows{
		margin-left:-2.5%;
		margin-right:-2.5%;
	}
	.shows .show{
		width:50%;
		padding:0 2.5%;
		margin-bottom:5%;
	}
	.shows .show h2{
		font-size:17px;
	}
}
@media (max-width:670px){
	.tourdates .overview p span.thumb{
		display:none;
	}
	.tourdates .overview p span.datetime{
		padding-left:0 !important;
	}
}
@media (max-width:660px){
	.homeintro h2.strap{
		font-size:20px;
	}
	.homeintro p,
	.pageintro p{
		font-size:18px;
		max-width:100%;
	}
}
@media (max-width:650px){
	.worldwidelinks{
		flex-wrap:wrap;
	}
	.worldwidelinks img{
		max-height:88px;
	}
}
@media (max-width:660px){
	.homeintro h2.strap{
		font-size:18px;
	}
	h1.page-title, h1.col-title{
		font-size:20px;
	}
	.homeintro p,
	.pageintro p{
		font-size:16px;
	}
	.coltext p,
	.entry-content p{
		font-size:16px;
	}
}
@media (max-width:620px){
	.home .mastheadvideo{
		top:11%;
		left:5%;
		width:90%;
	}
	.sparkle2{
		left:95%;
	}
@media (max-width:600px){
	.single-show .mastheadvideo{
		right:12%;
		bottom:auto;
		width:76%;
		margin-top:-40%;
	}
	.single-show .showlogo{
		display:none;
	}
	.showpage{
		padding-top:12%;
	}
	#footersocial .inner{
		display:block;
		padding:50px 0 10px 0;
	}
	#footersocial .inner div.fcol{
		width:100%;
		margin-bottom:40px;
	}
}
@media (max-width:580px){
	.home #masthead .sparkle{
		width:70px;
		height:70px;
		margin-left:-35px;
		margin-top:-35px;
	}
	.scrolldown{
		width:80px;
		margin-left:-40px;
	}
	.page-template-page-what-happens .cols2{
		background:transparent;
	}
	.cols2 .col1{
		margin-bottom:30px;
	}
	.page-template-page-what-happens .cols2 .col1{
		padding-bottom:45px;
		background:url(img/div-star.png) transparent repeat-x -7px bottom / 33px auto;
	}
	.cols2 .col,
	.page-template-page-what-happens .cols2 .col{
		width:100%;
	}
	.page-template-page-what-happens .cols2 .imgbox{
		float:left;
		width:45%;
		margin-right:15px;
	}
	.newsthumb{
		max-width:40%;
	}
	.entry-details{
		margin-left:calc(40% + 15px);
	}
	.entry-details p{
		font-size:14px;
	}
}
@media (max-width:550px){
	.shows .show h2{
		font-size:15px;
	}
	.tourdates .overview p{
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		border-top:1px solid #CECECE;
		padding:10px 0;
	}
	.tourdates .overview p span.datetime,
	.tourdates .overview p span.showloc,
	.tourdates .overview p span.phonebook{
		display:block;
		box-sizing:border-box;
		padding:5px !important;
		border-top-width:0;
		text-align:center;
	}
	.tourdates .overview p span.datetime{
		order:-1;
	}
	.tourdates .overview p span.datetime,
	.tourdates .overview p span.phonebook{
		width:100%;
	}
	.tourdates .overview p span.datetime span,
	.tourdates .overview p span.phonebook span,
	.tourdates .overview p span.phonebook a{
		display:inline-block;
		width:auto;
	}
	.tourdates .date,
	.tourdates .time{
		margin:0 3px;
	}
	.tourdates .phone2,
	.tourdates .book2{
		margin:3px 6px;
	}
}
@media (max-width:520px){
	.scrolldown{
		width:50px;
		margin-left:-25px;
	}
}
@media (max-width:480px){
	.searchbar .mapicon{
		display:none;
	}
	.shows .show h2{
		font-size:13px;
	}
}
@media (max-width:420px){
	.newsthumb{
		float:none;
		max-width:100%;
		margin-bottom:10px;
	}
	.entry-details{
		margin-left:auto;
	}
}
@media (max-width:360px){
	.page-template-page-what-happens .cols2 .imgbox{
		float:none;
		width:auto;
		margin-right:auto;
	}
}



/* media queries based on height */

@media (max-height:520px){
	.toggled-on .site-nav ul li a{
		padding:15px;
	}
}
@media (max-height:460px){
	.toggled-on .site-nav ul li a{
		padding:10px;
	}
}
@media (max-height:420px){
	.toggled-on .site-nav ul{
		font-size:14px;
	}
	.toggled-on .site-nav ul li a{
		padding:8px;
	}
}