﻿.flipper-wrapper {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}

.flipper-card {
    width: 33%;
    height: 300px;
    padding: 1em;
    perspective: 1500px;
}

@media only screen and (max-width: 767px) {

    .flipper-card {
        width: 85%;
    }
}
    .flipper-card .flipper-content {
        position: relative;
        width: 100%;
        height: 100%;
        transform-style: preserve-3d;
        transition: transform 0.5s cubic-bezier(0.75, 0, 0.85, 1);
    }

    .flipper-more {
        display: none;
    }

        .flipper-more:checked ~ .flipper-content {
            transform: rotateY(180deg);
        }

    .flipper-front,
    .flipper-back {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backface-visibility: hidden;
        transform-style: preserve-3d;
        border-radius: 24px;
    }

        .flipper-front .inner,
        .flipper-back .inner {
            height: 100%;
            display: grid;
            padding: 0.5em;
            transform: translateZ(80px) scale(0.94);
        }

    .flipper-front {
        background-color: #fff;
        background-size: cover;
        background-position: center center;
    }

        .flipper-front:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: block;
            border-radius: 24px;
            backface-visibility: hidden;
            background-color: rgb(0 0 0 / 0.25);
        }

        .flipper-front:hover:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: block;
            border-radius: 24px;
            backface-visibility: hidden;
            background-color: rgb(0 0 0 / 0.45);
        }

        .flipper-front .inner {
            grid-template-rows: 5fr 1fr 1fr 2fr 1fr;
            justify-items: center;
        }

        .flipper-front h2 {
            grid-row: 2;
            margin-bottom: 0.3em;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #fff;
            font-weight: 500;
            text-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
        }

        .flipper-front .rating {
            grid-row: 3;
            color: rgba(255, 255, 255, 0.8);
            font-size: 14px;
            display: flex;
            flex-flow: row nowrap;
        }

            .flipper-front .rating i {
                margin: 0 1px;
            }

    .flipper-back {
        transform: rotateY(180deg);
        background-color: #10aee5;
        border: 2px solid #10aee5;
    }

        .flipper-back .inner {
            grid-template-rows: 1fr 2fr 1fr 2fr 14fr 1fr 1fr;
            grid-template-columns: repeat(1, auto);
            grid-column-gap: 0.8em;
            justify-items: center;
        }

            .flipper-back .inner a {
                justify-items: center;
                text-align: center;
            }

            .flipper-back .inner img {
                width: 85%
            }

            .flipper-back .inner p {
                font-weight: 600;
                font-size: 20px;
                color: #2B2B2B;
                text-align: center;
            }

        .flipper-back .info {
            position: relative;
            display: flex;
            align-items: center;
            color: #355cc9;
            grid-row: 3;
        }

            .flipper-back .info:not(:first-of-type):before {
                content: "";
                position: absolute;
                left: -0.9em;
                height: 18px;
                width: 1px;
                background-color: #ccc;
            }

            .flipper-back .info span {
                font-size: 2em;
                font-weight: 700;
            }

            .flipper-back .info i {
                font-size: 1.2em;
            }

                .flipper-back .info i:before {
                    background: linear-gradient(40deg, #355cc9, #438af3);
                    -webkit-text-fill-color: transparent;
                    -webkit-background-clip: text;
                }

            .flipper-back .info .icon {
                margin-left: 0.3em;
            }

                .flipper-back .info .icon span {
                    display: block;
                    margin-top: -0.25em;
                    font-size: 0.8em;
                    font-weight: 600;
                    white-space: nowrap;
                }

        .flipper-back .description {
            grid-row: 5;
            grid-column: 1/-1;
            font-size: 0.86em;
            border-radius: 5px;
            font-weight: 600;
            line-height: 1.4em;
            overflow: auto;
            color: #355cc9;
            padding-right: 10px;
        }

        .flipper-back .location,
        .flipper-back .price {
            font-weight: 600;
            color: #355cc9;
            grid-row: 1;
            font-size: 0.86em;
        }

        .flipper-back .location {
            grid-column: 1/3;
            justify-self: left;
        }

        .flipper-back .price {
            grid-column: 3/-1;
            justify-self: right;
        }

        .flipper-back .flipper-button {
            grid-column: 1/-1;
            justify-self: center;
        }

    .flipper-button {
        grid-row: -1;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 600;
        cursor: pointer;
        display: block;
        padding: 0 1.5em;
        height: 3em;
        line-height: 2.9em;
        min-width: 3em;
        background-color: transparent;
        border: solid 2px #fff;
        color: #fff;
        border-radius: 4px;
        text-align: center;
        left: 50%;
        backface-visibility: hidden;
        transition: 0.3s ease-in-out;
        text-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    }

        .flipper-button:hover {
            background-color: #fff;
            box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
            text-shadow: none;
            color: #355cc9;
        }

        .flipper-button.return {
            line-height: 3em;
            color: #355cc9;
            border-color: #355cc9;
            text-shadow: none;
        }

            .flipper-button.return:hover {
                background-color: #355cc9;
                color: #fff;
                box-shadow: none;
            }
