.c-card {
    flexbox();
    flex-direction: column;
    justify-content: space-between;
    width: 220px;
    height: 122px;
    padding: 15px 20px 20px;
    float: left;
    background-color: $color--main;
    border: solid 1px transparent;
    border-bottom-width: 5px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: $font--bold;
    color: #fff;

    &__link {
        flexbox();
        flex-direction: column;
        justify-content: space-between;
        width: calc(100% + 40px);
        height: calc(100% + 35px);
        margin: -15px -20px -20px;
        padding: inherit;
        color: inherit;
        transition: .4s ease-out;

        &:hover, &:focus {
            background-color: #1b68ff;
            box-shadow: 0 0 0 1px @background-color, 0 4px 0 1px @background-color;
            border-radius: @border-radius;
            color: #fff;
            text-decoration: none;
        }
    }

    &__header {
        flexbox();

        &-icon {
            margin-left: 10px;
            font-size: 36px;
        }
    }

    &__title {
        flex: 1 1 0;
        height: 36px;
        overflow: hidden;
    }

    &__info {
        flexbox();
        justify-content: space-between;
        align-items: flex-end;
    }

    &__plays {
        flexbox();
        align-items: center;

        &-icon {
            margin-right: 5px;
            font-size: 18px;
        }
    }

    &__check {
        width: 24px;
        height: @width;
        padding: 5px;
        border-radius: 50em;
        background-color: $color--gray-1;
        font-size: 14px;
        color: #fff;
        text-align: center;
    }

    // Outline

    &--outline {
        background: #fff;
        border-color: $color--main;
        color: $color--main;
    }

    // Card com mais informações

    &--advanced {
        position: relative;
        border-bottom-width: 1px;

        &.c-card--completed {
            border-bottom-width: @border-bottom-width;
        }

        .c-card {
            &__link {
                &:hover, &:focus {
                    box-shadow: none;
                }
            }

            &__course {
                flex: 1 0 0;
                font-size: 1rem;
            }

            &__header-icon {
                font-size: 1em;
            }

            &__title {
                flex: none;
                height: 42px;
                margin: 0;
                padding-top: 6px;
                font-weight: $font--regular;
                line-height: 1.1;
            }

            &__progress {
                position: absolute;
                bottom: 0;
                left: 0;
                max-width: 100%;
                height: 5px;
                background-color: currentColor;
                border-radius: 0 4px 0 4px;
            }
        }
    }

    // Completado

    &--completed {
        padding-bottom: 24px;
        border-bottom-width: 1px;
        color: $color--gray-1;

        &:not(.c-card--outline) {
            background: $color--gray-2;
        }

        &.c-card--outline {
            border-color: $color--gray-1;
        }

        .c-card__link {
            padding-bottom: 24px;
            margin-bottom: -@padding-bottom;
            height: calc(100% + 39px);
            pointer-events: none;
        }
    }
}

.c-card-media {
    width: 264px;
    float: left;
    background-color: #fff;
    font-size: 16px;

    &__link {
        color: inherit;
        font-weight: $font--bold;

        &:hover, &:focus {
            color: #fff;
            text-decoration: none;

            .c-card-media {
                &__media {
                    border-color: $color--main;
                }
                &__title {
                    background-color: $color--main;
                    border-color: $color--main;
                }
            }
        }
    }

    &__media {
        position: relative;
        height: 138px;
        overflow: hidden;
        border-radius: 4px 4px 0 0;
        border: solid 1px #ccc;
    }

    &__img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        min-width: 100%;
        min-height: 100%;
    }

    &__info {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        background-color: alpha($color--main, 90%);
        color: #fff;
    }

    &__header {
        flexbox();
        align-items: center;
        padding: 14px 20px;

        &-icon {
            margin-right: 10px;
            font-size: 27px;
        }
    }

    &__timestamp {
        position: absolute;
        right: 7px;
        bottom: 7px;
        padding: 2px 5px;
        border-radius: 4px;
        background-color: $color--main-dark
        font-size: .6em;
        font-weight: $font--regular;
    }

    &__title {
        padding: 20px;
        padding-bottom: 40px;
        border: solid 1px #ccc;
        border-top: none;
        border-radius: 0 0 4px 4px;
        transition: .4s ease-out;
        text-ellipsis();
    }
}