div#em-loading {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #FFF url(../images/loading.gif) 50% 50% no-repeat;
    left: 0;
    top: 0;
    opacity: 0.8;
    filter: alpha(opacity=80);
    z-index: 99998
    }
.em-search-ajax {
    position: relative
    }
.em-wrapper label span.screen-reader-text, #em-wrapper label span.screen-reader-text {
    clip: rect(1px 1px 1px 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden
    }
/* Warnings */
.em-warning {
    margin: 10px 0;
    padding: 10px;
    color: #333;
    border-radius: 3px;
    display: block !important
    }
.em-warning p {
    margin: 10px 0 !important;
    padding: 0;
    color: #333
    }
.em-warning-errors {
    background-color: #FFEBE8;
    border: 1px solid #C00
    }
.em-warning-confirms {
    background-color: #f1fff0;
    border: 1px solid #a8d144
    }
a.em-button {
    padding: 5px 10px;
    margin: 5px;
    background: #EEE;
    color: #333;
    border: 1px solid #CCC;
    border-radius: 3px;
    display: inline-block;
    text-decoration: none
    }
a.em-button:hover {
    text-decoration: none
    }
/* Search Form */
.em-search div {
    display: inline
    }
.em-search .hidden {
    display: none !important
    }
/* Custom Search CSS */
div.css-search {
    margin-bottom: 20px
    }
div.em-search.css-search label {
    display: inline
    }
div.em-search.css-search div {
    display: block
    }
div.css-search input, div.css-search select, div.css-search option, div.css-search div, div.css-search span, div.css-search button {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    float: none;
    display: inline-block;
    font-size: 14px;
    /* reset everything */
    }
div.css-search option {
    display: block
    }
div.css-search input, div.css-search select {
    padding: 5px
    }
div.css-search {
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 3px;
    padding: 5px;
    min-height: 40px;
    position: relative;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px
    }
/* Main Search */
div.css-search.has-advanced div.em-search-main {
    padding-bottom: 8px;
    border-bottom: 1px solid #dedede
    }
div.css-search div.em-search-main div {
    display: inline
    }
div.css-search div.em-search-field {
    padding: 5px 0
    }
div.css-search input.em-search-text, div.css-search input.em-search-geo {
    width: 90%;
    font-size: 16px;
    line-height: 16px;
    padding: 8px;
    border: none;
    outline: none !important;
    color: #666;
    text-overflow: ellipsis;
    display: inline-block
    }
div.css-search div.em-search-geo {
    margin: 0 0 0 5px;
    padding-left: 20px;
    background: url(../images/search-geo.png) 0 3px no-repeat
    }
div.css-search div.em-search-text {
    margin: 0 0 0 5px;
    padding-left: 20px;
    background: url(../images/search-mag-ico.png) 0 4px no-repeat
    }
/* Placeholder text in main section */
div.css-search div.em-search-main div.em-search-field input::-webkit-input-placeholder {
    /* WebKit browsers */
    font-size: 16px;
    line-height: 16px;
    padding: 3px 0;
    border: none;
    outline: none;
    color: #666
    }
div.css-search div.em-search-main div.em-search-field input:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    font-size: 16px;
    line-height: 16px;
    padding: 8px;
    border: none;
    outline: none;
    color: #666
    }
div.css-search div.em-search-main div.em-search-field input::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    font-size: 16px;
    line-height: 16px;
    padding: 8px;
    border: none;
    outline: none;
    color: #666
    }
div.css-search div.em-search-main div.em-search-field input:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    font-size: 16px;
    line-height: 16px;
    padding: 8px;
    border: none;
    outline: none;
    color: #666
    }
/* Geo field specifics */
div.css-search.has-search-geo.has-search-term input.em-search-text, div.css-search.has-search-geo.has-search-term input.em-search-geo {
    width: 40%
    }
.pac-container .pac-item {
    padding: 4px 4px !important
    }
