/* gallery
   ============================ */

.gallery .wrapper {
    padding-bottom: 40px;
    padding-top: 40px;
}
.gallery .wrapper h2 {
    margin-bottom: 29px;
}
.gallery .mod-carousel,
.gallery .galleries {
    position: relative;
}
.gallery .mod-carousel .viewport {
    float: none;
    margin: 0 auto;
    max-width: 1160px;
}

/* full size image */
.gallery .full-size-image .viewport {
    max-height: 500px;
    overflow: hidden;
}
.gallery .full-size-image .viewport .slide-container {
    padding-bottom: 0;
}

/* thumbnail images */
.gallery .gallery-thumbnails {
    left: 50%;
    max-width: 1160px;
    padding: 62px 0 40px;
    position: absolute;
    top: 0;
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
}
.gallery .gallery-thumbnails .viewport {
    max-width: 1100px;
    position: static;
}
.gallery .gallery-thumbnails .viewport .slide-container {
    background: transparent;
    padding-bottom: 0;
}
.gallery .gallery-thumbnails .viewport .four-column {
    margin: 0 auto;
}
.gallery .gallery-thumbnails .viewport .four-column .column {
    margin-bottom: 2%;
    outline: none;
}
.gallery .gallery-thumbnails .viewport .four-column .column,
.gallery .gallery-thumbnails .viewport .four-column .column .image {
    height: 180px;
    overflow: hidden;
    padding-bottom: 0;
}
.gallery .gallery-thumbnails .viewport .four-column .column img {
    border-bottom: 4px solid transparent;
    border-top: 4px solid transparent;
    height: 100%;
    max-width: none;
    -moz-transition: 0.3s ease;
    -ms-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    width: auto;
}
.gallery .gallery-thumbnails .viewport .four-column .column:focus img {
    border-bottom-color: #f78e1e;
    border-top-color: #f78e1e;
}
.gallery .gallery-thumbnails .step.prev {
    left: -20px;
}
.gallery .gallery-thumbnails .step.next {
    right: -20px;
}

/* view all button */
.gallery .cta {
    margin-top: 29px;
}
.gallery .cta .view-all {
    line-height: 2.1rem;
}
.gallery .cta .view-all .label-text {
    display: inline-block;
}
.gallery .cta .view-all > span {
    display: inline-block;
    height: 21px;
    margin-right: 5px;
    margin-top: -5px;
    vertical-align: middle;
    width: 21px;
}
.gallery .cta .view-all span > span {
    float: left;
}
.gallery .cta .view-all span > span::before,
.gallery .cta .view-all > span > span::after {
    background: #21016b;
    content: "";
    display: block;
    height: 9px;
    -moz-transition: 0.2s ease;
    -ms-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    width: 9px;
}
.gallery .cta .view-all > span > span::after {
    margin-top: 3px;
}
.gallery .cta .view-all > span > span + span {
    margin-left: 3px;
}
.gallery .cta .view-all > span > span + span::before {
    background: #6caddf;
}
.gallery .cta .view-all:focus > span > span + span::before {
    background: #21016b;
}

.ios .gallery .cta .view-all > span {
    margin-top: 0;
}
.ios .gallery .cta .view-all .label-text {
    position: relative;
    top: 2px;
}

/* responsive
   ============================ */

@media screen and (max-width: 1024px) {

    /* thumbnail images */
    .gallery .gallery-thumbnails {
        padding: 42px 0 30px;
    }
    .gallery .gallery-thumbnails .viewport .four-column {
        padding: 0 40px;
    }
    .gallery .gallery-thumbnails .viewport .four-column .column {
        clear: none;
        margin-bottom: 1%;
        width: 25%;
    }
    .gallery .gallery-thumbnails .viewport .four-column .column,
    .gallery .gallery-thumbnails .viewport .four-column .column .image {
        height: 154px;
    }
    .gallery .gallery-thumbnails .viewport .four-column .column img {
        max-width: none;
        object-fit: cover;
        width: 100%;
    }
    .gallery .gallery-thumbnails .step.next {
        right: -10px;
    }
    .gallery .gallery-thumbnails .step.prev {
        left: -10px;
    }
}

@media screen and (max-width: 736px) {

    /* gallery */
    .gallery .wrapper h2 {
        margin-bottom: 22px;
    }

    /* full size image */
    .gallery .full-size-image .viewport {
        max-height: 200px;
        overflow: hidden;
    }
    .gallery .full-size-image .viewport .slide-container {
        padding-bottom: 0;
    }
    .gallery .full-size-image .viewport .slide-container > .slide {
        height: 200px;
    }
    .gallery .full-size-image .viewport .slide-container > .slide .image > img {
        height: 200px;
        max-width: none;
        object-fit: cover;
        width: 100%;
    }
}
