@font-face {
	font-family: 'BabelStoneFlags';
	src: url('/components/com_jbooka/assets/fonts/BabelStoneFlags/BabelStoneFlags.woff') format('woff'); /* IE9 Compat Modes */
	src: url('/components/com_jbooka/assets/fonts/BabelStoneFlags/BabelStoneFlags.woff2') format('woff2'); /* Modern Browsers */
}

/* Opt in to allowing animations to/from keywords eg. auto */
:root {
    interpolate-size: allow-keywords;
}

[tabindex="0"] {
    outline: 0;
}

#system-message dd
{
	text-indent:10px;
}
#system-message dd ul
{
	border:1px solid #00AEEF;
	background-color: #CEF1FF;
	color:#00AEEF;
	font-weight:bold;
}

h4.alert-heading, #system-message a.close {
	display: none;
}

.ng-cloak {
    display: none !important;
}
	
	

.CBContent {
	padding: 15px;
	width: min(1100px, 100vw);
	margin: 0 auto;
}

.CBContent td { vertical-align:top; }
.CBContent th { text-align:left }
.CBContent a { text-decoration:none; }
.CBContent p > a, .cb-privacy-notice a { text-decoration: underline; }


/*-----------------------------
    Sytem messages
-----------------------------*/

.close {
	float: right;
	font-size: 20px;
	font-weight: bold;
	line-height: 18px;
	color: #000;
	text-shadow: 0 1px 0 #ffffff;
	opacity: 0.2;
	filter: alpha(opacity=20);
}