/* Main Search Button */
div.css-search div.em-search-main .em-search-submit {
    position: absolute;
    top: 5px;
    right: 5px;
    -moz-box-shadow: 0 0 0 0 #fff;
    -webkit-box-shadow: 0 0 0 0 #fff;
    box-shadow: 0 0 0 0 #fff;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #b7d282), color-stop(1, #8eb56d));
    background: -moz-linear-gradient(center top, #b7d282 5%, #8eb56d 100%);
    background-color: #b7d282;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #dcdcdc;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    padding: 8px 10px;
    text-decoration: none;
    text-shadow: 1px 1px 0 #c7c5c7;
    line-height: 16px
    }
div.css-search div.em-search-main .em-search-submit:hover {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #C4DB99), color-stop(1, #A4C48A));
    background: -moz-linear-gradient(center top, #C4DB99 5%, #A4C48A 100%);
    background: -ms-linear-gradient(top, #C4DB99, #A4C48A);
    background: -o-linear-gradient(top, #C4DB99, #A4C48A);
    background: linear-gradient(to top, #C4DB99, #A4C48A);
    background-color: #A4C48A
    }
div.css-search div.em-search-main .em-search-submit img {
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
    border-radius: 0;
    background: none
    }
/* IE7 Hack */
div.css-search div.em-search-main button.em-search-submit span {
    display: block;
    width: 16px;
    height: 16px;
    background: url(../images/search-mag.png) 0 0 no-repeat
    }
/* Advanced Search */
div.css-search div.em-search-location, div.em-search-location-meta {
    margin: 0;
    padding: 0
    }
div.css-search div.em-search-advanced, div.css-search div.em-search-options {
    padding: 5px 8px
    }
div.css-search div.em-search-advanced > div {
    clear: both
    }
div.css-search div.em-search-advanced label > span {
    display: block;
    float: left;
    min-width: 100px
    }
div.css-search div.em-search-advanced .em-search-submit {
    margin: 10px 0
    }
div.css-search.no-search-main div.em-search-advanced.visible div {
    display: inline;
    clear: none
    }
div.css-search.no-search-main div.em-search-advanced.visible label {
    display: none
    }
div.css-search div.em-search-options {
    text-align: right
    }
/* Events List */
.css-events-list table.events-table {
    border-spacing: 0;
    border-collapse: collapse
    }
.css-events-list table.events-table td {
    padding: 0
    }
.css-events-list table.events-table th.event-time {
    width: 150px
    }
.css-events-list table.events-table th.event-description {
    width: auto
    }
/* Booking Form */
.em-booking {
    margin: 15px 0 10px 0;
    position: relative
    }
.em-booking-form {
    position: relative;
    clear: left
    }
.em-booking-form-details {
    padding: 10px;
    width: 360px;
    float: left
    }
.em-booking-form-details input.input, .em-booking-form-details textarea {
    width: 250px
    }
.em-booking-form p {
    clear: left
    }
.em-booking-form label {
    display: block;
    float: left
    }
.em-booking-form span.input-group input {
    margin-left: -20px
    }
.em-booking-form span.input-group {
    display: block;
    margin-left: 120px
    }
.em-booking-form label {
    display: inline-block;
    width: 100px
    }
.em-booking-form p.input-field-data_privacy_consent label {
    display: block;
    width: 100%
    }
.em-booking-form-details .em-booking-submit {
    width: auto
    }
/* Tickets */
.em-tickets {
    margin-bottom: 20px
    }
/* Message Errors */
div.em-booking-message {
    margin: 10px 0;
    padding: 10px;
    color: #333;
    border-radius: 3px
    }
div.em-booking-message p {
    margin: 10px 0 !important;
    padding: 0;
    color: #333
    }
div.em-booking-message-success {
    background-color: #f1fff0;
    border: 1px solid #a8d144
    }
div.em-booking-message-error {
    background-color: #FFEBE8;
    border: 1px solid #C00
    }
/* Optional Login Form */
div.em-booking-login {
    padding: 10px 10px 10px 20px;
    margin: 0 0 0 390px;
    border-left: 1px solid black
    }
div.em-booking-login label {
    display: inline-block;
    width: 90px
    }
div.em-booking-login p {
    margin: 10px 0 !important;
    padding: 0 !important
    }
div.em-booking-login input {
    margin: 0
    }
/* Events Admin */
#em-wrapper #posts-filter .subsubsub .current {
    font-weight: bold
    }
#em-wrapper .em-events-admin-list .em-button, #em-wrapper .em-events-admin-list .em-button {
    float: right
    }
/* Add Event Form */
#event-form h4 {
    margin: 25px 0 15px 0;
    font-weight: bold
    }
#event-form p {
    margin-top: 10px
    }
#event-form .inside {
    clear: both;
    margin-bottom: 20px
    }
#buddypress .wp-editor-wrap table {
    width: auto
    }
#buddypress .wp-editor-wrap table tr td, #buddypress .wp-editor-wrap table tr th {
    padding: 0
    }
#buddypress .wp-editor-wrap a.button, #buddypress .wp-editor-wrap button, #buddypress .wp-editor-wrap input[type=submit], #buddypress .wp-editor-wrap input[type=button], #buddypress .wp-editor-wrap input[type=reset] {
    padding: 0 10px 1px
    }
/* Event Details */
#event-form #event-name {
    width: 80%;
    padding: 2px
    }
#event-form .event-extra-details {
    margin-top: 20px
    }
