/**
 * @package 	WordPress
 * @subpackage 	Welfare
 * @version 	1.1.2
 * 
 * Events CSS Rules
 * Created by CMSMasters
 * 
 */



/*-------------------------------------------------------------------------

	0.	LESS Variables + Functions
	1. 	Skeleton Events Styles
	2. 	Global Events Styles
	3. 	Events Bar
	4. 	Events Pages
	5. 	Single Event
	6. 	Related Events
	7. 	Single Venue
	8. 	Single Organizer
	9. 	Widgets
	10.	CSS3 Animations

-------------------------------------------------------------------------*/



/*-------------------------------------------------------------------------*/
/*	0.	LESS Variables & Functions	*/
/*-------------------------------------------------------------------------*/

/***************** Variables ******************/
@input_pad: 8px;

@line_height_pad: 20px;
@blocks_hor_pad: 20px;
@cont_vert_pad: 30px;

@col_mar: 2%;

@resp_blocks_pad: 56.25%;

@preloader_pad: 100%;


/***************** Functions ******************/
.fl () {
	float:left;
}

.fr () {
	float:right;
}

.dn () {
	display:none;
}

.tal () {
	text-align:left;
}

.tac () {
	text-align:center;
}

.tar () {
	text-align:right;
}

.cl () {
	clear:both;
}

.ovh () {
	overflow:hidden;
}

.m0a () {
	margin:0 auto;
}

.bd (@w:1px; @t:solid) {
	border-width:@w;
	border-style:@t;
}

.bdt (@w:1px; @t:solid) {
	border-top-width:@w;
	border-top-style:@t;
}

.bdb (@w:1px; @t:solid) {
	border-bottom-width:@w;
	border-bottom-style:@t;
}

.bdr (@w:1px; @t:solid) {
	border-right-width:@w;
	border-right-style:@t;
}

.bdl (@w:1px; @t:solid) {
	border-left-width:@w;
	border-left-style:@t;
}

.color_white_opacity (@op:.5) {
	color:rgba(255, 255, 255, @op);
}

.bg_white_opacity (@op:.5) {
	background-color:rgba(255, 255, 255, @op);
}

.fullwidth_in_block () {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}

.op (@op:.5) {
	opacity:@op;
}

.cl_after () {
	content:'.';
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	overflow:hidden;
}

.pos_abs (@w:1em; @h:1em; @l:0; @r:0; @t:0; @b:0) {
	width:@w;
	height:@h;
	margin:auto !important;
	position:absolute;
	left:@l;
	right:@r;
	top:@t;
	bottom:@b;
}

.bdbx () {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

.ctbx () {
	-webkit-box-sizing:content-box;
	-moz-box-sizing:content-box;
	box-sizing:content-box;
}

.bdrs (@radius:5px) {
	-webkit-border-radius:@radius;
	border-radius:@radius;
}

.bxsh (@x:0; @y:0; @blur:5px; @spred:0; @alpha:.05) {
	-webkit-box-shadow:@x @y @blur @spred rgba(0, 0, 0, @alpha);
	box-shadow:@x @y @blur @spred rgba(0, 0, 0, @alpha);
}

.bxshi (@x:0; @y:0; @blur:5px; @spred:0; @alpha:.05) {
	-webkit-box-shadow:inset @x @y @blur @spred rgba(0, 0, 0, @alpha);
	box-shadow:inset @x @y @blur @spred rgba(0, 0, 0, @alpha);
}

.bxsh_none () {
	-webkit-box-shadow:none;
	box-shadow:none;
}

.trans(@trans:0) when not (@trans = 0) {
    -webkit-transition:@trans;
    -moz-transition:@trans;
    -ms-transition:@trans;
    -o-transition:@trans;
    transition:@trans;
}

.arrow_top (@h:5px; @w:5px) {
	border-top:0 solid transparent !important;
	border-left:@w solid transparent !important;
	border-right:@w solid transparent !important;
	border-bottom-width:@h !important;
	border-bottom-style:solid !important;
}

.arrow_bottom (@h:5px; @w:5px) {
	border-bottom:0 solid transparent !important;
	border-left:@w solid transparent !important;
	border-right:@w solid transparent !important;
	border-top-width:@h !important;
	border-top-style:solid !important;
}

.arrow_left (@h:5px; @w:5px) {
	border-left:0 solid transparent !important;
	border-top:@w solid transparent !important;
	border-bottom:@w solid transparent !important;
	border-right-width:@h !important;
	border-right-style:solid !important;
}

.arrow_right (@h:5px; @w:5px) {
	border-right:0 solid transparent !important;
	border-top:@w solid transparent !important;
	border-bottom:@w solid transparent !important;
	border-left-width:@h !important;
	border-left-style:solid !important;
}

.arrow_top_left (@h:5px; @w:5px) {
	border-right:@w solid transparent !important;
	border-left:0 solid transparent !important;
	border-bottom:0 solid transparent !important;
	border-top-width:@h !important;
	border-top-style:solid !important;
}

.arrow_top_right (@h:5px; @w:5px) {
	border-bottom:@h solid transparent !important;
	border-top:0 solid transparent !important;
	border-left:0 solid transparent !important;
	border-right-width:@w !important;
	border-right-style:solid !important;
}

.arrow_bottom_left (@h:5px; @w:5px) {
	border-top:@h solid transparent !important;
	border-right:0 solid transparent !important;
	border-bottom:0 solid transparent !important;
	border-left-width:@w !important;
	border-left-style:solid !important;
}

.arrow_bottom_right (@h:5px; @w:5px) {
	border-left:@w solid transparent !important;
	border-top:0 solid transparent !important;
	border-right:0 solid transparent !important;
	border-bottom-width:@h !important;
	border-bottom-style:solid !important;
}



/*-------------------------------------------------------------------------*/
/*	1. Skeleton Events Styles */
/*-------------------------------------------------------------------------*/

/* = Global & Miscellaneous Styles
=============================================*/

.updated-info {
	text-indent:-9999px;
	height:0;
}

/* Event Schedule Detail Styling */
.tribe-events-event-schedule-details {
	display:inline;
}
/* 2011 Theme Extra Calendar Room */
.events-archive .entry-content, 
.events-archive .entry-header { width:98%; }

/* Remove "Edit" Link from unneeded templates */
.events-archive span.edit-link {
	display:none;
}

/* Miscellaneous Helper Classes */
.clearfix:before, .tribe-clearfix:before, .clearfix:after, .tribe-clearfix:after {content:""; display:table;}
.clearfix:after, .tribe-clearfix:after {clear:both;}
.clearfix, .tribe-clearfix {zoom:1;}
.tribe-clear {clear:both;}
.tribe-events-visuallyhidden {
	border:0;
    clip:rect(0 0 0 0);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
}
.tribe-hide-text {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.tribe-events-error {display:none;}
.tribe-events-multi-event-day {color:#0f81bb;}
#tribe-events-content .tribe-events-abbr {border-bottom:0; cursor:default;}

/* Tribe Spinner */
.tribe-events-spinner {
	width:32px;
	height:32px;
	margin-left:-16px;
	max-width:none;
}
.tribe-events-spinner-medium {
	width:32px;
	height:32px;
	margin-left:-12px;
	max-width:none;
}
.tribe-events-spinner-small {
	width:16px;
	height:16px;
	margin-left:-8px;
	max-width:none;
}

/* General Template Header/Footer Nav */
.tribe-events-ajax-loading {
	display:none;
	position:absolute;
	left:50%;
	-webkit-box-shadow:none;
			box-shadow:none;
}

.tribe-events-loading .tribe-events-ajax-loading {
	display:block;
}

/* General Template Header Nav */
#tribe-events-content li.tribe-events-nav-date {
	padding-top:16px;
}
select.tribe-events-dropdown {
	width:auto;
	font-size:11px;
	margin:33px 9px 0 0;
}
#tribe-events-events-picker, 
#tribe-events-picker {
	display:inline;
}


/* = Events List Widget Styles (Sidebar)
   @ Template:widgets/list-widget.php
=============================================*/
.tribe-events-list-widget ol,
.tribe-events-adv-list-widget ol {
	list-style-type:square;
	margin-left:0;
	margin-bottom:0;
}
.tribe-events-list-widget li, 
.singular.page li.hentry, 
.tribe-events-adv-list-widget li, 
.singular.page li.hentry {
	margin:6px 0;
	padding:0 0 10px 0;
}
.tribe-events-list-widget li p.entry-title.summary,
.tribe-events-adv-list-widget li p.entry-title.summary {
	margin-bottom:0;
	padding:0;
	font-size:100%;
}

/* = WooTickets
=============================================*/
table.tribe-events-tickets .tickets_price {
	font-style:italic;
	color:#000;
	font-weight:bold;
}

td.tickets_name {
	color:#777;
	font-size:13px;
}

.single-tribe_events #tribe-events-content form.cart,
.single-tribe_events #tribe-events-content div.cart {
	margin:30px 0;
}