.alert {
	padding: 8px 35px 8px 14px;
	margin-bottom: 18px;
	text-shadow: 0 1px 0 rgba(255,255,255,0.5);
	background-color: #fcf8e3;
	border: 1px solid #fbeed5;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.alert,
.alert h4 {
	color: #c09853;
}
.alert h4 {
	margin: 0;
}
.alert .close {
	position: relative;
	top: -2px;
	right: -21px;
	line-height: 18px;
}
.alert-success {
	background-color: #dff0d8;
	border-color: #d6e9c6;
	color: #468847;
}
.alert-success h4 {
	color: #468847;
}
.alert-danger,
.alert-error {
	background-color: #f2dede;
	border-color: #eed3d7;
	color: #b94a48;
}
.alert-danger h4,
.alert-error h4 {
	color: #b94a48;
}
.alert-info {
	background-color: #d9edf7;
	border-color: #bce8f1;
	color: #3a87ad;
}
.alert-info h4 {
	color: #3a87ad;
}
.alert-block {
	padding-top: 14px;
	padding-bottom: 14px;
}
.alert-block > p,
.alert-block > ul {
	margin-bottom: 0;
}
.alert-block p + p {
	margin-top: 5px;
}


/*-----------------------------
    Sytem messages
-----------------------------*/

/* Style for prefetch-avoiding links! (See checkout page for example) */
.cb-link {
    cursor: pointer;
}

/*-----------------------------
    General input styling
-----------------------------*/


md-input-container {
	padding: 2px 2px 10px;
}

md-input-container label, md-select .md-select-value.md-select-placeholder {
    color: rgba(0,0,0,0.60);
}

md-input-container md-radio-group {
    display: block;
    margin-top: 6px;
}

md-input-container md-radio-group md-radio-button:last-child {
    margin-bottom: 8px;
}

md-input-container .cb-field-label {
    color: rgba(0, 0, 0, 0.54);
    transform-origin: left top !important;
	transform: translate3d(0, 6px, 0) scale(0.75) !important;
	max-width: 133% !important;
	width: 133% !important;
}

cb-field mdp-date-picker md-input-container {
    flex: 1
}

md-input-container .hint {
	/* Position the hint */
	/* Disabled this as was problematic for long hint text that was wrapping... not sure if disabling it will break something else though! */
    /* position: absolute;
    left: 2px;
    right: auto;
	bottom: 14px; */
	padding-top: 6px;
	
    /* Copy styles from ng-messages */
    font-size: 12px;
    line-height: 14px;
    /* Set our own color */
    color: silver;
    opacity: 1;
    transition: opacity 0.5s;
}

md-input-container.md-input-focused label:not(.md-no-float):not(.cb-file-input-label) {
	max-width: 125%;
	width: 125%;
}

md-input-container.md-input-invalid .md-input-messages-animation.ng-active + .hint {
    opacity: 0;
}

md-input-container md-checkbox {
    margin-bottom: 2px;
}

.cb-field-instance.cb-field-multichoice md-checkbox {
    margin-top: 8px;
    margin-bottom: 0px;
}

.cb-field-instance.cb-field-multichoice md-input-container {
    margin-top: 0;
}

.cb-field-instance.cb-field-phone md-input-container {
    position: relative;
}

.cb-field-instance.cb-field-phone md-input-container .cb-country-flag {
	position: absolute;
	top: 8px;
	left: 5px;
	font-family: 'BabelStoneFlags';
	font-size: 14px;
}

.cb-field-instance.cb-field-phone md-input-container input {
    padding-left: 30px;
}

.cb-field-instance.cb-field-radio md-input-container label {
    position: relative;
}

md-input-container .cb-force-invalid-value-link {
    color: #1b54f3;
    cursor: pointer;
}

.md-toolbar-tools {
    height: auto;
    max-height: none;
    min-height: 56px;
}


.positionIcon {
    fill: #FFFFFF;
}


md-icon.s12 { height: 12px; width: 12px; min-height: 12px; min-width: 12px; }
md-icon.s14 { height: 14px; width: 14px; min-height: 14px; min-width: 14px; }
md-icon.s16 { height: 16px; width: 16px; min-height: 16px; min-width: 16px; }
md-icon.s18 { height: 18px; width: 18px; min-height: 18px; min-width: 18px; }
md-icon.s20 { height: 20px; width: 20px; min-height: 20px; min-width: 20px; }
md-icon.s30 { height: 30px; width: 30px; }
md-icon.s36 { height: 36px; width: 36px; }
md-icon.s48 { height: 48px; width: 48px; }
md-icon.s72 { height: 72px; width: 72px; }

md-icon.cb-error-icon {
	fill: #CC0000;
}

md-icon.cb-alert-icon {
	fill: orange;
}

md-tooltip {
    height: auto !important;
	max-width: 250px;
	white-space: normal !important;
	line-height: 18px !important;
	padding-top: 5px;
	padding-bottom: 10px;
	
}	

md-tooltip p {
	line-height: 18px;
}

md-tooltip p:not(:last-child) {
	margin-bottom: 10px;
}

md-dialog[role="alertdialog"] {
	max-width: 600px;
}
		
md-dialog[role="alertdialog"] md-dialog-content h2 {
	margin-bottom: 10px;
}	
	

button-group {
    margin: 6px 8px;
}

button-group .md-button {
    margin: 1px;
}

button-group .md-button.group-btn-active {
    box-shadow: none !important;
    font-weight: bold;
}


/*---------------------------
     Upload file fields
---------------------------*/
.inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.inputfile + label {
	min-width: 150px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
	display: inline-block;
	overflow: hidden;
	padding: 8px !important;
	color: #464646;
	background-color: #d0d0d0;
	border-radius: 3px;
	transform: none !important;
	position: relative !important;
	margin: 2px 0;
	pointer-events: all !important;
	bottom: 0 !important;
}

.inputfile + label svg {
	width: 1em;
	height: 1em;
	vertical-align: middle;
	fill: currentColor;
	margin-top: -0.25em;
	margin-right: 0.25em;
}

.inputfile:focus + label,
.inputfile.has-focus + label {
	outline: 1px dotted #000;
	outline: #e0e0e0 auto 5px;
	background-color: #c0c0c0;
}


/*-----------------------------------------------
     Abstract submission event customisations
-----------------------------------------------*/
.cb-listingtype-callforabstracts #btnAddAttendee, 
.cb-listingtype-callforabstracts .attdiv md-toolbar.md-whiteframe-z1, 
.cb-listingtype-callforabstracts .cb-cart-empty, 
.cb-listingtype-callforabstracts .scheduleAttribute.attrib-price, 
.cb-listingtype-callforabstracts .bookSmall span { 
	display: none 
}

.cb-listingtype-callforabstracts md-card md-toolbar:not(.bookedOut) .bookSmall:before { 
	content: 'Select' 
}



/*-----------------------------------------------
     Event menu related stuff
-----------------------------------------------*/

cb-listing-menu ul {
    margin-top: 20px;
	white-space: nowrap;
	padding: 0;
}

cb-listing-menu ul ul {
    max-width: calc(100% + 15px);
    width: calc(100% + 15px);
}

cb-listing-menu ul li,
cb-listing-menu .cb-listing-menu-toggle {
    padding: 5px 15px;
    border-bottom: 1px solid white;
    list-style: none;
	margin: 0;
	cursor: pointer;
}

cb-listing-menu ul li a,
cb-listing-menu .cb-listing-menu-toggle a,
cb-listing-menu .cb-listing-menu-toggle md-icon {
	color: white;
}

cb-listing-menu .cb-listing-menu-toggle { display: none; outline: none; }
@media only screen and (max-width : 599px) {
	cb-listing-menu .cb-listing-menu-toggle { display: block; }
	cb-listing-menu ul { border: none; max-height: 0px; overflow: hidden; transition: max-height 750ms ease; }
	cb-listing-menu ul.open { max-height: 600px; transition-duration: 1s; }
	cb-listing-menu ul { margin-top: 0; }
	
}

.cb-content-body > .item-page {
    margin: 20px;
}





/* 'Register Now' button styling */
.cb-nav-bar-inner {
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    text-align: right;
}

.feature-image-wrapper {
    position: relative;
}

.md-button.cb-get-tickets-button {
    padding: 6px 26px;
}

bottom-nav .md-button.cb-get-tickets-button {
    padding: 0px 16px;
}

.md-button.cb-get-tickets-button-1 {
    position: absolute !important;
    z-index: 1;
    bottom: 20px;
    right: 20px;
}

.md-button.cb-get-tickets-button-2 {
    margin: 0 0 20px 0;
    display: none;
}

@media (min-width: 960px) {
    .listingHeading.cb-title-position-0 .md-button.cb-get-tickets-button-2 {
        display: block;
    }

    .listingHeading.cb-title-position-0 .md-button.cb-get-tickets-button-1 {
        display: none;
    }
}





.listingHeading {
	position: relative;
	overflow: clip;
}
  
.listingHeading h1 {
	font-size: 2.8em;
	margin: 24px 0;
}

.listingHeading p.subtitle {
	font-size: 2.0em;
    margin-top: 0;
}

.listingHeading .feature-image-wrapper,
.listingHeading .feature-image {
    width: 100%;
    display: block;
}

.listingHeading.cb-title-position-3 .heading-title {
	display: none;
}

.listingHeading.cb-title-position-0 .heading-title,
.listingHeading.cb-title-position-2 .heading-title {
	text-align: center;
	margin: 0 24px;
}

@media (max-width: 959px) {
	.listingHeading {
		font-size: 80%;
	}
	.listingHeading h1 {
		margin: 20px 0;
	}
}

@media (max-width: 600px) {
	.listingHeading {
		font-size: 70%;
	}
	.listingHeading h1 {
		margin: 16px 0;
	}
}

@media (min-width: 960px) {
	.listingHeading.cb-title-position-0 {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		flex-direction: row;
		box-sizing: border-box;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
        justify-content: space-between;
		
		margin-bottom: 15px;	
	}
	
    .listingHeading.cb-title-position-0 .feature-image-wrapper {
        max-width: 66%;
    }
    .listingHeading.cb-title-position-0 .feature-image {
		object-fit: contain;
    }
	.listingHeading.cb-title-position-0 .heading-title {
		text-align: right;
		padding: 30px 5% 0 30px;
	}	

	.listingHeading.cb-title-position-0 .cb-unsplash-attribution {
		right: initial;
		top: initial;
		left: 8px;
		bottom: 8px;
	}
}

.listingHeading.cb-title-position-1 .heading-title h1,
.listingHeading.cb-title-position-1 .heading-title .subtitle {
  color: white !important;
}

.listingHeading.cb-title-position-1 .heading-title {
    text-align: right;
    padding: 30px 12% 0 12%;
    text-shadow: 1px 1px 21px black;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;    

    -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
        -ms-animation: fadein 2s; /* Internet Explorer */
            animation: fadein 2s;
}

@keyframes fadein {
    from { opacity: 0; padding: 30px 20% 0 2% }
    to   { opacity: 1; padding: 30px 12% 0 12% }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; padding: 30px 20% 0 2% }
    to   { opacity: 1; padding: 30px 12% 0 12% }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; padding: 30px 20% 0 2% }
    to   { opacity: 1; padding: 30px 12% 0 12% }
}