#event-form .event-extra-details select {
    vertical-align: top
    }
/* Recurring Event Rescheduling */
#event-form .reschedule-hidden, #post .reschedule-hidden {
    display: none;
    visibility: hidden
    }
#event-form .em-recurrence-reschedule, #post .em-recurrence-reschedule {
    padding: 15px 20px;
    border-left: 4px solid #ffa500
    }
#event-form .em-recurrence-reschedule h4, #post .em-recurrence-reschedule h4 {
    margin-top: 0
    }
#event-form .recurrence-reschedule-warning, #post .recurrence-reschedule-warning {
    margin-bottom: 25px;
    color: #c45500
    }
#event-form .recurrence-reschedule-warning p, #post .recurrence-reschedule-warning p {
    margin-top: 0;
    font-size: 14px
    }
/*Tickets*/
#event-rsvp-box {
    margin: 10px
    }
#event-rsvp-options label {
    font-weight: bold
    }
/*Tickets*/
#em-tickets-form tbody.em-ticket-template {
    display: none
    }
#em-tickets-form th {
    width: auto
    }
#em-tickets-form th.ticket-status, .em-tickets-row .ticket-status {
    width: 20px
    }
#em-tickets-form .em-tickets-row .ticket-status span.dashicons {
    display: block;
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 16px;
    font-weight: bolder
    }
#em-tickets-form .em-tickets-row .ticket-status.single span.dashicons {
    cursor: auto
    }
#em-tickets-form .em-tickets-row .ticket-status span.ticket-on {
    color: #008000
    }
#em-tickets-form .em-tickets-row .ticket-status span.ticket-off {
    color: #f00
    }
#em-tickets-form .em-tickets-row .ticket-status span.ticket_new {
    color: #808080
    }
#em-tickets-form.em-tickets-sortable .em-tickets-row .ticket-status span.dashicons {
    cursor: move
    }
#em-tickets-form .em-ticket-sortable-placeholder {
    border: 2px dashed #dedede;
    background: #efefef
    }
#em-tickets-form .ui-sortable-helper {
    cursor: move
    }
/* Ticket Forms */
.em-ticket-form .ticket-options {
    margin-top: 10px
    }
.em-ticket-form > div > div, #em-tickets-form .ticket-dates > div {
    clear: both;
    padding-top: 4px
    }
.em-ticket-form label {
    display: block;
    float: left;
    min-width: 105px;
    padding-right: 5px
    }
#em-tickets-form .ticket-name input, #em-tickets-form .ticket-description textarea {
    width: 50%
    }
#em-tickets-form .em-ticket-form-actions {
    clear: both
    }
#em-tickets-form .ticket-spaces input, #em-tickets-form .ticket-price input {
    width: 80px
    }
#em-tickets-form .ticket-dates input.em-date-input-loc {
    width: 90px
    }
#em-tickets-form .ticket-dates-from-normal, #em-tickets-form .ticket-dates-from-recurring, #em-tickets-form .ticket-dates-to-normal, #em-tickets-form .ticket-dates-to-recurring {
    display: inline
    }
#em-tickets-form .ticket-required input, #em-tickets-form .ticket-roles input {
    width: auto
    }
#em-tickets-form .ticket-roles div {
    margin-left: 110px
    }
/* The editor */
#wp-em-editor-content-wrap table {
    margin-bottom: 0
    }
/* Location form */
#em-location-data table.em-location-data td, #em-location-data table.em-location-data th {
    vertical-align: top;
    border: none
    }
#em-location-data table.em-location-data select {
    width: 100%
    }
#em-location-data table.em-location-data {
    width: 50%;
    float: left;
    border: none
    }
#em-location-data .em-location-map-container {
    width: 50%;
    height: 300px;
    float: left
    }
#em-location-data .em-location-map-404, #em-location-data .em-location-map-content {
    width: 100%;
    height: 100%
    }
#em-location-data .em-location-map-404 {
    vertical-align: middle;
    text-align: center
    }
/* Booking Admin */
/* Generic Table Info */
table.em-form-fields td, table.em-form-fields th {
    text-align: left;
    vertical-align: top
    }
table.em-form-fields th {
    padding: 0 20px 5px 0
    }
/* Bookings Table */
.em_obj {
    position: relative
    }
.em_obj .table-wrap {
    clear: left;
    padding-top: 5px
    }
.em-bookings-table .em-bookings-table-export, .em-bookings-table .em-bookings-table-settings {
    float: left;
    display: block;
    margin: 2px 5px;
    width: 25px;
    height: 25px
    }
.em-bookings-table .em-bookings-table-export {
    background: url(../images/csv.png) 0 0 no-repeat
    }