table.tribe-events-tickets {
	margin:0;
	width:100%;
	border-bottom:0;
}

table.tribe-events-tickets td {
	border-top:1px solid #ddd;
	padding:8px 10px 8px 0;
	vertical-align:middle;
}

table.tribe-events-tickets td.wpec {
	line-height:0;
}

table.tribe-events-tickets td.woocommerce {
	border-bottom:0;
}

table.tribe-events-tickets td.wpec img {
	display:none;
}

table.tribe-events-tickets .tickets_nostock {
	display:inline-block;
	text-align:center;
}

h2.tribe-events-tickets-title {
	margin:20px 0 15px;
	font-size:1.4em;
	font-weight:bold;
}

/* = Events Navigation Bar
   @ Template:modules/bar.php
=============================================*/

/* Views Select */
#tribe-bar-views .tribe-bar-view-select,
#tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
	display:none;
}
#tribe-bar-views .tribe-select2 {
	width:108px !important;
	float:left;
}
.tribe-select2-results .select2-results {
	margin:4px 0;
	padding:0;
}
.tribe-select2-results .select2-results .select2-result-label {
	padding:6px 8px;
	color:#444;
	line-height:14px;
}
.tribe-select2-results .select2-results .select2-highlighted {
	background:#ddd;
	color:#444;
}
#tribe-bar-views .select2-container .select2-choice div {
	width:18px;
}
#tribe-bar-views .select2-container .select2-choice span {
	margin-right:18px;
}
#tribe-bar-views .select2-container .select2-choice span span {
	margin-right:0;
}

/* Views Select When Have Settings */
.tribe-has-settings #tribe-bar-dates {
	margin-left:-331px;
}
.tribe-has-settings #tribe-bar-views {
	width:142px;
	margin-left:-142px;
}
.tribe-has-settings #tribe-bar-views .select2-container .select2-choice {
	-webkit-border-bottom-right-radius:0;
			border-bottom-right-radius:0;
	-webkit-border-top-right-radius:0;
			border-top-right-radius:0;
}
.tribe-has-settings #tribe-bar-views .select2-container .select2-choice div {
	-webkit-border-radius:0;
			border-radius:0;
	background:transparent;
	background-image:none;
	filter:none;
	border-left:0;
}

/* Settings */
#tribe-events-bar .tribe-bar-settings {
	overflow:hidden;
}
#tribe-events-bar .tribe-bar-button-settings span {
	height:100%;
	float:left;
	width:14px;
	display:inline-block;
	position:relative;
}
#tribe-bar-views .tribe-bar-drop-content button {
	width:100%;
}

/* Filters Button & Dropdown Content */
#tribe-events-bar .tribe-bar-button-settings {
	border-left-color:transparent;
	-webkit-border-radius:0 4px 4px 0;
			border-radius:0 4px 4px 0;
	float:left;
	margin-left:-1px;
}
.tribe-bar-settings .tribe-bar-drop-content {
	width:285px;
	right:-5px;
	padding:10px 12px 4px;
}

/* Bar Width Adjustments */
.tribe-bar-full #tribe-bar-views .tribe-bar-view-select,
.tribe-bar-full #tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
	display:none;
}
.tribe-bar-mini #tribe-bar-views .tribe-bar-view-select,
.tribe-bar-mini #tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
	display:block;
}
.tribe-bar-full #tribe-bar-views ul.tribe-bar-view-list {
	display:block;
}
.tribe-bar-mini #tribe-bar-views ul.tribe-bar-view-list {
	display:none;
}



/* Skeleton Events Pro Styles */

/* Events Loop */
.tribe-events-loop .tribe-events-loop .vevent {
	margin:0;
}
.tribe-events-loop h2.tribe-events-page-title {
	padding-left:0;
}
.tribe-events-loop .published {
	margin-top:0;
}

/* = Map View Template Styles 
   @ Template:map.php
=============================================*/
/* tribe geo location option links (displayed when multiple locations found) */
#tribe-geo-results h2,
#tribe-geo-options h2 {
	color:#222;
	font-size:18px;
	font-weight:bold;
	line-height:1em;
	margin:0 0 6px;
	padding:0;
}

#tribe-geo-results h2 a,
#tribe-geo-options h2 a {
	color:#222;
}

#tribe-geo-links {
	margin-top:20px;
	border-top:1px solid #eee;
	border-right:1px solid #eee;
	border-left:1px solid #eee;
}

#tribe-geo-options {
	display:none;
	margin-bottom:20px;
}

.tribe-geo-option-link {
	display:block;
	text-decoration:none;
	color:#444;
	border-bottom:1px solid #eee;
	padding:3px 6px;
	-webkit-transition:0.1s ease-in-out;
	   -moz-transition:0.1s ease-in-out;
	     -o-transition:0.1s ease-in-out;
			transition:0.1s ease-in-out
}

.tribe-geo-option-link:hover {
	background:#f5f5f5;
}

.tribe-geo-option-link:hover,
.tribe-geo-option-link:focus {
	text-decoration:none;
}

.tribe-option-loaded,
.tribe-geo-option-link.tribe-option-loaded:hover {
	background:#666;
	color:#fff;
}

/* tribe geo location results list formatting */
#tribe-geo-results .tribe-events-notices {
	text-align:center;
	margin:2.25em 0 0 0;
}

.tribe-geo-result-entry {
	position:relative;
	overflow:auto;
	border-bottom:1px solid #ddd;
	padding:2.25em 0;
}

.tribe-geo-result-last {
	border-bottom:none;
	padding-bottom:none;
}

.tribe-geo-result-thumb {
	float:left;
	width:30%;
	margin-right:2%;
}

.tribe-geo-result-thumb a {
	display:block;
	border:1px solid #ddd;
	padding:2px;
	-webkit-transition:0.1s ease-in-out;
	   -moz-transition:0.1s ease-in-out;
	     -o-transition:0.1s ease-in-out;
			transition:0.1s ease-in-out
}

.tribe-geo-result-thumb a img {
	max-width:100%;
	width:100%;
	display:block;
}

.tribe-geo-result-data {
	float:right;
	width:68%;
}

.tribe-geo-result-date {
	display:block;
	font-size:16px;
	font-style:italic;
	margin:10px 0 0 0;
	text-transform:none;
}

.tribe-geo-result-venue {
	display:block;
	margin:10px 0 0 0;
	font-size:16px;
}

.tribe-geo-result-excerpt {
	margin:10px 0 0 0;
}

.tribe-geo-result-entry .tribe-geo-result-excerpt p {
	font-size:14px;
}

.tribe-geo-result-entry h2 {
	float:left;
	width:80%;
}

.tribe-geo-result-cost {
	width:18%;
	float:right;
}