bottom-nav {
    position: fixed;
    bottom: 0px;
    left: 0px;
    background-color: white;
    width: 100%;
    padding: 0;
    z-index: 21;
    opacity: 0.97;
    box-shadow: 0px -3px 3px 0 rgba(0, 0, 0, 0.2);
}


/* Unsplash photographer attribution */
.cb-unsplash-attribution {
    position: absolute;
	padding: 0 5px;
    right: 8px;
	top: 8px;
    background-color: rgba(255,255,255,0.5);
    display: inline-block;
    font-size: 10px;
	border-radius: 5px;
	align-self: start;
	box-shadow: 0 0 2px 2px rgba(255,255,255,0.5);
	flex: none;
}

cb-schedules md-card-content > div > div {
	position: relative;
}

.listingHeading.cb-title-position-1 .cb-unsplash-attribution,
.listingHeading.cb-title-position-3 .cb-unsplash-attribution,
cb-schedules md-card-content .cb-unsplash-attribution {
	right: initial;
	top: initial;
	left: 16px;
	bottom: 16px;
}
cb-schedules md-card-content .cb-unsplash-attribution {
    font-size: 7px;
}


/* Animation style for ng-show and ng-repeat directives */
.cb-zoom-in {
    /* overflow-y: hidden; */
    perspective: 50em;
    perspective-origin: 50% 50%;
    transition:all ease-in-out 0.7s;
}

