/* location selection page */
.sgDispenzaLocation-selection-section {
    display: flex;
    align-items: center;
    min-height: 100vh;
    background-color: #1a1a1a;
    color: #fff;
    text-align: center;
    /* background-image: url('../img/location-section-bg.jpg'); */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.sgDispenzaLocation-selection-section .inner {
    width: 100%;
}
.sgDispenzaLocation-selection-section .inner > * {
    position: relative;
}
.sgDispenzaLocation-selection-section .section-title {
    font-size: 36px;
    margin-bottom: 25px;
    font-weight: bold;
}

.dispenzaLocation-state-sections {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
}
.dispenzaLocation-state-sections > .state-section {
    position: relative;
    padding: 30px 15px;
    margin-bottom: 25px;
}
.dispenzaLocation-state-sections > .state-section > .title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}
.dispenzaLocation-state-sections > .state-section > .items {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.dispenzaLocation-state-sections > .state-section > .items > .item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    flex: 0 0 calc(calc(100% / 3) - 20px);
    max-width: calc(calc(100% / 3) - 20px);
    margin: 10px;
    font-size: 14px;
}
.dispenzaLocation-state-sections > .state-section > .items > .item .ctas {
    margin-top: auto;
}

@media only screen and (max-width: 575px) {

    .dispenzaLocation-state-sections > .state-section > .items > .item {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        flex: 0 0 calc(calc(100% / 1) - 20px);
        max-width: calc(calc(100% / 1) - 20px);
        margin: 10px;
        font-size: 14px;
    }

}