.tribe-geo-result-cost span {
	display:block;
	font-weight:bold;
	padding:8px 10px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	text-align:center;
}

.timer {
	text-align:center;
	width:100%;
	color:red;
	margin:20px 0;
}

/* = View Loading / Pagination Styles 
   @ Template:map.php & photo.php
=============================================*/
#tribe-geo-loading/*,
#tribe-photo-loading*/ {
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	background:#fff;
	background:rgba(255, 255, 255, 0.2);
	z-index:4;
	webkit-transition:all 1s linear;
	-moz-transition:all 1s linear;
	-o-transition:all 1s linear;
	-ms-transition:all 1s linear;
	transition:all 1s linear;
}
#tribe-geo-loading img {
	position:absolute;
	left:50%;
	top:50%;
	margin:-16px 0 0 -16px;
}

/* = Events Calendar Widget Styles (Sidebar)
   @ Template:widgets/calendar-widget.php
=============================================*/
.tribe-events-calendar-widget #tribe-events-calendar-wrap {
	width:100%;
}
.tribe-events-calendar-widget table.tribe-events-calendar {
	width:100%;
	table-layout:fixed;
	margin-top:0;
	border-collapse:collapse;
}
.tribe-events-calendar-widget table.tribe-events-calendar, 
.tribe-events-calendar-widget .tribe-events-calendar td {
	border:1px solid #bbb;
}
.tribe-view-all-events {
	float:right;
}
.tribe-events-calendar-widget th {
	font-size:10px;
	background-color:#e8e8e8;
	color:#555;
	width:14.28%;
}
.tribe-events-calendar-widget td {
	height:auto;
	text-align:center;
}
.tribe-events-calendar-widget td div[id*="tribe-events-daynum-"] {
	padding:6px 0;
	background-color:#f9f9f9;
}
.tribe-events-calendar-widget div[id*="tribe-events-daynum-"], 
.tribe-events-calendar-widget td a {
	font-size:10px;
}
.tribe-events-calendar-widget td a.tribe-events-day-has-event {
	color:#06c;
	cursor:default;
}
.tribe-events-calendar-widget .tribe-events-calendar .tribe-events-tooltip {
	width:100px;
	left:0;
	text-align:left;
	padding:5px 10px;
	margin-bottom:1.625em;
}
.tribe-events-calendar-widget .tribe-events-tooltip .tribe-events-arrow {
	left:2px;
}
.tribe-events-calendar-widget .tribe-events-right .tribe-events-tooltip {
	right:0;
	left:auto;
}
.tribe-events-calendar-widget .tribe-events-right .tribe-events-tooltip .tribe-events-arrow {
	left:auto;
	right:2px;
}
.tribe-events-calendar-widget h5.entry-title {
	font-size:11px;
	line-height:1.5;
	padding:0;
}
#ajax-loading-mini {
	display:none;
}



/*-------------------------------------------------------------------------*/
/*	2. Global Events Styles */
/*-------------------------------------------------------------------------*/
.tribe-events-address {
  margin:0;
}
.tribe-events-address .tribe-address br {
  display:none;
}
/* Events Nav */
.tribe-events-sub-nav {
	padding:0;
	margin:0;
	.pos_abs(auto, auto, auto, -1px);
	
	li {
		display:block;
		padding:0;
		margin:0 1px;
		position:relative;
		.fl;
		
		&:before {
			content:none;
		}
		
		a {
			font-size:0;
			display:block;
			position:relative;
			
			&:before {
				font-family:"fontello";
				line-height:1em;
				text-align:left;
				display:inline-block;
				width:1em;
			}
			
			span {
				display:none;
			}
		}
		
		&.tribe-events-nav-previous, 
		&.nav-previous {
			a {
				&:before {
					content:'\e9cf';
				}
			}
		}
		
		&.tribe-events-nav-next, 
		&.nav-next {
			a {
				&:before {
					content:'\e9d0';
				}
			}
		}
	}
}


/* Events Header */
#tribe-events-header {
	min-height:30px;
	margin:0 0 30px;
	padding:0 65px 0 0;
	position:relative;
	.ovh;
	
	.tribe-events-page-title {
		margin:0;
		position:relative;
		.ovh;
	}
	
	.tribe-events-user-recurrence-toggle {
		input {
			margin:10px 10px 0 0;
		}
	}
}


/* Events Footer */
#tribe-events-footer {
	padding:30px 0 0;
	position:relative;
	.tar;
	.ovh;
	
	> a {
		position:relative;
	}
}


/* Events Tooltip */
.tribe-events-tooltip {
	display:none;
	padding:10px 15px 15px;
	width:260px;
	position:absolute;
	z-index:10000;
	
	&:before {
		content:'';
		position:absolute;
		left:10px;
		bottom:-9px;
		.arrow_bottom(9px, 7px);
	}
	
	.entry-title {
		margin:0 0 5px;
		position:relative;
	}
	
	.tribe-events-event-body {
		position:relative;
		.ovh;
		
		.tribe-event-duration {
			margin:0 0 15px;
			position:relative;
			.ovh;
		}
		
		.tribe-events-event-thumb {
			margin:0 0 15px;
			position:relative;
			.ovh;
			
			img {
				width:100%;
				max-width:100%;
				height:auto;
			}
		}
		
		.description {
			padding:0;
			position:relative;
			.ovh;
		}
		
		.tribe-events-arrow {
			display:none;
		}
	}
}


/* Event Notices */
.tribe-events-notices {
	padding:20px 30px;
	margin:30px 0;
}

.tribe-events-notices > ul, 
.tribe-events-notices > ul > li {
	margin:0;
	padding:0;
	list-style:none;
	
	&:before {
		content:none;
	}
}

.tribe-events-date {
	display:inline-block;
}


/* Recurring Info */
.recurringinfo {
	display:inline-block;
	position:relative;
	
	.tribe-events-divider {
		padding:0 5px;
	}
	
	.recurring-info-tooltip {
		margin-top:5px;
		padding:10px 15px;
		bottom:auto !important;
		top:100%;
		
		&:before {
			bottom:auto;
			top:-7px;
			.arrow_top(7px, 5px);
		}
	}
}


/* Events Map */
.gm-style img {
	max-width:none;
}



/*-------------------------------------------------------------------------*/
/*	3. Events Bar */
/*-------------------------------------------------------------------------*/

.tribe-events-uses-geolocation #tribe-events-bar .tribe-bar-filters .tribe-bar-filters-inner > div {
	width:round((100% / 4) - (@col_mar * 2), 2);
}

#tribe-events-bar {
	position:relative;
	.ovh;

	#tribe-bar-collapse-toggle {
		display:none;
	}

	/* Filters */
	.tribe-bar-filters {
		padding:0 0 10px;
		position:relative;
		.ovh;
		
		.tribe-bar-filters-inner {
			margin:0 -@col_mar;
			position:relative;
			.ovh;
			
			> div {
				width:round((100% / 3) - (@col_mar * 2), 2);
				margin:0 @col_mar 20px;
				position:relative;
				.fl;
				.ovh;
			}
			
			.tribe-bar-date-filter #tribe-bar-dates, 
			.tribe-bar-search-filter, 
			.tribe-bar-geoloc-filter, 
			.tribe-bar-submit {
				position:relative;
				.ovh;
				
				label {
					display:block;
					padding-bottom:15px;
				}
				
				input {
					width:100%;
				}
			}
		}
	}
	
	
	/* Views */
	#tribe-bar-views {
		display:inline-block;
		margin:0;
		position:relative;
		.ovh;
			
		label.button {
			min-width:150px;
			position:relative;
			z-index:10;
			cursor:pointer;
			.tal;
			.fl;
			
			&:before {
				margin:0 -5px 0 0;
				.fr;
			}
		}
		
		.tribe-bar-views-select {
			display:none;
			visibility:hidden;
		}
		
		ul.tribe-bar-views-list {
			display:none;
			padding:0 0 0 10px;
			margin:0;
			position:relative;
			left:-50px;
			visibility:hidden;
			.fr;
			.ovh;
			.op(0);
			
			li.tribe-bar-views-option {
				padding:0;
				margin:0 0 0 7px;
				position:relative;
				.fl;
				.ovh;
				
				&:before {
					content:none;
				}
				
				a {
					display:inline-block;
					padding:9px 30px;
					.tac;
					.bdrs(20px);
				}
			}
		}
		
		&.tribe-bar-views-open {
			label.button {
				&:before {
					content:'\eb20';
					font-size:10px;
				}
			}
		
			ul.tribe-bar-views-list {
				display:inline-block;
				left:0;
				visibility:visible;
				.op(1);
			}
		}
	}
}