.cb-zoom-in.ng-hide-add > *,
.cb-zoom-in.ng-hide-remove > *,
.cb-zoom-in.ng-enter > *,
.cb-zoom-in.ng-leave > * {
  transition:all ease-in-out 0.5s;
  position: relative;
}
 
.cb-zoom-in.ng-enter > * {
    transform: translateZ(-500px);    
}
 
.cb-zoom-in.ng-enter.ng-enter-active > * {
    transform: translateZ(0px);
}

.cb-zoom-in.ng-leave > * {
    transform: translateZ(0px);
}
 
.cb-zoom-in.ng-leave.ng-leave-active > * {
    transform: translateZ(-500px);
}
 
.cb-zoom-in.ng-hide-add,
.cb-zoom-in.ng-hide-remove-active,
.cb-zoom-in.ng-leave,
.cb-zoom-in.ng-enter.ng-enter-active {
    max-height: 500px;
    opacity: 1;
}


.cb-zoom-in.ng-hide,
.cb-zoom-in.ng-enter,
.cb-zoom-in.ng-leave.ng-leave-active {
    max-height: 0px;
    opacity: 0;
}
 


/*-----------------------------------------------
    Mobile app supporting styles
-----------------------------------------------*/

body.cb-mobile-cloak,
body.cb-is-mobile-app .cb-hide-for-mobile,
body.cb-is-mobile-app .cc-window {
    display: none !important;
}