/* Containers */
.card-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 10px;
}

.card-wrapper {
    -ms-flex: 33%; /* IE10 */
    flex: 33%;
    max-width: 33%;
    display: flex;
    align-items: stretch;
    padding: 15px;
}

.recruitment-preview .card-wrapper {
    -ms-flex: 50%; /* IE10 */
    flex: 50%;
    max-width: 50%;
    display: flex;
    align-items: stretch;
    padding: 15px;
}

.event-card {
    border-radius: 8px;
    overflow: hidden;
    border: none;
    width: 100%;
    position: relative;
    min-height: 300px;
    height: 100%;
    transition: box-shadow 0.3s ease-in-out;
    cursor: pointer;
    -webkit-box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    -moz-box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    background: #FFF;
}

.event-card:hover {
    -webkit-box-shadow: 0 8px 16px 0 rgba(0,0,0,0.5);
    -moz-box-shadow: 0 8px 16px 0 rgba(0,0,0,0.5);
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.5);
}

/* Profile Image */
.event-card .card-profile-img-holder {
    height: 80px;
    width: 80px;
    background: #FFF;
    position: absolute;
    z-index: 100;
    top: 60px;
    left: 9%;
    overflow: hidden;
    border: 1px solid #dfdfdf;
}

.event-card .card-profile-img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* Banners */
.event-card .card-banner {
    width: 100%;
    height: 120px;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid #dfdfdf;
}

.event-card .card-banner .card-banner-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    position: absolute;
}

/* Open Spots */
.event-card .open-spot-holder {
    text-align: right;
    margin-top: 5px;
    padding: 0 25px;
    min-height: 18px;
    line-height: 18px;
}

.event-card .open-spot-holder .open-spot-count {
    text-transform: uppercase;
    color: #999;
    font-weight: 600;
    font-size: 12px;
}

.event-card .open-spot-holder .open-spot {
    text-transform: uppercase;
    color: #cfcfcf;
    font-weight: 400;
    font-size: 12px;
}

/* Event Title */
.event-card .event-title-holder {
    margin-top: 15px;
    margin-bottom: 15px;
}

.event-card .event-title-holder h3 {
    font-weight: 600;
    font-size: 18px;
}

/* Event Description */
.event-card .event-description-holder {
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    position: relative;
    line-height: 1em;
    /* max-height = line-height (1) * lines max number (5) */
    /* max-height: 5em; */
    margin-bottom: 25px;
}

.event-card .event-description-holder p {
    font-weight: 400;
    font-size: 11px;
    color: #999;
    /* word-break: break-all; */
}

.event-card .event-description-holder .ellipsis {
    position: absolute;
    top: 5em;
    right: 5px;
    font-size: 11px;
    color: #999;
    line-height: 2.25em;
}

/* Event Tags */
.event-card .event-tag-holder {
    margin-top: 25px;
    /* hide text if it more than N lines  */
    overflow: hidden;
    /* for set '...' in absolute position */
    position: relative; 
    /* use this value to count block height */
    line-height: 1em;
    /* max-height = line-height (1.2) * lines max number (3) */
    max-height: 1em; 
    /* fix problem when last visible word doesn't adjoin right side  */
    /*   text-align: justify;   */
    /* place for '...' */
    margin-right: -1em;
    padding-right: 1em;
}

.event-card .event-tag-holder:before {
    /* points in the end */
    content: '...';
    /* absolute position */
    position: absolute;
    /* set position to right bottom corner of block */
    right: 0;
    bottom: 0;
    font-weight: 400;
    font-size: 0.8vw;
    color: #000;
}

.event-card .event-tag-holder:after {
    /* points in the end */
    content: '';
    /* absolute position */
    position: absolute;
    /* set position to right bottom corner of text */
    right: 0;
    /* set width and height */
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
    /* bg color = bg color under block */
    background: white;
}


.event-card .event-tag-holder span {
    font-weight: 600;
    font-size: 11px;
    color: #70B300;
    margin-right: 5px;
}