/*-------------------------------------------------------------------------*/
/*	4. Events Pages */
/*-------------------------------------------------------------------------*/

#tribe-events-content-wrapper {
	margin-top:45px;
}


/* Map */
#tribe-geo-map-wrapper {
	padding:0 0 40px;
	position:relative;
	z-index:2;
	.ovh;
	
	#tribe-geo-map {
		width:100%;
		height:0;
		padding-bottom:30%;
		position:relative;
		z-index:3;
		.ovh;
		
		> div {
			position:absolute;
		}
		
		label {
			width:auto;
			display:inline;
		}
		
		img {
			max-width:none;
		}
	}
}


.photo-loader {
	position:absolute;
	top:200px;
	left:50%;	
}


#tribe-events-content {
	position:relative;
	padding:30px 0 50px;
	
	/* Months */
	&.tribe-events-month {
		.tribe-events-tooltip {
			bottom:100% !important;
		}
		
		.tribe-events-right {
			.tribe-events-tooltip {
				left:auto;
				right:0;
				
				&:before {
					left:auto;
					right:10px;
				}
			}
		}
	
		table.tribe-events-calendar {
			margin:0;
			border-collapse:separate;
			border-spacing:0;
			.bd(0);
			.bdb;
			.cl;
			
			thead {
				th {
					border:0;
					border-right:1px solid rgba(255, 255, 255, .1);
					width:250px;
					padding:10px 5px;
					.tac;
					
					&:last-child {
						.bdr
					}
				}
			}
			
			tbody {
				td {
					border:0;
					width:14.28%;
					height:110px;
					vertical-align:top;
					position:relative;
					.bdr;
					.bdb;
					
					&:first-child {
						.bdl(2px);
					}
					
					&:last-child {
						.bdr(2px);
					}
					
					div[id*="tribe-events-daynum-"] {
						padding:5px 12px;
						position:relative;
						.bdb;
						.ovh;
						
						a {
							display:block;
							position:relative;
						}
					}
					
					div[id*="tribe-events-event-"] {
						margin:0;
						position:relative;
						
						.tribe-events-month-event-title {
							margin:0;
							padding:0;
							
							a {
								display:block;
								padding:10px 12px;
							}
						}
					}
					
					.tribe-events-viewmore {
						padding:5px 15px;
						position:relative;
						.bdt;
						.ovh;
						
						a {
							display:block;
							position:relative;
						}
					}
				}
			}
		}
	}
	
	
	/* List */
	&.tribe-events-list {
		.cmsms_event_date {
			width:100px;
			height:100px;
			margin-top:0;
			
			.cmsms_event_day {
				padding:17px 0 5px;
			}
		}
		
		.tribe-events-list-separator-month {
			display:block;
			padding:10px 20px;
			float:none;
			position:relative;
			.tal;
			.ovh;
			
			&:before {
				content:'';
				display:block;
				width:2px;
				position:absolute;
				top:50%;
				left:0;
			}
		}
		
		.vevent {
			padding:40px 0;
			position:relative;
			.bdb;
			.ovh;
			
			&.tribe-events-last, 
			&.tribe-event-end-month {
				.bdb(0);
			}
			
			.tribe-events-event-image {
				width:34.5%;
				padding:0 40px 0 0;
				.tac;
				.fl;
				.ovh;
				
				img {
					width:100%;
					max-width:100%;
					height:auto;
				}
			}
			
			.cmsms_events_list_event_wrap {
				position:relative;
				.ovh;
				
				.cmsms_events_list_event_header {
					margin:0 0 5px;
					position:relative;
					.ovh;
					
					.tribe-events-event-cost {
						margin-top:-5px;
						.fr;
					}
					
					.tribe-events-list-event-title {
						margin:-5px 0 12px;
					}
				}
				
				.tribe-events-event-meta {
					margin:0;
					position:relative;
					
					.time-details {
						margin-top:10px;
						position:relative;
						
						&:before {
							padding-top:1px;
							margin-right:10px;
						}
					}
					
					.tribe-events-venue-details {
						margin-top:10px;
						position:relative;
						.ovh;
						
						.tribe-address {
							br {
								.dn;
							}
						}
						
						.tribe-events-gmap {
							margin:0 0 0 10px;
						}
						
						&:before {
							padding-top:2px;
							margin-right:10px;
						}
					}
				}
				
				.tribe-events-list-event-description {
					padding-top:30px;
					position:relative;
					.ovh;
					.cl;
					
					.tribe-events-read-more {
						display:inline-block;
					}
				}
			}
		}
	}
	
	
	/* Day */
	&.tribe-events-day {
		.tribe-events-day-time-slot {
			position:relative;
			.ovh;
			
			> h5 {
				display:block;
				padding:10px 20px;
				margin:0;
				float:none;
				position:relative;
				.tal;
				.ovh;
				
				&:before {
					content:'';
					display:block;
					width:2px;
					position:absolute;
					top:50%;
					left:0;
				}
			}
		}
	}
	
	
	/* Photo */
	.tribe-events-photo-grid-sizer {
		width:33.33%;
	}
	
	.tribe-events-photo-gutter-sizer {
		width:0;
	}
	
	.isotope,
	.isotope .isotope-item {
		-webkit-transition-duration:0.2s;
		-moz-transition-duration:0.2s;
		-ms-transition-duration:0.2s;
		-o-transition-duration:0.2s;
		transition-duration:0.2s;
	}
	
	&.tribe-events-photo {
		#tribe-events-header {
			margin-bottom:40px;
			
			.tribe-events-sub-nav {
				bottom:25px;
			}
		}
		
		#tribe-events-photo-events {
			margin:0 -20px;
			-webkit-transition-property:height;
			-moz-transition-property:height;
			-ms-transition-property:height;
			-o-transition-property:height;
			transition-property:height;
			
			&.isotope {
				.op(0);
			}
			
			.isotope-item {
				-webkit-transition-property:-webkit-transform, opacity;
				-moz-transition-property:-moz-transform, opacity;
				-ms-transition-property:-ms-transform, opacity;
				-o-transition-property:top, left, opacity;
				transition-property:transform, opacity;
			}
			
			&.photo-hidden {
				opacity:0;
			}
			
			&.photo-two-col .tribe-events-photo-event {
				width:50%;
			}
		
			.tribe-events-photo-event {
				width:33.33%;
				padding:0 20px 40px;
				position:relative;
				.fl;
				
				.tribe-events-photo-event-wrap {
					position:relative;
					
					.tribe-events-event-image {
						width:100%;
						height:0;
						padding-bottom:72%;
						margin:0;
						position:relative;
						
						img {
							.fullwidth_in_block;
						}
					}
					
					.tribe-events-event-details {
						padding:15px 20px 30px;
						position:relative;
						
						.tribe-events-list-event-title {
							margin:0 0 10px;
							padding:0;
							position:relative;
							
							&:before {
								content:'';
								display:block;
								width:2px;
								position:absolute;
								top:50%;
								left:-20px;
							}
						}
						
						.tribe-events-event-meta {
							padding:0 0 20px;
							position:relative;
							
							.time-details {
								padding-left:30px;
								position:relative;
								
								&:before {
									position:absolute;
									top:2px;
									left:0;
								}
								
								.end-time {
									padding-right:10px;
								}
								
								.recurringinfo {
									display:block;
									
									.tribe-events-divider {
										display:none;
									}
								}
							}
						}
					}
				}
			}
		}
	}
	
	
	/* Week */
	&.tribe-events-week-grid {
		z-index:1000;
		
		.tribe-events-grid {
			width:100%;
			position:relative;
			.bdb(2px);
			
			.tribe-week-today {
				position:relative;
			}
			
			.column.first {
				width:55px;
				margin-right:-55px;
				.bdl(0);
				.fl;
			}
			
			.tribe-grid-content-wrap {
				width:100%;
				float:left;
				padding-left:57px;
				
				.column {
					display:inline-block;
					zoom:1;
					*display:inline;
					width:14.2857%;
					vertical-align:top;
					position:relative;
					.bdl;
					.fl;
					
					&.first {
						width:60px;
						margin-right:-60px;
						.bdl(0);
					}
				}
			}
			
			.tribe-grid-header {
				position:relative;
				
				.tribe-grid-content-wrap {
					padding-left:59px;
					
					.column {
						border-left:1px solid rgba(255, 255, 255, .1);
						position:relative;
						.tac;
						
						a, 
						> span {
							display:block;
							padding:15px;
							position:relative;
							.tac;
						}
					}
				}
			}
			
			.tribe-grid-allday {
				margin-bottom:-1px;
				position:relative;
				z-index:1000;
				.bdl(2px);
				.bdr(2px);
				.bdb;
				
				.tribe-events-tooltip {
					bottom:100% !important;
				}
				
				.column {
					min-height:60px;
				
					&.first {
						height:60px;
						padding:5px;
						position:relative;
						top:0;
						
						span {
							.tac;
							.pos_abs(50px, auto);
						}
					}
					
					.tribe-week-event {
						position:relative;
						
						> div {
							width:100%;
							cursor:pointer;
						}
						
						&.tribe-dayspan2 > div {
							width:200%;
						}
						
						&.tribe-dayspan3 > div {
							width:300%;
						}
						
						&.tribe-dayspan4 > div {
							width:400%;
						}
						
						&.tribe-dayspan5 > div {
							width:500%;
						}
						
						&.tribe-dayspan6 > div {
							width:600%;
						}
						
						&.tribe-dayspan7 > div {
							width:700%;
						}
					}
				}
			}
			
			.tribe-week-grid-wrapper {
				height:500px;
				overflow-y:scroll;
				position:relative;
				
				.tribe-week-grid-outer-wrap {
					position:relative;
					z-index:10;
					
					.tribe-week-grid-inner-wrap {
						width:100%;
						position:absolute;
						
						.tribe-week-grid-block {
							height:60px !important;
							padding:0 !important;
							margin:0 !important;
							position:relative;
							
							div {
								height:31px;
								margin-bottom:29px;
								.bdt;
								.bdb(1px, dotted);
								
								&:before {
									content:'';
									display:block;
									width:100%;
									height:31px;
									position:absolute;
									top:-15px;
									left:0;
									.bdt(1px, dotted);
									.bdb(1px, dotted);
								}
							}
						}
					}
				}
				
				.tribe-grid-body {
					overflow:visible;
					position:relative;
					
					.tribe-week-grid-hours {
						width:55px;
						margin-right:-55px;
						position:relative;
						z-index:20;
						.bdl(0);
						.fl;
						
						div {
							height:60px;
							padding:0 3px 5px;
							position:relative;
						}
					}
					
					.tribe-week-event {
						width:100%;
						visibility:hidden;
						position:absolute;
						z-index:500;
						
						&:hover {
							z-index:800;
						}
						
						.vevent {
							width:100%;
							height:100%;
							cursor:pointer;
						}
					}
				}
			}
			
			.tribe-week-event {
				padding:0;
				
				> div:first-child {
					padding:3px;
					position:relative;
					z-index:1;
					
					> .entry-title {
						display:block;
						width:100%;
						height:100%;
						margin:0;
						padding:0;
						.ovh;
						.bd;
						
						a {
							display:block;
							width:100%;
							height:100%;
							padding:5px 12px;
							text-overflow:ellipsis;
							.ovh;
						}
					}
				}
			}
			
			.tribe-grid-body {
				.tribe-events-tooltip {
					margin:-1px 0 0 -24px;
					
					&:before {
						bottom:auto;
						top:10px;
						left:-6px;
						.arrow_left(6px, 5px);
					}
				}
				
				.tribe-events-right {
					.tribe-events-tooltip {
						margin:-5px -21px 0 0;
						
						&:before {
							bottom:auto;
							top:10px;
							left:auto;
							right:-6px;
							.arrow_right(6px, 5px);
						}
					}
				}
			}
			
			.tribe-scroller {
				position:relative;
				width:100%;
				height:500px;
				overflow:hidden;
				.bdl(2px);
				.bdr(2px);
			}
			
			.tribe-scroller > .scroller-content {
				position:absolute;
				overflow:scroll;
				overflow-x:hidden;
				top:0;
				right:0;
				bottom:0;
				left:0;
			}
			
			.tribe-scroller > .scroller-content:focus {
				outline:thin dotted;
			}
			
			.tribe-scroller > .scroller-content::-webkit-scrollbar {
				display:none;
			}
			
			.has-scrollbar > .scroller-content::-webkit-scrollbar {
				display:block;
			}
			
			.tribe-scroller > .scroller-pane {
				background:rgba(0,0,0,.25);
				position:absolute;
				width:10px;
				right:0;
				top:0;
				bottom:0;
				visibility:hidden\9; /* Target only IE7 and IE8 with this hack */
				opacity:.01;
				-webkit-transition:.2s;
				-moz-transition:.2s;
				-o-transition:.2s;
				transition:.2s;
				-moz-border-radius:5px;
				-webkit-border-radius:5px;
				border-radius:5px;
				z-index:1000 !important
			}
			
			.tribe-scroller > .scroller-pane > .scroller-slider {
				background:#444;
				background:rgba(0,0,0,.5);
				position:relative;
				margin:0 1px;
				-moz-border-radius:3px;
				-webkit-border-radius:3px;
				border-radius:3px;
			}
			
			.tribe-scroller:hover > .scroller-pane, .tribe-events-grid .scroller-pane.active, .scroller-pane.flashed {
				visibility:visible\9; /* Target only IE7 and IE8 with this hack */
				opacity:0.99;
			}
		}
	}
}

