/**
 * @package    JEM
 * @copyright  (C) 2013-2025 joomlaeventmanager.net
 * @copyright  (C) 2005-2009 Christoph Lukes
 * @license    https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
 */

/* Hoftix for SqueezeBox Modal overlay destroying images on mobile phones */

body.com_jem #sbox-overlay {
    width: 100% !important;
}

body.com_jem #sbox-window {
    height: auto !important;
}

body.com_jem #sbox-content {
    height: auto !important;
    width: auto !important;
    max-height: 100%;
    max-width: 100%;
}

body.com_jem.body-overlayed {
    overflow: auto;
}

/* ----- */

#jem h1.componentheading i.fa,
#jem h1.componentheading i.fas {
    font-size: 1.332rem;
}

#jem .buttons {
    float: right;
}

#jem .buttons a{
    margin-left: 5px;
}

#jem .buttons::after {
    clear: both;
}

#jem .jem-removebutton {cursor: pointer; color: red;}

#jem .jem-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}

#jem .jem-wrap-reverse {
    flex-wrap: wrap-reverse;
}

#jem .jem-nowrap {
    flex-wrap: nowrap;
}

#jem .jem-justify-start {
    justify-content: flex-start;
}

#jem .jem-justify-center {
    justify-content: space-around;
}

#jem .jem-justify-end {
    justify-content: flex-end;
}

#jem .valign-baseline {
    align-items: baseline;
}

#jem .jem-dl:after {
    clear: both;
}

#jem .jem-dl,
#jem .jem-dl-long {
    margin: 0;
}

#jem .jem-dl dt,
#jem .jem-dl-long dt {
    float: left;
    width: 275px;
    overflow: hidden;
    clear: left;
    text-align: left;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-top: 5px;
    padding-bottom: 5px;
}

#jem .jem-dl-long dt {
    width: 200px;
}

#jem .jem-dl dt label,
#jem .jem-dl-long dt label {
    font-weight: bold;
}

#jem .jem-dl dt label span,
#jem .jem-dl-long dt label span {
    font-weight: normal;
}

#jem .row-month {
    font-weight: bold;
    padding: 5px;
    font-size: 1.332rem;
}

/*Special for the description lable in editevent and editvenue*/

#jem #jform_articletext-lbl,
#jem #jform_locdescription-lbl {
    font-weight: bold;
}

#jem .jem-dl dd,
#jem .jem-dl-long dd {
    margin-left: 240px;
    padding-top: 5px;
    padding-bottom: 5px;
    display: flow-root;
}

#jem .jem-dl-long dd {
    margin-left: 210px;
}

#jem .jem-img {
    text-align: center;
}

#jem .jem-img img {
    max-width: 100%;
}

#jem .jem-registered-list {
    margin-left: calc(2.14285714em / 1.5);
}

#jem .jem-registered-list img {
    width: 30px;
}

#jem .jem-catimg {
    float: right;
}

#jem .jem-clear {
    clear: both;
}

#jem .jem-readmore {
    margin-top: 10px;
    margin-bottom: 10px;
}

#jem .copyright {
    font-size: 0.9em;
    text-align: right;
    color: #808080;
}

#jem .jem-hr {
    clear: both;
}

#jem .clr {
    clear: both;
}

#jem .jem-date .input-append {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

#jem .jem-limit-smallist {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    margin-left: 20px;
    align-items: center;
}

#jem .jem_limit {
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: baseline;
}

#jem .input-mini {
    width: 60px;
}

#jem .pagination {
    text-align: center;
    float: none !important;
}

#jem_filter {
    padding: 10px 5px 5px 10px;
    align-items: baseline;
    background-color: #ffa500;
}

#jem_filter div {
    margin-bottom: 2px;
}

#jem_filter label,
#jem_filter select,
#jem_filter input,
#status-lbl {
    margin-right: 5px;
}

.jem_search .jem-row {
    display: flex !important;
}

#jem_filter button {
    margin-right: 5px;
    --btn-padding-x: 0.8rem;
    --btn-padding-y: 0.4rem;
}

#jem_filter #filter_continent, 
#jem_filter #filter_country,
#jem_filter #filter_city {min-width: 250px;}

#jem .jem-misc {
    padding: 10px 0;
}

#jem .jem-sort {
    flex: 1;
    align-items: baseline;
    hyphens: auto;
}

#jem .jem-sort-small {
    font-weight: bold;
    border-left: 1px solid transparent;
}

