/* CPT Single */

.CPT--grid {
    margin: 0 0 35px;
    display: grid;
    grid-template-columns: minmax(0,2fr) minmax(0,3fr);
    grid-gap: 50px;
}

.CPT--image {
    padding-top: 120%;
    background-size: cover!important;
    background-position: center!important;
    position: relative;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

/* CPT Card */

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

/* CPT Feed */
@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}







/**** 13.8 Listing ****/

@media (min-width: 768px) {
    .post-type-archive-listing .content-area, .tax-listing-categories .content-area, .single-listing .content-area {
        width: 100%!important;
        margin-right: 0px!important;
    }
}

/* Listing Single */

.listing-single {
    padding: 25px 0 50px;
}

.listing-single--intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 15px;
    border-bottom: 1px solid var(--detail);
    margin: 0 0 20px;
    padding:  15px 0 15px;
    align-items: end;
}

.listing-single--intro.listing-single--intro--has-logo {
    grid-template-columns: 90px minmax(0, 1fr);
}


.listing-single--title {
    padding: 10px 0 0;
}

.listing-single--org {
    margin: 0;
}

.listing-single--body {
    display: grid;
    grid-template-columns: minmax(0,3fr) minmax(0,1fr);
    grid-gap: 40px;
}

.listing-single--meta {
    border-top: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    padding: 10px 0;
    margin: 20px 0;
}

.listing-single--meta-item {
    display: grid;
    width: 100%;
    justify-content: space-between;
    grid-template-columns: auto 1fr auto;
    grid-gap: 10px;
}

.listing-single--meta-item-line {
    border-bottom: 1px dotted #c2c2c2;
    position: relative;
    top: -10px;
}

.listing-single--address {
    border-top: 1px solid #d4d4d4;
    padding: 10px 0 0;
    margin: 10px 0 0;
}

.listing-single--address .listing-single--meta-item-cat {
    font-size: 14px;
}

.listing-single--sticky {
    position: sticky;
    top: 100px;
}

.listing-single--featured {
    background: var(--detail);
    text-align: center;
    color: white;
    position: relative;
    width: calc(100%);
    left: 0px;
    top: 0px;
    padding: 5px 0;
    margin: 10px 0 0;
    border-radius: 4px;
}

.listing-single--textarea {
    padding: 0 0 20px;
}

.listing-single--contact {
    border: 1px solid #c2c2c2;
    padding: 30px 50px 30px;
    box-shadow: 0 20px 10px -10px rgb(0 0 0 / 23%);
    border-radius: 20px;
    overflow: hidden;
}

.listing-single--buttonarea {
    display: grid;
    grid-gap: 20px;
}

p.listing-single--meta-item-title {
    margin: 0;
    font-size: 14px;
}

.listing-single--textarea p {
    font-size: 14px;
}

a.listing-single--button {
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */

    .listing-single--body {
        grid-template-columns: minmax(0,1fr);
    }

    .listing-single--content {
        order: 2;
    }

    .listing-single--type {
        font-size: 14px;
    }

    .listing-single--org {
       font-size: 14px;
    }

    h2.listing-single--title {
        font-size: 16px;
    }

    .listing-single--contact {
        padding: 20px 20px 0px;
    }

    .listing-single--sidebar {
        order: 2;
    }

}

/* Listing Card */

.listing-card {
    border: 1px solid #c2c2c2;
    padding: 0px;
    overflow: hidden;
    position: relative;
    height: 100%;
}




.listing-card--image {
    width: calc(100% + 40px);
    left: -20px;
    top: -20px;
    aspect-ratio: 1.6;
    overflow: hidden;
    position: relative;
}

img.listing-card--srcset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    inset: 0;
}

.listing-card--header {
    margin: 0 0 0px;
    padding: 15px;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    align-items: start;
    grid-gap: 15px;
    height: 100%;
}

.listing-card--header.listing-card--header--has-logo {
    grid-template-columns: minmax(0,2fr) minmax(0,3fr);
}

img.listing-card--logo-img {
    margin: 0 auto;
    width: fit-content;
}

.listing-card--title {
    padding: 5px 0 0;
}

.listing-card--meta {
    border-top: 1px solid #d4d4d4;
    border-bottom: 1px solid #909090;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    padding: 10px 0 10px;
    margin: 0px 0 20px;
}

.listing-card--meta-item {
    display: grid;
    width: 100%;
    justify-content: space-between;
    grid-template-columns: auto 1fr auto;
    grid-gap: 10px;
}

.listing-card--meta-item-line {
    border-bottom: 1px dotted #c2c2c2;
    position: relative;
    top: -10px;
}

p.listing-card--meta-item-title {
    margin: 0;
    font-size: 14px;
}


.listing-card--type {
    margin: 0;
    font-size: 14px;
}

.listing-card--name {
    display: grid;
    height: 100%;
    align-content: space-between;
}

.listing-card--organisation {
    border-top: 1px lightgrey solid;
    padding: 10px 0 10px;
}

.listing-card--org {
    margin: 0;
    font-size: 14px;
}

.listing-card--textarea p {
    font-size: 14px;
}



.listing-card--buttonarea {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 4px;
    text-align: center;
    margin: 10px 0 0;
    padding: 10px 0 0;
    border-top: 1px solid #e2e3e5;
}

.listing-card--buttonarea a {
    text-decoration: none;
}


a.listing-single--button {
    background: red;
    padding: 5px 9px;
    font-size: 13px;
    width: 100%;

    background: #222222;
    color: white;
    text-decoration: none;
}


a.listing-card--view-button {
    background: var(--button-background);
    color: var(--button-color);
    border-color: var(--button-border);
}

a.listing-card--view-button:after {
    background-color: white;
}

a.listing-card--view-button:hover::after, a.listing-card--visit-button:hover::after {
    background-color: currentColor;
}

a.listing-card--button {
    font-size: 15px;
}


/* Listing Feed */

.listing-tax-button-list {
    margin: 0 0 20px;
}

.listing-tax-dropdown-list {
    margin: 0 0 20px;
}

.backarrow.listing-archive--backarrow {
    margin: 20px 0 0;
}

form.searchlisting-form {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-gap: 20px;
    padding: 0 0 20px;
}

input#searchlisting-input {
    border: 1px solid var(--mid-border);
    background-color: var(--background);
    box-shadow: none;
    border-radius: 3px;
}

form.listings-archive--form {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;
    grid-gap: 20px;
    align-items: end;
}

label.listings-archive--form-label {
    display: none;
}

.listings-archive--form-item {
    height: 100%;
}

.listings-archive--form-item * {
    width: 100%;
    height: 100%;
}

.listing-feed {
    margin: 25px 0 35px;
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(320px, 1fr) );
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    grid-gap: 35px;
}

.listing-archive-meta {
    padding: 25px 0 15px;
    margin-bottom: 35px;
    border-bottom: 1px solid var(--detail);
}

.listing-archive--no-results {
    border: 1px solid indianred;
    margin: 20px 0 20px;
    padding: 20px;
    border-radius: 4px;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .listing-feed {
        grid-template-columns: minmax(0,1fr);
    }

    .listing-card--buttonarea {
        display: grid;
        text-align: center;
    }

    .listing-card--textarea {
        margin: 0 0 25px;
    }

    form.listings-archive--form {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) ;
    }

    .archive-filter-form-wrapper input[type="submit"] {
        grid-column: span 2;
    }
}