#tribe-mobile-container {
	display:none;
	padding:60px 0 20px;
	position:relative;
	.ovh;
	
	.tribe-mobile-day {
		position:relative;
		.ovh;
		
		.tribe-mobile-day-heading, 
		.tribe-mobile-day-date {
			position:relative;
			padding:10px 20px;
			margin:0;
			float:none;
			position:relative;
			.cl;
			.ovh;
		}
		
		.tribe-events-mobile {
			padding:40px 0;
			position:relative;
			.bdb;
			.ovh;
			
			&:last-child, 
			&.tribe-events-last, 
			&.tribe-event-end-month {
				.bdb(0);
			}
			
			.tribe-events-event-image {
				width:100%;
				margin:0 0 15px;
				position:relative;
				.tac;
				.ovh;
				
				img {
					width:100%;
					max-width:100%;
					height:auto;
				}
			}
		
			.summary {
				margin:0 0 5px;
			}
			
			.tribe-events-event-body {
				position:relative;
				.ovh;
				
				.time-details {
					margin:0 0 20px;
					position:relative;
				}
				
				.description {
					position:relative;
					.ovh;
				}
				
				.tribe-events-read-more {
					display:inline-block;
				}
			}
		}
	}
}

.tribe-events-week-grid #tribe-mobile-container {
	padding-top:10px;
}



