.flickity-enabled {
    position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
}
#associated_products .carousel-cell {
    height: 280px;
    width: 50%;
    padding: 0 1rem;
}
#associated_products .carousel-cell img {
    height: 200px;
}
@media(min-width: 560px) {
    .flickity-viewport {
        max-height: 192px;
        overflow: hidden;
    }

}
@media(min-width: 800px) {
    .flickity-viewport {
        max-height: 258px;
        overflow: hidden;
    }
}
@media(min-width: 1024px) {
    .flickity-viewport {
        max-height: 500px;
        overflow: hidden;
    }
    #associated_products .carousel-cell {
        height: 210px;
        max-width: 20%;
        padding: 0 1rem;
    }
    #associated_products .carousel-cell img {
        height: 170px;
    }
}

#gallery-slider .flickity-viewport {
    height: auto;
    max-height: 98%;
    overflow: hidden;
}
.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
}
.flickity-slider img {
    width: 100%;
}
#associated_products .flickity-slider img {
    width: auto;
    margin: 0 auto;
}
#prodslider .flickity-slider img, #animalslider .flickity-slider img {
    width: auto;
    max-height: 450px;
    margin: 0 auto;
}
#gallery-slider .flickity-slider img {
    width: auto;
    margin: 0 auto;
}
@media(min-width: 1070px) {
    #gallery-slider .flickity-slider img {
        width: auto;
        height: auto;
    }
    #associated_products .carousel-cell {
        height: 280px;
        max-width: 20%;
        padding: 0 1rem;
    }
    #associated_products .carousel-cell img {
        height: 240px;
    }
    #animal .carousel-cell {
        height: 500px;
        width: 100%;
        padding: 0 1rem;
    }
}

/* draggable */

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    -tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
    position: absolute;
    background: hsla(0, 0%, 100%, 0.75);
    border: none;
    color: #333;
}

.flickity-button:hover {
    background: white;
    cursor: pointer;
}

.flickity-button:focus {
    outline: none;
    box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
    opacity: 0.6;
}

.flickity-button:disabled {
    opacity: 0.3;
    cursor: auto;
    /* prevent disabled button from capturing pointer up event. #716 */
    pointer-events: none;
}

.flickity-button-icon {
    fill: #333;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
    top: 50%;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    /* vertically center */
    transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 5px; }
.flickity-prev-next-button.next { right: 5px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -15px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 5px;
    background: #333;
    border-radius: 50%;
    opacity: 0.25;
    cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
    opacity: 1;
}