/* Event Details */

.event-card .event-details-holder p {
    font-weight: 400;
    font-size: 12px;
    color: #999;
    margin: 0;
}

.event-card .event-details-holder div.row {
    margin-top: 5px;
}

.event-card .event-details-holder div.row:first-child {
    margin-top: 0;
}

.event-card .event-details-holder i {
    font-weight: 400;
    font-size: 11px;
    color: #ccc;
    line-height: 1.5em;
    vertical-align: top;
}

.event-card .event-details-holder i.special-case {
    line-height: 1.05em;
    font-size: 15px;
}

.event-card .event-details-holder .postal-code {
    text-transform: uppercase;
    font-size: 12px;
}

/* Event Footer */
.event-card .event-footer-holder {
    margin-top: 25px;
    height: 40px;
}

.event-card .event-footer-holder .ribbon {
    width: 60px;
    height: 0;
    background-color: transparent;
    position: absolute;
    bottom: 8px;
    left: 8px;
    border: solid 10px #FC5B5A;
    border-right: solid 10px transparent;
    /*   border-top-left-radius: 5px;
    border-top-right-radius: 5px; */
}

.event-card .event-footer-holder .ribbon i {
    color: rgba(0,0,0,0.3);
}

.event-card .event-footer-holder .ribbon.full {
    width: 62px;
    border: solid 10px #FC5B5A;
    border-right: solid 10px transparent;
}

.event-card .event-footer-holder .ribbon.full i {
    position: absolute;
    top: -5px;
    left: -6px;
    font-size: 11px;
}

.event-card .event-footer-holder .ribbon.full span {
    color: #FFF;
    position: absolute;
    top: -8px;
    left: 9px;
    font-size: 11px;
    font-weight: 600;
}

.event-card .event-footer-holder .ribbon.open {
    width: 67px;
    border: solid 10px #70B300;
    border-right: solid 10px transparent;
}

.event-card .event-footer-holder .ribbon.open i {
    position: absolute;
    top: -6px;
    left: -4px;
    font-size: 10px;
}

.event-card .event-footer-holder .ribbon.open span {
    color: #FFF;
    position: absolute;
    top: -8px;
    left: 9px;
    font-size: 11px;
    font-weight: 600;
}

.event-card .event-footer-holder .ribbon.closed {
    width: 78px;
    border: solid 10px #F3A424;
    border-right: solid 10px transparent;
}

.event-card .event-footer-holder .ribbon.closed i {
    position: absolute;
    top: -5px;
    left: -4px;
    font-size: 10px;
}

.event-card .event-footer-holder .ribbon.closed span {
    color: #FFF;
    position: absolute;
    top: -8px;
    left: 9px;
    font-size: 11px;
    font-weight: 600;
}

.event-card .event-footer-holder .ribbon.signedup {
    width: 100px;
    border: solid 10px #D9EBF8;
    border-right: solid 10px transparent;
}

.event-card .event-footer-holder .ribbon.signedup i {
    position: absolute;
    top: -6px;
    left: -4px;
    font-size: 10px;
    color: #3075A6;
}

.event-card .event-footer-holder .ribbon.signedup span {
    color: #3075A6;
    position: absolute;
    top: -8px;
    left: 9px;
    font-size: 11px;
    font-weight: 600;
}

/* Event Tags */
.event-card .card-info .chip {
    /* height: 20px; */
}

.event-card .card-info .chip .chip-head {
    /* font-size: 10px; */
    /* height: 20px; */
}

.event-card .card-info .chip .chip-content .chip-content-inner-wrapper {
    font-size: 10px;
}

/* Join */
.event-preview-card-container {
    width: 100%; 
    position:relative;
}

.event-preview-card-container .join {
    background: #3F8F24;
    border-radius: 3px;
    height: 35px;
    width: 35px;
    right: 8px;
    bottom: 8px;
    position: absolute;
    cursor: pointer;
}

.event-preview-card-container .join:hover {
    background-color: #2F6B1B;
    border-color: #2F6B1B;
    cursor: pointer;
}