/*-------------------------------------------------------------------------*/
/*	5. Single Event */
/*-------------------------------------------------------------------------*/

.tribe_events {
	.tribe-events-single &, 
	table.tribe-events-calendar & {
		padding:0;
		overflow:visible;
	}
	
	&.cmsms_default_type {
		figure > a.preloader:empty {
			padding-bottom:0;
		}
		
		.cmsms_post_format_img:before {
			content:'\ef62';
		}
	}
}

#tribe-events-content {
	.cmsms_event_date {
		width:110px;
		height:110px;
		margin:10px 30px 0 0;
		position:relative;
		.fl;
		
		&:before {
			content:'';
			display:block;
			height:4px;
			position:absolute;
			top:0;
			left:50%;
		}
		
		.cmsms_event_day {
			padding:22px 0 8px;
			.tac;
		}
		
		.cmsms_event_month {
			.tac;
		}
	}
	
	&.tribe-events-single {
		padding:0;
		
		.middle_content & {
			padding:60px 0 0;
		}
		
		.cmsms_single_event_header {
			padding:0 0 40px;
			position:relative;
			
			.tribe-events-address {
				margin-top:8px;
				
				address {
					margin-bottom:0;
				}
			}
			
			.tribe-events-cost {
				margin-top:8px;
			}
			
			.cmsms_single_event_header_left {
				.fl;
				
				.cmsms_single_event_header_left_inner {
					.fl;
				}
				
				.tribe-events-single-event-title {
					margin:0 0 8px;
					padding:0;
				}
				
				.tribe-events-schedule {
					position:relative;
					
					> div {
						&:before {
							margin-right:15px;
						}
					}
				}
			}
			
			.cmsms_single_event_header_right {
				padding:10px 0 0;
				.fr;
				.ovh;
				
				.tribe-events-back {
					margin:0 0 8px;
					padding:0;
					.tar;
					
					&:before {
						margin-right:10px;
					}
				}
				
				.tribe-events-cal-links {
					a {
						display:block;
						.tar;
						
						&:first-child {
							margin:0 0 8px;
						}
					}
				}
			}
		}
		
		.cmsms_single_event_inner {
			padding-bottom:30px;
			position:relative;
			.ovh;
			
			.cmsms_single_event_img {
				width:50%;
				padding-right:20px;
				position:relative;
				.fl;
				.ovh;
				
				.tribe-events-event-image {
					display:block;
					width:100%;
					height:0;
					padding-bottom:72%;
					position:relative;
					.ovh;
					
					img {
						.fullwidth_in_block;
					}
				}
				
				&.cmsms_single_event_full_width {
					.tribe-events-event-image {
						padding-bottom:46%;
					}
				}
			}
			
			.cmsms_single_event_map {
				width:50%;
				padding-left:20px;
				position:relative;
				.fl;
				.ovh;
				
				[id*="tribe-events-gmap"] {
					width:100% !important;
					height:0 !important;
					padding-bottom:72% !important;
					margin:0 !important;
					position:relative !important;
					
					> div {
						position:absolute;
					}
				}
				
				&.cmsms_single_event_full_width {
					[id*="tribe-events-gmap"] {
						padding-bottom:46% !important;
					}
				}
			}
			
			.cmsms_single_event_img, 
			.cmsms_single_event_map {
				&.cmsms_single_event_full_width {
					width:100%;
					float:none;
					padding:0;
				}
			}
		}
		
		.cmsms_single_event_content {
			padding:0 0 15px;
			position:relative;
			.ovh;
			
			+ .tribe-events-cal-links {
				.dn;
			}
		}
		
		.cmsms_single_event_meta {
			margin:0 -@col_mar;
			padding:0 0 40px;
			position:relative;
			word-wrap:break-word;
			.ovh;
			
			&.cmsms_event_meta_info_col_4 {
				.tribe-events-meta-group {
					width:round((100% / 4) - (@col_mar * 2), 2);
				}
			}
			
			&.cmsms_event_meta_info_col_3 {
				.tribe-events-meta-group {
					width:round((100% / 3) - (@col_mar * 2), 2);
				}
			}
			
			&.cmsms_event_meta_info_col_2 {
				.tribe-events-meta-group {
					width:round((100% / 2) - (@col_mar * 2), 2);
				}
			}
			
			.tribe-events-meta-group {
				width:round(100% - (@col_mar * 2), 2);
				margin:0 @col_mar 30px;
				position:relative;
				.fl;
				.ovh;
				
				.tribe-events-single-section-title {
					position:relative;
				}
				
				.cmsms_event_meta_info {
					position:relative;
					.ovh;
					
					.cmsms_event_meta_info_item {
						padding:6px 0;
						position:relative;
						.ovh;
						
						dl {
							padding:0;
						}
						
						.cmsms_event_meta_info_item_title, 
						.cmsms_event_meta_info_item_descr, 
						dt, 
						dd {
							display:inline-block;
							width:45%;
							padding:0 15px 0 0;
							position:relative;
							vertical-align:middle;
							.tal;
							.ovh;
						}
						
						.cmsms_event_meta_info_item_descr, 
						dd {
							width:55%;
							padding:0;
							margin:0 0 0 -5px;
							.tar;
						}
					}
				}
			}
		}
	}
}



/*-------------------------------------------------------------------------*/
/*	6. Related Events */
/*-------------------------------------------------------------------------*/

ul.tribe-related-events {
	margin:0 -@col_mar;
	padding:0;
	position:relative;
	overflow:visible !important;
	
	> li {
		width:round((100% / 3) - (@col_mar * 2), 2);
		margin:0 @col_mar 40px;
		padding:0;
		position:relative;
		.fl;
		
		&:before {
			content:none;
		}
		
		.tribe-related-events-thumbnail {
			> a {
				display:block;
				height:0;
				padding-bottom:72%;
				margin:0 0 15px;
				position:relative;
				.ovh;
				
				&:empty {
					padding-bottom:0;
				}
			}
			
			img, 
			.cmsms_events_img_placeholder {
				.fullwidth_in_block;
			}
			
			.cmsms_events_img_placeholder:before {
				font-size:40px;
				.pos_abs;
			}
		}
		
		.tribe-related-event-info {
			position:relative;
			
			.tribe-related-events-title {
				margin:0 0 10px;
			}
			
			.recurringinfo {
				display:block;
				margin:2px 0 0;
				
				.tribe-events-divider {
					display:none;
				}
			}
		}
	}
}



/*-------------------------------------------------------------------------*/
/*	7. Single Venue */
/*-------------------------------------------------------------------------*/
.middle_content div.tribe-events-venue {
	padding:40px 0 0;
}

div.tribe-events-venue {
	.ovh;
}