.em-bookings-table .em-bookings-table-settings {
    background: url(../images/settings.png) 0 0 no-repeat
    }
/* Settings & Export */
#em-bookings-table-export, #em-bookings-table-settings {
    width: 500px;
    height: 75%
    }
#em-bookings-table-export form, #em-bookings-table-settings form {
    height: 100%;
    overflow: auto
    }
/* Sorting */
.em-bookings-table-overlay ul.em-bookings-cols-sortable {
    list-style-type: none;
    margin: 0;
    padding: 0 0 10px;
    float: left;
    margin-right: 10px
    }
.em-bookings-table-overlay ul.em-bookings-cols-sortable li {
    margin: 0 5px 5px 5px;
    padding: 3px 8px;
    font-size: 12px;
    width: 120px;
    font-weight: normal;
    cursor: move
    }
.em-bookings-table-overlay ul.em-bookings-cols-sortable li.ui-state-default {
    color: #999
    }
#em-bookings-export-cols-inactive, #em-bookings-cols-inactive {
    width: 300px
    }
#em-bookings-export-cols-inactive li, #em-bookings-cols-inactive li {
    float: left
    }
/* Single Booking Edit View */
#em-bookings-admin-booking .em-booking-single-info {
    display: none
    }
#em-bookings-admin-booking .em-booking-single-form {
    padding-right: 20px
    }
/* Printable stuff */
body#printable {
    font-family: Gill Sans, Helvetica, Arial, sans-serif;
    text-align: center
    }
body#printable #container {
    margin: 0 auto;
    width: 780px;
    text-align: left
    }
body#printable table#bookings-table {
    width: 600px;
    border-spacing: 0
    }
body#printable table#bookings-table td {
    padding: 5px 0
    }
body#printable table#bookings-table td.spaces-number {
    text-align: right;
    padding-right: 20px
    }
body#printable table#bookings-table th {
    text-align: left;
    margin-left: 5px
    }
body#printable table#bookings-table tr#booked-spaces td {
    border-top: 2px solid #999
    }
body#printable table#bookings-table td.total-label {
    text-align: right
    }
body#printable table#bookings-table tr#booked-spaces td.spaces-number, table#bookings-table tr#available-spaces td.spaces-number {
    font-weight: bold
    }
/* Calendar Styles */
table.em-calendar td {
    padding: 2px 4px;
    text-align: center
    }
table.em-calendar.table tr.days-names {
    font-weight: bold
    }
table.em-calendar td.eventless-pre, .em-calendar td.eventless-post {
    color: #ccc
    }
table.em-calendar td.eventful-pre a, table.em-calendar td.eventful-post a {
    color: #aaa;
    text-decoration: underline
    }
table.em-calendar td.eventful a, table.em-calendar td.eventful-today a {
    color: #FD7E29
    }
table.em-calendar td.eventful-today a {
    font-weight: bold
    }
table.em-calendar td.eventless-today, table.em-calendar td.eventful-today {
    background-color: #CFCFCF
    }
table.em-calendar thead {
    font-size: 120%;
    font-weight: bold
    }
table.fullcalendar {
    border-collapse: collapse
    }
table.fullcalendar td {
    text-align: left;
    border: 1px solid #888
    }
div.em-calendar-wrapper {
    position: relative
    }
/*
Maps - if the info balloons don't look right on your site, chances are it's a CSS issue. 
Google is VERY sensitive to CSS rules for the infowindows, making it hard to accommodate every theme in WP. 
Please edit your theme's CSS to override this 
*/
.em-map-balloon .em-map-balloon-content {
    margin: 0 0 0 0 !important;
    padding: 0 0 20px 0 !important;
    font-size: 12px !important;
    color: #000 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important
    }
.em-location-map img, .em-locations-map img, #em-map img {
    max-width: none !important;
    background: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto;
    width: auto
    }
/* Time Picker */
#start-time, #end-time {
    width: 7em
    }
#start-time.error, #end-time.error {
    border: #c00 1px solid
    }
div.time-picker {
    position: absolute;
    height: 191px;
    width: 5em;
    /* needed for IE */
    overflow: auto;
    background: #fff;
    border: 1px solid #aaa;
    z-index: 99;
    margin: 0
    }
div.time-picker-12hours {
    width: 7em;
    /* needed for IE */
    }
div.time-picker ul {
    list-style-type: none;
    margin: 0;
    padding: 0
    }
div.time-picker li {
    cursor: pointer;
    height: 10px;
    font: 12px/1 Helvetica, Arial, sans-serif;
    padding: 4px 3px
    }
div.time-picker li.selected {
    background: #0063CE;
    color: #fff
    }