/* Minification failed. Returning unminified contents.
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(155,30): run-time error CSS1039: Token not allowed after unary operator: '-classification-title-height'
(163,30): run-time error CSS1039: Token not allowed after unary operator: '-tag-title-height'
(173,18): run-time error CSS1039: Token not allowed after unary operator: '-classification-title-height'
(177,18): run-time error CSS1039: Token not allowed after unary operator: '-tag-title-height'
(321,17): run-time error CSS1039: Token not allowed after unary operator: '-program-card-width'
(553,30): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(597,22): run-time error CSS1039: Token not allowed after unary operator: '-clientPrimaryColor'
(597,48): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(624,31): run-time error CSS1039: Token not allowed after unary operator: '-topBarHeight'
 */
/*#region Variables*/
:root {
    --program-card-height: 168px;
    --program-card-padding-right: 24px;
    --icon-font-size: 36px;
    --icon-height-width: 48px;
    --program-card-width: 200px;
    --program-card-margin: 55px;

    --classification-title-height: 35px;
    --tag-title-height: 40px;

}

/*#endregion Variables*/

/*#region Program Filters */
.btn-outline-dark.classificationFilterSm:hover {
    color: unset;
    background-color: unset;
    border-color: unset;
}

.btn-outline-dark.tagFilterSm:hover {
    color: unset;
    background-color: unset;
    border-color: unset;
}

.list-group-item {
    max-height: 288px;
}

.searchProgramContent {
    padding: 0 20px 10px 10px;
}

@media(max-width: 426px) {
    .searchProgramContent {
        padding: 0 18px 0 10px;
    }
}

.programSelectAll {
    text-align: left;
    font-size: 15px;
    line-height: 18px;
    letter-spacing: 0px;
    color: #3D3D3D;
    opacity: 1;
}

.programFilterTitle {
    text-align: left;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0px;
    color: #242424;
    opacity: 1;
}

.clearProgramFilter {
    text-align: center;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0px;
    border: none;
    background: none;
    opacity: 1;
    cursor: pointer;
}

.programFilterItem {
    border-radius: 100px;
    opacity: 1;
    text-align: left;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0px;
    color: #3D3D3D;
}

.programFilterContainer {
    max-height: 168px;
}

.programFilterCategory {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #BCBCBC;
    border-radius: 4px 4px 0px 0px;
    opacity: 1;
}

#programSearchFilter {
    background-color: white;
}

@media (max-width: 375px) {
    #programSearchFilter {
        width: 100%;
    }

        #programSearchFilter.active {
            left: 0;
        }
}
/*xs breakpoint*/
@media (min-width: 376px) {
    #programSearchFilter {
        width: 75%;
    }

    #programSearchFilter.active {
        left: 25vw;
    }   
}

#programSearchFilterBody {
    height: 100vh;
    padding: 30px 0px 20px 0px;
}


@media (min-width: 767.98px) {
    #programSearchFilterBody {
        height: 100vh;
        padding: 30px 0px 23px 0px;
    }
}



#programSearchFilter {
    position: fixed;
    top: 0;
    right: calc(100vw + 1000px);
    z-index: 1031;
    color: #000000;
    transition: all 0.3s;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

#programFilterTitle {
    padding: 0px 24px 0px 24px;
}

#programFilterGroupsSm {
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0px 24px 10px 24px;
    height: 100%;
}

.programFilterContainerMobile.classifications{
    height: calc(100% - var(--classification-title-height));
    overflow-y: scroll;
    overflow-x: hidden;
}



.programFilterContainerMobile.tags{
    height: calc(100% - var(--tag-title-height));
    overflow-y: scroll;
    overflow-x: hidden;
}

.filterArea{
    height: 50%;
}

#classificationTitleArea{
    height: var(--classification-title-height);
}

#tagTitleArea{
    height: var(--tag-title-height);
}


#programFilterFooter {
    position: sticky;
    top: calc(100vh);
    padding: 0px 24px 0px 24px;
}