.tribe-events-venue {
	position:relative;
	
	.cmsms_events_venue_header {
		margin:0;
		padding:0 0 30px;
		position:relative;
		
		.cmsms_events_venue_header_left {
			.fl;
			
			.entry-title {
				margin:0 0 7px;
				padding:0;
			}
			
			.tribe-events-event-meta {
				position:relative;
				.ovh;
				
				.venue-address {
					margin:0;
					position:relative;
					.ovh;
					
					> span {
						display:block;
						padding-top:8px;
					}
				}
			}
		}
		
		.cmsms_events_venue_header_right {
			padding:10px 0 0;
			.fr;
			.ovh;
			.tar;
			
			.tribe-events-back {
				margin:0;
				padding:0;
				.tar;
				
				a {
					&:before {
						margin-right:7px;
					}
				}
			}
			
			a {
				display:block;
				margin:8px 0 0;
				.tar;
			}
		}
	}
	
	.tribe-events-venue-meta {
		position:relative;
		.ovh;
		
		.cmsms_events_venue_meta_inner {
			padding-bottom:30px;
			position:relative;
			.ovh;
			
			.cmsms_events_venue_meta_img {
				width:50%;
				padding-right:20px;
				position:relative;
				.fl;
				.ovh;
				
				.tribe-events-event-image {
					display:block;
					width:100%;
					height:0;
					padding-bottom:100%;
					position:relative;
					.ovh;
					
					img {
						.fullwidth_in_block;
					}
				}
			}
			
			.cmsms_events_venue_meta_map {
				width:50%;
				padding-left:20px;
				position:relative;
				.fl;
				.ovh;
				
				[id*="tribe-events-gmap"] {
					width:100% !important;
					height:0 !important;
					padding-bottom:100% !important;
					margin:0 !important;
					position:relative !important;
					
					> div {
						position:absolute;
					}
				}
				
				&.cmsms_events_venue_meta_full_width {
					[id*="tribe-events-gmap"] {
						padding-bottom:40% !important;
					}
				}
			}
			
			.cmsms_events_venue_meta_img, 
			.cmsms_events_venue_meta_map {
				&.cmsms_events_venue_meta_full_width {
					width:100%;
					float:none;
					padding:0;
				}
			}
		}
		
		.tribe-venue-description {
			padding-bottom:20px;
			
			> .cmsms_row {
				.cmsms_row_inner {
					padding:0;
				}
			}
		}
	}
	
	#tribe-events-content {
		padding-top:0;
	}
}



/*-------------------------------------------------------------------------*/
/*	8. Single Organizer */
/*-------------------------------------------------------------------------*/
.middle_content .tribe-events-organizer {
	padding:40px 0 0;
}

.tribe-events-organizer {
	position:relative;
	.ovh;
	
	.cmsms_events_organizer_header {
		margin:0;
		padding:0 0 30px;
		position:relative;
		
		.cmsms_events_organizer_header_left {
			.fl;
			
			.entry-title {
				margin:0 0 7px;
				padding:0;
			}
			
			.tribe-events-event-meta {
				position:relative;
				.ovh;
				
				.organizer-address {
					margin:0;
					position:relative;
					.ovh;
					
					> span {
						display:block;
						padding-top:8px;
					}
					
					.tribe-events-divider {
						display:none;
					}
				}
			}
		}
		
		.cmsms_events_organizer_header_right {
			padding:10px 0 0;
			.fr;
			.ovh;
			.tar;
			
			.tribe-events-back {
				margin:0;
				padding:0;
				.tar;
				
				a {
					&:before {
						margin-right:7px;
					}
				}
			}
			
			a {
				display:block;
				margin:0 0 3px;
				.tar;
			}
		}
	}
	
	.tribe-events-organizer-meta {
		position:relative;
		.ovh;
		
		.tribe-events-event-image {
			display:block;
			margin-bottom:30px;
			position:relative;
			.tac;
			.ovh;
		}
		
		.tribe-organizer-description {
			> .cmsms_row {
				.cmsms_row_inner {
					padding:0;
				}
			}
		}
	}
}



/*-------------------------------------------------------------------------*/
/*	9.	Widgets	*/
/*-------------------------------------------------------------------------*/