/* theme location select */
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa {
    padding: 0;
    align-items: stretch;
}
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa > .inner {
    position: relative;
    max-width: 700px;
    margin-right: 0;
    margin-left: auto;
    background-color: var(--sg-color-primary);
    padding: 0;
}
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa > .inner:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.50);
}
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa > .inner .dispenzaLocation-selection--wrapper > * {
    padding: 0;
}
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa > .inner .site-logo {
    padding: 50px 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sgDispenzaLocation-selection-section.sgDispenzaLocation-selection-section--theme_kaleafa > .inner .info {
    padding: 25px;
}

/* location selection cards */
.sgDispenzaLocation-selection-locations {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.sgDispenzaLocation-selection-locations > .item {
    flex: 0 0 calc(calc(100% / 3) - 30px);
    max-width: calc(calc(100% / 3) - 30px);
}
.sgDispenzaLocation-selection-locations .item {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 15px;
    background-color: #fff;
    color: #000;
    padding: 50px;
    border-radius: 7px;
    background-image: url('../img/location-card-bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 0 0px 25px 0 rgba(0,0,0,0.1);
}
.sgDispenzaLocation-selection-locations .item .title {
    font-weight: bold;
    font-size: 20px;
}
.sgDispenzaLocation-selection-locations .item .ctas {
    margin-top: auto;
}
.sgDispenzaLocation-selection-locations.owl-carousel .owl-stage {
    display: flex;
    align-items: stretch;
}
.sgDispenzaLocation-selection-locations.owl-carousel .owl-stage > .owl-item {
    display: flex;
    align-items: stretch;
}


/* location selection popup/sidebar */
.sgDispenzaLocation-sidebar-popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    font-size: 14px;
    z-index: 10001;
}
.sgDispenzaLocation-sidebar-popup.open {
    display: block;
    pointer-events: auto;
}
.sgDispenzaLocation-sidebar-popup .inner {
    position: absolute;
    display: flex;
    flex-direction: column;
    top: 0;
    right: 0;
    bottom: 0;
    width: 350px;
    height: 100%;
    font-size: 14px;
    background-color: #fff;
    color: #000;
    box-shadow: -10px 0px 15px -3px rgba(0,0,0,0.1);
    overflow: auto;
    transform: translateX(350px);
    transition: transform 0.25s, -webkit-transform 0.25s;
    z-index: 15;
}
.sgDispenzaLocation-sidebar-popup.open .inner {
    transform: translateX(0);
}
.sgDispenzaLocation-sidebar-popup .h {
    position: sticky;
    top: 0;
    /* background-color: #fff; */
    display: flex;
    padding: 25px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
    z-index: 11;
}
.sgDispenzaLocation-sidebar-popup .h .t {
    font-size: 20px;
    font-weight: bold;
    /* text-transform: uppercase; */
}
.sgDispenzaLocation-sidebar-popup .cb {
    margin-left: auto;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: #f00;
    font-size: 24px;
}
.sgDispenzaLocation-sidebar-popup .c {
    position: relative;
    padding: 7px 25px;
    flex: auto;
    overflow: hidden;
}
.sgDispenzaLocation-sidebar-popup .dispenzaLocation-selection--wrapper {
    margin-left: -25px;
    margin-right: -25px;
}

.dispenzaLocation-selection--wrapper {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    text-align: left;
    max-height: 100%;
    overflow: hidden;
}
.dispenzaLocation-selection--wrapper > * {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 25px;
    overflow: auto;
    transition: all 0.35s;
}
.dispenzaLocation-selection--wrapper.select-open > .stateListing {
    transform: translateX(-100%);
}
.dispenzaLocation-selection--wrapper.select-open > .stateListing-locations {
    transform: translateX(-100%);
}

.dispenzaLocation-selection--wrapper .stateListing {
    position: relative;
}
.dispenzaLocation-selection--wrapper .stateListing .item {
    margin-bottom: 5px;
}
.dispenzaLocation-selection--wrapper .stateListing .btn {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 18px;
    line-height: 1.25em;
    padding: 10px 15px;
    font-weight: bold;
    border-radius: 3px;
}
.dispenzaLocation-selection--wrapper .stateListing .btn:hover {
    transform: scale(1);
}
.dispenzaLocation-selection--wrapper .stateListing .btn svg {
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    margin-left: 15px;
}
.dispenzaLocation-selection--wrapper .stateListing-locations .btn.btn--backToState {
    background-color: #efefef;
    color: #000;
    margin-bottom: 15px;
}
.dispenzaLocation-selection--wrapper .stateListing-locations .btn.btn--backToState svg {
    transform: rotate(-180deg);
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    margin-right: 15px;
}

.dispenzaLocation-selection--wrapper .item-loc-card,
.sgDispenzaLocation-selection-section .item-loc-card {
    position: relative;
    text-align: left;
    margin-bottom: 15px;
    background-color: #efefef;
    color: #000;
    padding: 10px 15px;
    border-radius: 3px;
}
.dispenzaLocation-selection--wrapper .item-loc-card a,
.sgDispenzaLocation-selection-section .item-loc-card a {
    position: relative;
    z-index: 2;
}
.dispenzaLocation-selection--wrapper .item-loc-card a.p,
.sgDispenzaLocation-selection-section .item-loc-card a.p {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
.dispenzaLocation-selection--wrapper .item-loc-card .locationName,
.sgDispenzaLocation-selection-section .item-loc-card .locationName {
    display: block;
    font-size: 18px;
    line-height: 1.25em;
    font-weight: bold;
}
.dispenzaLocation-selection--wrapper .item-loc-card .locationName,
.dispenzaLocation-selection--wrapper .item-loc-card .locationAddress,
.dispenzaLocation-selection--wrapper .item-loc-card .locationPhone,
.sgDispenzaLocation-selection-section .item-loc-card .locationName,
.sgDispenzaLocation-selection-section .item-loc-card .locationAddress,
.sgDispenzaLocation-selection-section .item-loc-card .locationPhone {
    display: block;
}
.dispenzaLocation-selection--wrapper .item-loc-card .ctas,
.sgDispenzaLocation-selection-section .item-loc-card .ctas {
    display: flex;
    flex-wrap: wrap;
    margin: 10px -4px 0;
}
.dispenzaLocation-selection--wrapper .item-loc-card .ctas > .btn,
.sgDispenzaLocation-selection-section .item-loc-card .ctas > .btn {
    flex: 0 0 calc(50% - 4px);
    max-width: calc(50% - 4px);
    margin: 2px;
    font-size: 13px;
    padding: 10px 15px;
    font-weight: bold;
    border-radius: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: auto;
}


/* layout grid */
.dispenzaLocation-layoutGrid {
    display: flex;
    flex-wrap: wrap;
}
.dispenzaLocation-layoutGrid > * {
    flex: 0 0 calc(calc(100% / 1) - 10px);
    max-width: calc(calc(100% / 1) - 10px);
    margin: 5px;
}
.dispenzaLocation-layoutGrid.itemsPerRow-2 > * {
    flex: 0 0 calc(calc(100% / 2) - 10px);
    max-width: calc(calc(100% / 2) - 10px);
}
.dispenzaLocation-layoutGrid.itemsPerRow-3 > * {
    flex: 0 0 calc(calc(100% / 3) - 10px);
    max-width: calc(calc(100% / 3) - 10px);
}
.dispenzaLocation-layoutGrid.itemsPerRow-4 > * {
    flex: 0 0 calc(calc(100% / 4) - 10px);
    max-width: calc(calc(100% / 4) - 10px);
}
.dispenzaLocation-layoutGrid.itemsPerRow-5 > * {
    flex: 0 0 calc(calc(100% / 5) - 10px);
    max-width: calc(calc(100% / 5) - 10px);
}
.dispenzaLocation-layoutGrid.itemsPerRow-6 > * {
    flex: 0 0 calc(calc(100% / 6) - 10px);
    max-width: calc(calc(100% / 6) - 10px);
}
.dispenzaLocation-layoutGrid.itemsPerRow-7 > * {
    flex: 0 0 calc(calc(100% / 7) - 10px);
    max-width: calc(calc(100% / 7) - 10px);
}

/* item card */
.dispenzaLocation-itemCard {
    position: relative;
    background-color: #fff;
    color: #000;
    line-height: 1.25em;
    border-radius: 7px;
    text-align: center;
    box-shadow: 0px 2px 5px 2px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.dispenzaLocation-itemCard > * {
    position: relative;
    z-index: 2;
}
.dispenzaLocation-itemCard a.p {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 11;
}
.dispenzaLocation-itemCard .icon {
    display: block;
    margin-bottom: 10px;
}
.dispenzaLocation-itemCard svg {
    width: 50px;
    height: 50px;
}
.dispenzaLocation-itemCard .info {
    position: relative;
    display: block;
    padding: 15px;
}
.dispenzaLocation-itemCard .info > .subtitle {
    display: block;
    font-size: 80%;
    line-height: 1em;
}
.dispenzaLocation-itemCard .info > .titile {
    font-size: 24px;
    font-weight: bold;
}
.dispenzaLocation-itemCard .info ul.details {
    list-style: none;
    margin: 0;
    padding: 0;
}
.dispenzaLocation-itemCard .info ul.details > li {
    margin-bottom: 5px;
}
.dispenzaLocation-itemCard .ctas {
    position: relative;
    margin-top: 15px;
    z-index: 12;
}
.dispenzaLocation-itemCard .ctas a {
    display: inline-block;
    min-width: auto;
    margin: 2px;
}
.dispenzaLocation-itemCard .thumb {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 65%;
    background-color: #dee2e6;
}
.dispenzaLocation-itemCard .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.dispenzaLocation-itemCard.style_2 {
    text-align: left;
    color: #fff;
}
.dispenzaLocation-itemCard.style_2 .thumb {
    padding-top: 100%;
    background-color: #222;
}
.dispenzaLocation-itemCard.style_2 .thumb:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
}
.dispenzaLocation-itemCard.style_2 .info {
    position: absolute;
    padding: 25px;
    bottom: 0;
}
.dispenzaLocation-itemCard.style_3 {
    text-align: left;
}
.dispenzaLocation-itemCard.style_3 .inner {
    display: flex;
    min-height: 250px;
}
.dispenzaLocation-itemCard.style_3 .thumb {
    flex: 0 0 45%;
    max-width: 45%;
    padding-top: 0;
}
.dispenzaLocation-itemCard.style_3 .thumb > img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.dispenzaLocation-itemCard.style_3 .info {
    flex: 0 0 55%;
    max-width: 55%;
    padding: 25px;
}
.dispenzaLocation-itemCard.style_3 .info > .title {
    font-size: 24px;
}

/* location items */
.dispenzaLocation-cardItems {
    position: relative;
    display: flex;
}
.dispenzaLocation-cardItems .itemCard {
    position: relative;
    background-color: #fff;
    color: #000;
    padding: 7px;
    line-height: 1.25em;
    border-radius: 7px;
    text-align: center;
    padding: 25px;
    box-shadow: 0px 2px 5px 2px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}
.dispenzaLocation-cardItems .itemCard .thumbnail {
    display: block;
    margin-bottom: 15px;
}
.dispenzaLocation-cardItems .itemCard .thumbnail img {
    width: auto;
    margin: 0 auto;
}
.dispenzaLocation-cardItems .itemCard .title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 5px;
}
.dispenzaLocation-cardItems .itemCard .address {
    font-size: 15px;
    font-style: italic;
}
.dispenzaLocation-cardItems .itemCard .ctas {
    margin-top: 15px;
}
.dispenzaLocation-cardItems .itemCard .ctas > * {
    display: inline-block;
    margin: 3px;
}

/* location button select */
.sgDispenzaLocation--selection-btn {
    position: relative;
    display: inline-block;
    text-align: left;
    line-height: 1.25em;
}
.sgDispenzaLocation--selection-btn a {
    display: block;
    text-align: inherit;
}
.sgDispenzaLocation--selection-btn .btn {
    align-items: flex-start;
    flex-direction: column;
}
.sgDispenzaLocation--selection-btn .sub {
    display: block;
    font-size: 11px;
    margin-bottom: 5px;
}
.sgDispenzaLocation--selection-btn .locname {
    position: relative;
    display: block;
    font-size: 15px;
    line-height: 1.25em;
    padding-left: 30px;
    text-align: left;
}
.sgDispenzaLocation--selection-btn .locname > em {
    position: absolute;
    top: 2px;
    left: 0;
    width: 30px;
    font-size: 14px;
    text-align: center;
}

@media only screen and (max-width: 767px) {

    .dispenzaLocation-layoutGrid.itemsPerRow-3 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-4 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-5 > * {
        flex: 0 0 calc(calc(100% / 2) - 10px);
        max-width: calc(calc(100% / 2) - 10px);
    }
    .dispenzaLocation-layoutGrid.itemsPerRow-6 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-7 > * {
        flex: 0 0 calc(calc(100% / 3) - 10px);
        max-width: calc(calc(100% / 3) - 10px);
    }

}



@media only screen and (max-width: 575px) {

    .dispenzaLocation-layoutGrid.itemsPerRow-2 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-3 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-4 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-5 > * {
        flex: 100%;
        max-width: 100%;
    }
    .dispenzaLocation-layoutGrid.itemsPerRow-6 > *,
    .dispenzaLocation-layoutGrid.itemsPerRow-7 > * {
        flex: 0 0 calc(calc(100% / 2) - 10px);
        max-width: calc(calc(100% / 2) - 10px);
    }
    
    .dispenzaLocation-itemCard.style_3 .inner {
        display: block;
    }
    .dispenzaLocation-itemCard.style_3 .thumb {
        flex: 0 0 100%;
        max-width: 100%;
        padding-top: 60%;
    }
    .dispenzaLocation-itemCard.style_3 .info {
        flex: 0 0 100%;
        max-width: 100%;
    }

}