#programFilterTitle h1 {
    font-size: 24px;
    margin-bottom: 0px;
}


@media screen and (max-height: 500px) {
    #programSearchFilterBody {
        padding: 10px 0px 10px 0px;
        overflow-y: auto;
        overflow-x:hidden;
    }

    #programSearchFilter {
        min-height: 100%;
    }

    #programFilterFooter {
        position: static;
        min-width: auto;
        justify-content: center
    }

    #programFilterTitle {
        padding: 0px 10px 0px 10px;
        margin-bottom: 0;
    }

    #programFilterGroupsSm {
        padding: 0px 10px 0px 10px;
        min-height: 250px;
        height: 100%;
    }

    #classificationTitleArea {
        min-height: 35px;
        height: auto;
    }

    .filterArea {
        min-height: 250px;
    }

    .programSelectAll {
        margin-top: 0;
    }

    .filterArea:last-child {
        margin-top: 30px;
    }
}

/*#endregion */

/*#region Program Grid*/

.program-list-item-title, program-list-price-text {
    font-size: 17px;
    line-height: 19px;
    margin-bottom: 0.5rem;
}

.program-List-Item-Search {
    display: none;
}

.program-list-item {
    width: 185px;
    margin: 0 0 0 10px;
}

    .program-list-item img {
        width: 185px;
        height: 185px;
        background-size: cover;
        cursor: pointer;
        transition: 0.5s ease;
        border-radius: 8px 8px 8px 8px;
    }

    .program-list-item .img-link:focus {
        outline: none;
    }

        .program-list-item .img-link:focus img {
            border-color: black;
            box-shadow: 0 0 0 0.2rem rgba(0,0,0, 0.5);
        }

/*endregion*/

.program-results {
    margin-left: 25px;
}

.program-search-results-title {
    font-size: 19px;
    line-height: 21px;
}

/*#region Carousel */
.featured-program-title {
    text-align: center;
    font-size: 19px;
    line-height: 21px;
    padding-left: 70px;
}


.program-carousel-filter-item {
    background: #F2F2F2 0% 0% no-repeat padding-box;
    border-radius: 100px;
    opacity: 1;
    text-align: left;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0px;
    color: #3D3D3D;
    opacity: 1;
    padding: 10px 16px 11px 16px;
}

.program-carousel-price-text {
    text-align: left;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0px;
    color: #3D3D3D;
    opacity: 1;
}


.program-carousel-item {
    width: var(--program-card-width);
    margin: 0 20px 0 20px;
    border: 1px solid #D8D8D8;
    border-radius: 8px;
}


@media (max-width: 426px ) {
    .program-carousel-item {
        width: 200px;
        margin: auto;
        border: 1px solid #D8D8D8;
        border-radius: 8px;
    }
}

.program-carousel-item img {
    min-width: 198px;
    max-width: 198px;
    height: 200px;
    background-size: cover;
    cursor: pointer;
    transition: 0.5s ease;
    border-radius: 8px;
}

.program-carousel-wrapper {
    padding: 20px;
    margin-top: -25px;
}