#jem .jem-sort-icon {
    margin-right: 5px;
}

#jem .icon-arrow-up-3,
#jem .icon-arrow-down-3 {
    width: auto;
}

#jem .icon-arrow-up-3::before {
    /* font-family: FontAwesome !important; */
    /* content: "\00a0\f0de" !important; */
    content: "\f0de" !important;
}

#jem .icon-arrow-down-3::before {
    /* font-family: FontAwesome !important; */
    /* content: "\00a0\f0dd" !important; */
    content: "\f0dd" !important;
}

#jem img.icon-inline {
    display: none;
}

#jem select,
#jem input,
.buttonfilter {
    margin-top: 0 !important;
    /* margin-bottom: 0 !important; */
    margin-left: 0 !important;
}

#jem select,
#jem input {
    width: auto;
}

#jem #starthours,
#jem #startminutes,
#jem #endhours,
#jem #endminutes,
#jem #jform_locid_name {
    padding: .6rem 1rem;
    border-color: #ced4da;
}

#jem form input::-webkit-outer-spin-button,
#jem form input::-webkit-inner-spin-button {
    opacity: 1;
}

#jem .choose-status  {padding-right: 30px;}
#jem .choose-status select#status {display: inline;}
#jem .choose-places  {padding-right: 30px;}

#jem .jem-sort-parts div::after {
    content: "";
    border-right: 1px solid #333;
    margin-left: 10px;
    margin-right: 10px;
}

#jem .jem-sort-parts div:last-child::after {
    border: none;
}

#jem .jem-event {
    cursor: pointer;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    align-items: center;
}

#jem .jem-event:first-child {
    border-top: 1px solid #ddd;
}

#jem .jem-event.jem-nopointer {
    cursor: default;
}

#jem .jem-list-img {
    flex-shrink: 1;
    margin-right: 15px;
    display: flex;
}

#jem .jem-list-img .flyerimage {
    align-self: center;
}

#jem .jem-event-details {
    flex: 1;
}

#jem .jem-event-details h4 {
    margin-top: 0px;
    margin-bottom: 10px;
    line-height: 110%;
}

#jem .jem-event-details h4 a {
    font-weight: bold;
}

#jem .jem-list-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#jem .jem-small-list {
    padding: 10px;
}

#jem .jem-event-info {
    margin-right: 15px;
}

#jem .jem-event-info:last-child {
    margin-right: 0;
}

#jem .jem-event-info-small {
    word-break: keep-all;
}

#jem .jem-event-info-small h4 {
    margin: 0px;
}

#jem .jem-event-info-small:last-child {
    margin-right: 0;
}

#jem .eventlist {
    margin: 0;
    padding: 0;
    list-style: none;
    hyphens: auto;
}

#jem .eventlist li {
    padding: 10px;
    list-style: none;
}

#jem .eventlist li:nth-child(odd) {
    background-color: #f9f9f9;
}

#jem .eventlist li:last-child {
    margin-bottom: 0;
}

#jem .eventlist li:not(.jem-nohover):hover {
    background-color: #e0e0e0;
}

#jem #reg_comment {
    box-sizing: border-box;
    min-width: 200px;
    width: 100%;
    max-width: 100%;
    min-height: 100px;
}

#jem .jem-register-button {
    margin-top: 10px !important;
}

#jem.jem_attendees .jem-event {
    cursor: auto;
}

#jem.jem_attendees .jem-attendee-number {
    flex: 1 2%;
}

#jem.jem_attendees .jem-attendee-name {
    flex: 1 20%;
}

#jem.jem_attendees .jem-attendee-email {
    flex: 1 22%;
}

#jem.jem_attendees .jem-attendee-regdate {
    flex: 1 22%;
}

#jem.jem_attendees .jem-attendee-status {
    flex: 1 4%;
    text-align: center;
}

#jem.jem_attendees .jem-attendee-places {
    flex: 1 4%;
    text-align: center;
}

#jem.jem_attendees .jem-attendee-comment {
    flex: 1 22%;
}

#jem.jem_attendees .jem-attendee-remove {
    flex: 1 4%;
    text-align: center;
}

#jem #addplaces, #jem #cancelplaces {
	text-align: center;
	display:inline;
	max-width: 100px;
}

#jem div.jem-map {
    padding-top: 15px;
    padding-bottom: 5px;
    animation: blendin .5s ease-out forwards;   
}