.widget {
	/* Global Widgets Styles */
	ol.vcalendar, 
	ul.vcalendar {
		list-style:none;
		margin:0;
		padding:0;
		position:relative;
		.ovh;
		
		.vevent {
			margin:0 0 15px;
			padding:0 0 15px;
			position:relative;
			.bdt(0);
			.bdb;
			.ovh;
			
			&:before {
				content:none;
			}
			
			.entry-title {
				margin:0 0 5px;
			}
			
			.cmsms_widget_event_info {
				position:relative;
				.ovh;
				
				> div {
					padding:5px 0 0 30px;
					position:relative;
					
					&:before {
						position:absolute;
						top:5px;
						left:0;
					}
				}
				
				.tribe-events-list-widget& {
					padding-bottom:0;
				}
				
				.duration {
					position:relative;
				}
				
				.recurringinfo {
					display:inline-block;
				}
			}
			
			.cmsms_widget_event_venue_info_loc {
				position:relative;
				.ovh;
				
				> div {
					padding:5px 0 0 30px;
					position:relative;
					
					&:before {
						position:absolute;
						top:5px;
						left:0;
					}
					
					&.cmsms_widget_event_venue_loc {
						> span {
							display:block;
						}
					}
				}
			}
		}
	}
	
	.tribe-events-widget-link {
		margin:0;
		padding:0;
		position:relative;
		.ovh;
	}
	
	
	/* Widget List */
	.vcalendar .vevent, 
	.tribe-events-list-widget-events {
		.cmsms_event_date {
			width:85px;
			height:85px;
			margin:5px 30px 5px 0;
			position:relative;
			.fl;
			
			&:before {
				content:'';
				display:block;
				height:3px;
				position:absolute;
				top:0;
				left:50%;
			}
			
			.cmsms_event_day {
				padding:18px 0 2px;
				.tac;
			}
			
			.cmsms_event_month {
				.tac;
			}
		}
		
		.tribe-events-list-widget-content-wrap {
			padding-bottom:5px;
			position:relative;
			.ovh;
			
			.duration {
				padding:5px 0 0 30px;
				position:relative;
				
				&:before {
					position:absolute;
					top:5px;
					left:0;
				}
			}
		}
	}
	
	
	/* CountDown */
	&.tribe-events-countdown-widget {
		position:relative;
		
		.tribe-countdown-text {
			margin:0 0 15px;
			position:relative;
			.cl;
			.ovh;
		}
		
		.tribe-countdown-time {
			display:block;
			margin-bottom:-15px;
			position:relative;
			.ovh;
			
			.tribe-countdown-timer {
				position:relative;
				.ovh;
				.tac;
				
				div {
					.tac;
				}
				
				span.tribe-countdown-seconds, 
				span.format, 
				h3.tribe-countdown-complete {
					.dn;
				}
				
				.tribe-countdown-number {
					position:relative;
					.ovh;
					.fl;
					
					&.tribe-countdown-right {
						.fl;
					}
					
					.tribe-countdown-under {
						position:relative;
						top:-15px;
					}
				}
				
				.tribe-countdown-colon {
					padding:0 4px;
					position:relative;
					.fl;
					.ovh;
				}
			}
		}
	}


	/* Widget Venue */
	&.tribe-events-venue-widget {
		position:relative;
		.ovh;
		
		.tribe-venue-widget-wrapper {
			position:relative;
			.ovh;
			
			.tribe-venue-widget-venue {
				margin:0 0 20px;
				position:relative;
				.ovh;
				
				.tribe-venue-widget-thumbnail {
					position:relative;
					.tac;
					.ovh;
				}
				
				.tribe-venue-widget-venue-name {
					padding:12px 20px;
					position:relative;
					
					&:before {
						content:'';
						display:block;
						width:2px;
						position:absolute;
						top:50%;
						left:0;
					}
				}
			}
		}
	}
	
	
	/* Widget Mini Calendar */
	&.tribe_mini_calendar_widget {
		position:relative;
		.ovh;
		
		.tribe-mini-calendar-wrapper {
			width:100%;
			
			.tribe-mini-calendar-grid-wrapper {
				margin-bottom:20px;
				
				.tribe-mini-calendar {
					width:100%;
					border-collapse:separate;
					.bdb;
					
					th, 
					td {
						width:14.2857142857%;
						vertical-align:top;
						.bdr;
						.bdb;
						.tac;
						
						div {
							.tac;
						}
						
						&:first-child {
							.bdl(2px);
						}
						
						&:last-child {
							.bdr(2px);
						}
					}
					
					th {
						&.tribe-mini-calendar-dayofweek {
							padding:3px 0;
							.bd(0);
						}
					}
					
					.tribe-mini-calendar-nav {
						vertical-align:middle;
						.tac;
						
						td {
							.bd(0);
						}
						
						div {
							padding:10px 35px;
							position:relative;
							.tac;
							
							> span {
								display:block;
								.tac;
								
								&.active {
									visibility:hidden;
								}
							}
							
							#ajax-loading-mini {
								.dn;
								.pos_abs(auto, 70%);
							}
							
							.tribe-mini-calendar-nav-link {
								display:block;
								.pos_abs(40px, 100%);
								
								&:before {
									content:'';
									.bdt;
									.bdb;
									.pos_abs(1px, 7px);
								}
								
								span {
									text-indent:-9999px;
									.pos_abs(1px, 1px);
									
									&:before, 
									&:after {
										content:'';
										.bdt;
										.bdb;
										.pos_abs(1px);
									}
									
									&:before {
										height:3px;
										top:-1px;
										bottom:auto;
									}
									
									&:after {
										height:5px;
										top:-2px;
										bottom:auto;
									}
								}
								
								&.prev-month {
									right:auto;
									
									&:before {
										left:6px;
									}
									
									span {
										&:before {
											left:1px;
											right:auto;
										}
										
										&:after {
											left:2px;
											right:auto;
										}
									}
								}
								
								&.next-month {
									left:auto;
									
									&:before {
										left:-6px;
									}
									
									span {
										&:before {
											left:-1px;
											right:auto;
										}
										
										&:after {
											left:-2px;
											right:auto;
										}
									}
								}
							}
						}
					}
					
					.vcalendar {
						td {
							&.tribe-events-othermonth {
								position:relative;
							}
							
							div {
								padding:3px 0 14px;
								position:relative;
								.tac;
							}
							
							&.tribe-events-has-events {
								div {
									padding:0;
							
									.tribe-mini-calendar-day-link {
										display:block;
										padding:3px 0 14px;
										position:relative;
										
										&:before {
											content:'';
											.pos_abs(6px, 6px, 0, 0, auto, 7px);
											.bdrs(50%);
										}
									}
								}
							}
						}
					}
				}
			}
			
			.tribe-mini-calendar-list-wrapper {
				position:relative;
				.ovh;
				
				.tribe-events-loop {
					position:relative;
					.ovh;
					
					.vevent {
						padding:0 0 15px;
						margin:0 0 15px;
						position:relative;
						.ovh;
						.bdb;
						
						&:last-child {
							margin:0;
							padding:0;
							.bdb(0);
						}
						
						.entry-title {
							margin:0 0 5px;
						}
						
						.tribe-mini-calendar-event {
							position:relative;
							.ovh;
							
							.list-date {
								display:none;
							}
							
							.list-info {
								position:relative;
								.ovh;
								
								.entry-title {
									margin:0 0 5px;
								}
								
								.duration {
									padding:5px 0 0 30px;
									position:relative;
									
									&:before {
										content:'\ef5f';
										font-family:"fontello";
										line-height:1em;
										text-align:left;
										display:block;
										width:1em;
										margin-left:.2em;
										margin-right:.2em;
										position:absolute;
										top:5px;
										left:0;
									}
								}
								
								.tribe-mini-calendar-event-cost, 
								.tribe-events-divider {
									display:inline-block;
								}
								
								.tribe-mini-calendar-event-venue {
									margin:-5px 0 0;
								}
								
								.recurringinfo {
									display:block;
									
									.tribe-events-divider {
										display:none;
									}
								}
							}
						}
					}
				}
			}
		}
	}
	
	/* Widget This Week */
	&.tribe-this-week-events-widget {
		position:relative;
		
		.widgettitle {
			margin:0 0 -25px;
			padding:0 40px 0 0;
		}
		
		.tribe-this-week-widget-wrapper {
			padding:50px 0 0;
			position:relative;
			.ovh;
		}
		
		.tribe-events-page-title {
			margin:0;
			padding:0;
			.tal;
		}
		
		.tribe-events-sub-nav {
			margin:0;
			padding:0;
			position:absolute;
			left:auto;
			right:0;
			top:-12px;
			bottom:auto;
			
			li {
				padding:0;
				margin:0;
				.bd(0);
				
				a {
					padding:0;
					display:block;
				}
				
				.tribe-nav-label {
					.dn;
				}
			}
		}
		
		.tribe-this-week-widget-weekday-wrapper  {
			position:relative;
		}
		
		.tribe-this-week-widget-day {
			padding:15px 0;
			position:relative;
			.bdb;
			
			&:last-child {
				padding-bottom:0;
				.bdb(0);
			}
		}
		
		.tribe-this-week-widget-header-date {
			display:inline-block;
			margin:0 0 3px;
		}
		
		.this-week-today .tribe-this-week-widget-header-date {
			padding:0 5px;
			.bdrs(2px);
		}
		
		.tribe-this-week-event {
			padding:15px 0 0;
			position:relative;
			
			&:first-child {
				padding:0;
			}
			
			.entry-title {
				margin:0;
				padding:0 0 5px;
			}
			
			.duration, 
			.tribe-venue {
				outline:none;
				
				&:before {
					font-size:14px;
					margin:0 7px 0 0;
				}
			}
		}
		
		.tribe-events-viewmore {
			padding:15px 0 0;
		}
	}
}




/*-------------------------------------------------------------------------*/
/*	10.	CSS3 Animations	*/
/*-------------------------------------------------------------------------*/

html.csstransitions {
	#tribe-events-bar #tribe-bar-views .tribe-bar-views-inner ul.tribe-bar-views-list {
		.trans(~'left .3s ease-in-out, opacity .3s ease-in-out, visibility .3s ease-in-out');
	}
	
	#tribe-events-content.tribe-events-month table.tribe-events-calendar tbody td.tribe-events-past .tribe-events-month-event-title a, 
	#tribe-events-bar #tribe-bar-views .tribe-bar-views-inner ul.tribe-bar-views-list li.tribe-bar-views-option a, 
	.widget.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper .tribe-mini-calendar-grid-wrapper .tribe-mini-calendar .vcalendar td, 
	.widget.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper .tribe-mini-calendar-grid-wrapper .tribe-mini-calendar .vcalendar td .tribe-mini-calendar-day-link, 
	.widget.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper .tribe-mini-calendar-grid-wrapper .tribe-mini-calendar .vcalendar td .tribe-mini-calendar-day-link:before, 
	.widget.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper .tribe-mini-calendar-grid-wrapper .tribe-mini-calendar .tribe-mini-calendar-nav div .tribe-mini-calendar-nav-link, 
	#tribe-events-content.tribe-events-week-grid .tribe-events-grid .tribe-week-event:hover > div:first-child > .entry-title, 
	#tribe-events-content.tribe-events-week-grid .tribe-events-grid .tribe-week-event:hover > div:first-child > .entry-title a {
		.trans(~'background-color .3s ease-in-out, color .3s ease-in-out');
	}
	
	.tribe-events-sub-nav li a, 
	ul.tribe-related-events > li .tribe-related-events-thumbnail .cmsms_events_img_placeholder, 
	.widget.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper .tribe-mini-calendar-grid-wrapper .tribe-mini-calendar .vcalendar td.tribe-events-has-events * {
		.trans(~'color .3s ease-in-out');
	}
	
	.tribe-events-sub-nav li a span, 
	#tribe-events-content.tribe-events-month table.tribe-events-calendar tbody td div[id*="tribe-events-event-"], 
	#tribe-events-content.tribe-events-week-grid .tribe-events-grid .tribe-grid-header .tribe-grid-content-wrap .column a {
		.trans(~'background-color .3s ease-in-out');
	}
	
	.tribe-events-sub-nav li a span:before, 
	.tribe-events-sub-nav li a span:after {
		.trans(~'border-color .3s ease-in-out');
	}
}