.event-preview-card-container .join i {
    color: #FFF;
    font-size: 24px;
    left: 8px;
    top: 5px;
    position: absolute;
}

/* Search */
.event-preview-search input {
    height: 100% !important;
}

.event-preview-search .searchPPS {
    top: 14px;
}

.event-preview-search .searchPPX {
    top: 13px;
}

.event-preview-search .searchPPXNoColor {
    top: 13px;
}

.event-preview-search .searchPPY {
    top: 11px;
}

.five-line-text {
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* display: -webkit-box; */
    /* -webkit-line-clamp: 5;  */
    /* -webkit-box-orient: vertical; */
}

.event-role-status {
    height: 40px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    border-top: 1px solid #dfdfdf;
}

#organizationPublicView .event-role-status {
    display: none;
}

/* My Opportunities View */
#myOpportunitiesView .card-wrapper {
    -ms-flex: 25%; /* IE10 */
    flex: 25%;
    max-width: 25%;
    display: flex;
    align-items: stretch;
    padding: 15px;
}

#myOpportunitiesView .event-role-status {
    display: none;
}

/* My Events View */
#myEventsView .card-wrapper {
    -ms-flex: 25%; /* IE10 */
    flex: 25%;
    max-width: 25%;
    display: flex;
    align-items: stretch;
    padding: 15px;
}

@media screen and (min-width: 1281px) and (max-width: 1450px) {
    .event-card .card-banner .card-banner-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        position: absolute;
    }
    .card-wrapper {
        -ms-flex: 33%; /* IE10 */
        flex: 33%;
        max-width: 33%;
    }
    .recruitment-preview .card-wrapper {
        -ms-flex: 50%; /* IE10 */
        flex: 50%;
        max-width: 50%;
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #myEventsView .card-wrapper, #myOpportunitiesView .card-wrapper {
        -ms-flex: 33%; /* IE10 */
        flex: 33%;
        max-width: 33%;
    }
}

@media screen and (min-width: 830px) and (max-width: 1280px) {
    .event-card .card-banner .card-banner-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0%;
        position: absolute;
    }
    .card-wrapper {
        -ms-flex: 50%; /* IE10 */
        flex: 50%;
        max-width: 50%;
    }
    .recruitment-preview .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #myEventsView .card-wrapper, #myOpportunitiesView .card-wrapper {
        -ms-flex: 33%; /* IE10 */
        flex: 33%;
        max-width: 33%;
    }
}

@media screen and (min-width: 668px) and (max-width: 829px) {
    .event-card .card-banner .card-banner-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        position: absolute;
    }
    .card-wrapper {
        -ms-flex: 50%; /* IE10 */
        flex: 50%;
        max-width: 50%;
    }
    .recruitment-preview .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #myEventsView .card-wrapper, #myOpportunitiesView .card-wrapper {
        -ms-flex: 50%; /* IE10 */
        flex: 50%;
        max-width: 50%;
    }
}

@media screen and (min-width: 520px) and (max-width: 667px) {
    .event-card .card-banner .card-banner-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        position: absolute;
    }
    .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
    }
    .recruitment-preview .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #myEventsView .card-wrapper, #myOpportunitiesView .card-wrapper {
        -ms-flex: 50%; /* IE10 */
        flex: 50%;
        max-width: 50%;
    }
}

@media screen and (min-width: 300px) and (max-width: 519px) {
    .event-card .card-banner .card-banner-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        position: absolute;
    }
    .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
    }
    .recruitment-preview .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #myEventsView .card-wrapper, #myOpportunitiesView .card-wrapper {
        -ms-flex: 100%; /* IE10 */
        flex: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 991px) {
    .preview-opportunities-filtering-container.sticky {
        position: fixed;
        top: 0;
        width: 103%;
        margin: 0;
        background: #FFF;
        z-index: 1049;
        padding: 15px;
        border-bottom: 1px solid #dfdfdf;
    }
}