/* prevent osm maps from flickering */
@keyframes blendin {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#jem div.jem-map iframe {
    width: 100%;
    height: 300px;
}

#jem.jem_myevents .jem-event,
#jem.jem_myvenues .jem-event,
#jem.jem_myattendances .jem-event {
    cursor: auto;
}

#jem dl.tabs dt.tabs {
    float: left;
    margin-left: 0;
    margin-right: 3px;
    padding: 4px 10px;
    background-color: #eeeeee;
    border-top: 1px solid #CCC;
    border-left: 1px solid #CCC;
    border-right: 1px solid #CCC;
}

#jem dl.tabs dt.open {
    background-color: #ffffff;
    border-bottom: 1px solid #ffffff;
}

#jem div.current dd.tabs {
    clear: both;
    margin: 0;
    padding: 10px;
    border: 1px solid #CCC;
    background-color: #ffffff;
}

#jem .warningrecurrence {
    padding: 10px;
    border: 1px solid #fbeed5;
    background-color: #fcf8e3;
}

#jem.jem_select_contact .jem-event,
#jem.jem_select_venue .jem-event {
    cursor: auto;
}

#jem.jem_select_contact .selectcontact,
#jem.jem_select_venue .selectvenue {
    cursor: pointer;
}

#jem.jem_select_contact .jem-contact-number {
    flex: 1 6%;
}

#jem.jem_select_contact .jem-contact-name {
    flex: 1 50%;
}

#jem.jem_select_contact .jem-contact-city,
#jem.jem_select_contact .jem-contact-state {
    flex: 1 20%;
}

#jem.jem_select_venue .jem-venue-number {
    flex: 1 6%;
}

#jem.jem_select_venue .jem-venue-name {
    flex: 1 44%;
}

#jem.jem_select_venue .jem-venue-city {
    flex: 1 20%;
}

#jem.jem_select_venue .jem-venue-state {
    flex: 1 14%;
}

#jem.jem_select_venue .jem-venue-country {
    flex: 1 10%;
}

#jem.jem_select_users .jem-users-number {
    flex: 1 6%;
}

#jem.jem_select_users .jem-users-checkall {
    flex: 1 4%;
}

#jem.jem_select_users .jem-users-name {
    flex: 1 70%;
}

#jem.jem_select_users .jem-users-state {
    flex: 1 14%;
}

@media only all and (max-width: 59.938rem) and (min-width: 48rem) {
    /*#jem .jem-event-info-small {
    flex-basis: 45% !important;
  }*/
}

@media not print {
    @media only all and (max-width: 47.938rem) {
        #jem .jem-dl dt, #jem .jem-dl-long dt {
            float: none;
            width: auto;
            clear: none;
            text-align: left;
            margin-top: 5px;
            padding-top: 0px;
            padding-bottom: 0px;
        }

        #jem .jem-dl dt:first-child,
        #jem .jem-dl-long dt:first-child {
            margin-top: 0;
        }

        #jem .jem-dl dd,
        #jem .jem-dl-long dd {
            margin-left: 0;
            padding-top: 0px;
            padding-bottom: 0px;
            padding-left: 5px;
        }

        #jem .jem_limit {
            flex-wrap: wrap;
        }

        #jem .jem-event-details {
            order: -1;
            flex-basis: 100%
        }

        #jem .jem-list-img {
            margin-right: 0;
            margin-top: 10px;
        }

        #jem .jem-catimg {
            float: none;
            clear: both;
        }

        #jem .jem-sort-small .jem-small-list div {
            flex-basis: 30%;
        }

        #jem .jem-event-info-small {
            flex-basis: 100% !important;
        }
    }
}

@media only all and (max-width: 30rem) {
}

@media only all and (max-width: 74.938rem) and (min-width: 60rem) {
}

@media only all and (min-width: 75rem) {
}

#jem .form-check-input {
    width: 1em !important;
}

.jem-readmore .btn, #find-left.btn {
    background-color: #f0f0f0;
}

.jem-registered-user-owner {
    font-weight: bold;
}

#table-series {
    border-collapse: collapse;
    width: auto;
    max-width: 100%;
}

#table-series th {
    padding: 12px;
    text-align: center;
    background-color: #04AA6D;
    color: white;
    border: 1px solid #ddd;
}

#table-series td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
}

#table-series tr:nth-child(even){
    background-color: #f2f2f2;
}

#table-series tr:nth-child(odd){
    background-color: #ffffff;
}