.program-carousel-content {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.program-carousel-container {
    overflow-x: scroll;
    overflow-y: hidden;
    display: flex;
    align-items: center;
    height: 450px;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

    .program-carousel-container::-webkit-scrollbar {
    display: none;
}

/*.program-carousel-slide {
    min-width: 90%;
}*/

.program-card-description {
    display: flex;
    column-gap: 10px;
    align-items: center;
}

    .program-card-description img {
    width: 20px;
}

    .program-card-description span {
        padding: 5px 15px;
        border-radius: 5px;
        color: #fff;
    }

        .program-card-description span.fire {
            background-color: orange;
        }

        .program-card-description span.psychic {
            background-color: rgb(146, 100, 108);
        }

        .program-card-description span.electric {
            background-color: rgb(231, 210, 88);
        }

        .program-card-description span.rock {
            background-color: rgb(114, 102, 32);
        }

        .program-card-description span.grass {
            background-color: rgb(32, 114, 69);
        }

.program-card-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 20px;
    flex-direction: column;
    row-gap: 0.5rem;
    /*height: 400px;*/
    height: 330px;
    background-color: #fff;
    box-shadow: 0px 3px 6px #00000000;
    border: 1px solid #D8D8D8;
    border-radius: 8px;
    transition: .3s transform ease;
}

    .program-card-inner h4 {
        font-size: 1.5rem;
        margin: 0;
        color: rgb(170, 155, 155);
    }

    .program-card-inner img {
        min-width: 199px;
        max-width: 199px;
        height: 200px;
        background-size: cover;
        cursor: pointer;
        transition: 0.5s ease;
        border-radius: 8px;
    }

.program-arrow {
    display: flex;
    position: absolute;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    padding: 5px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

    .program-arrow i {
        font-size: 1.5rem;
        color: #fff;
        transition: .5s ease;
    }

    .program-arrow.program-arrow-right {
        right: -5%;
    }

    .program-arrow.program-arrow-left {
        left: -5%;
    }

    .program-arrow:hover{
        transform: scale(1.5);
    }

@media screen and (min-width: 768px) {
    .program-carousel-wrapper {
        padding: 0px 50px ;
    }

    .program-carousel-slide {
        scroll-snap-align: center;
        position: relative;
    }

    .program-arrow {
        display: flex;
    }

}

@media screen and (min-width: 1180px) {
    .program-carousel-wrapper {
        padding: 0px 50px;
    }

    .program-carousel-slide {
        min-width: 33.33%;
        scroll-snap-align: center;
        position: relative;
    }

    .program-arrow {
        display: flex;
    }
}

@media screen and (min-width: 1180px) {
    .program-carousel-wrapper {
        padding: 0px 50px;
    }

    .program-carousel-slide {
        min-width: 33.33%;
        scroll-snap-align: center;
        position: relative;
    }

    .program-arrow {
        display: flex;
    }
}

@media screen and (min-width: 768px) {
    .program-carousel-wrapper {
        padding: 0px 50px;
    }

    .program-carousel-slide {
        scroll-snap-align: center;
        position: relative;
    }

    .program-arrow {
        display: flex;
    }
}

@media screen and (max-width: 768px) {
    .program-arrow {
        display: flex;
        position: absolute;
        width: 20px;
        height: 20px;
        top: calc(100% - 30px);
        padding: 5px;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

        .program-arrow {
            font-size: 1.5rem;
            transition: .5s ease;
            background: var(--primary);
            border-radius: 100px;
            padding: 20px;
        }

        .program-arrow.program-arrow-right {
            right: -7%;
        }

        .program-arrow.program-arrow-left {
            right: 7%;
            left:revert;
        }

        .program-arrow:hover {
            transform: scale(1.0);
        }
}

.program-carousel-card{
    border: none;
}

.program-carousel-item-title {
    text-align: left;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0px;
    color: #000000;
    opacity: 1;
}

.program-card-inner:hover ,
.program-card-inner:focus {
    transform: scale(1.08) ;
    transform-origin: center;
}

.featured-stamp {
    position: absolute;
    margin-right: 160px;
    margin-top: 0px;
    width: 40px;
    height: 40px;
    background: var(--clientPrimaryColor, var(--primary));
    border-radius: 16px 0 100px 0;
    color: white;
}

    .featured-stamp:before {
        font-family: "Material Icons Round";
        font-size: 24px;
        content: "\e8d0";
        padding-left: 5px;
    }

/*#endregion*/

.overlay-secondary {
    display: none;
    position: fixed;
    margin-top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1030;
    opacity: 0;
    transition: all 0.4s ease-in-out;
}
@media only screen and (min-height: 300px) {
    .overlay-secondary {
        margin-top: calc(var(--topBarHeight) * -1);
    }
}

.overlay-secondary.active {
    display: block;
    opacity: 1;
}
