.unsplash {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;

    ul.frame-content-header {
        display: flex;
        align-items: center;
        margin: 0;
        font-size: 14px;
        height: 50px;
        padding: 0 16px;

        li {
            padding: 0;
            margin: 5px 0 0;

            a {
                padding: 8px 10px 9px;
                color: #0073aa;
                text-decoration: none;

                &:hover,
                &:focus {
                    color: #32373c;
                    outline: none;
                    box-shadow: none;
                }
            }

            input {
                height: 25px;
            }

            .search {
                margin-top: 0;
            }
        }
    }

    @keyframes spinner {
        to {
            transform: rotate(360deg);
        }
    }

    .frame-content {
        position: relative;

        ul.photos {
            overflow: auto;
            margin: 0;
            display: flex;
            flex-wrap: wrap;
            padding: 2px 8px 8px;

            li.photo {
                padding: 7px;
                margin-bottom: 0;
                width: 140px;
                height: 140px;

                .photo-wrapper {
                    height: 100%;
                    width: 100%;
                    overflow: hidden;
                    margin: 0;
                    box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(129, 79, 79, 0.05);
                    background: #eee;
                    cursor: pointer;
                    border: 1px solid #ddd;
                    position: relative;

                    &::before {
                        display: none;
                        content: "";
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        z-index: 11;
                        background-color: rgba(0, 0, 0, 0.5);
                    }

                    &::after {
                        display: none;
                        position: absolute;
                        top: calc(50% - 13px);
                        left: calc(50% - 13px);
                        content: '';
                        box-sizing: border-box;
                        width: 26px;
                        height: 26px;
                        border-radius: 50%;
                        border-top: 3px solid #fff;
                        border-right: 2px solid transparent;
                        animation: spinner 0.6s linear infinite;
                        z-index: 12;
                    }

                    &.loading {
                        &::before {
                            display: flex;
                        }

                        &::after {
                            display: flex;
                        }

                        img {
                            pointer-events: none;
                        }
                    }

                    &:hover {
                        &::before {
                            display: flex;
                        }

                        .author {
                            display: flex;
                        }
                    }

                    > img {
                        height: 100%;
                        width: 100%;
                        position: absolute;
                        top: 0;
                        left: 0;
                        z-index: 10;
                        object-fit: cover;
                    }

                    a.author {
                        display: none;
                        position: absolute;
                        z-index: 11;
                        bottom: 0;
                        color: white;
                        text-decoration: none;
                        width: 100%;
                        justify-content: center;
                        align-items: center;
                        text-align: center;
                        text-transform: capitalize;
                        margin-bottom: 5px;

                        &:hover {
                            color: #0085ba;
                        }
                    }
                }
            }

            h3 {
                margin: 0 0 0 8px;
            }
        }

        .button {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 200px;
            margin: 14px auto;

            &.loading::before {
                content: '';
                box-sizing: border-box;
                width: 12px;
                height: 12px;
                border-radius: 50%;
                border-top: 2px solid #fff;
                border-right: 2px solid transparent;
                animation: spinner 0.6s linear infinite;
                margin-right: 15px;
            }
        }
    }
}
