body.is-modal-open,
body.is-modal-overflow
{
    overflow: visible !important;
}

.l-movie-modal
{
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) 0s;

    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) 0s;
    pointer-events: none;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";

    opacity: 0;
}

.l-movie-modal.is-active
{
    -webkit-transition: opacity .5s cubic-bezier(.39, .575, .565, 1) 0s;
    transition: opacity .5s cubic-bezier(.39, .575, .565, 1) 0s;
    pointer-events: auto;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

    opacity: 1;
}

.l-movie-modal__bg
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";

    opacity: .8;
    background: #ed1c24;
}

.l-movie-modal__close
{
    position: absolute;
    top: 12px;
    right: 12px;

    width: 60px;
    height: 60px;

    cursor: pointer;

    border-radius: 100px;
    background: #fff;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
            box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
}

.l-movie-modal__close:before,
.l-movie-modal__close:after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 30px;
    height: 2px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-color: #ed1c24;
}

.l-movie-modal__close::before
{
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
}

.l-movie-modal__close::after
{
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
}

.l-movie-modal__main
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 70%;
    max-width: 1000px;

    -webkit-transform: translate(-50%, -50%);

            transform: translate(-50%, -50%);
}

.l-movie-modal__movie
{
    position: relative;

    width: 100%;
    padding-top: 56.25%;
}

.l-movie-modal__movie iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

@media screen and (max-width: 767px)
{
    .l-movie-modal__main
    {
        top: 48%;

        width: 100%;
    }
}

/*************************************/
.l-img-modal
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
}

.l-img-modal__bg
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";

    opacity: .8;
    background: #ed1c24;
}

.l-img-modal__close
{
    position: absolute;
    top: 12px;
    right: 12px;

    width: 60px;
    height: 60px;

    cursor: pointer;

    border-radius: 100px;
    background: #fff;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
            box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
}

.l-img-modal__close:before,
.l-img-modal__close:after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 30px;
    height: 2px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-color: #ed1c24;
}

.l-img-modal__close::before
{
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
}

.l-img-modal__close::after
{
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
}

.l-img-modal__close:hover
{
    -webkit-transition: all .3s cubic-bezier(.25, .46, .45, .94) 0s;
    transition: all .3s cubic-bezier(.25, .46, .45, .94) 0s;
    -webkit-transform: rotate(.5turn);
            transform: rotate(.5turn);
}

.l-img-modal__main
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 80vh;
    max-width: 1000px;

    -webkit-transform: translate(-50%, -50%);

            transform: translate(-50%, -50%);
}

.l-img-modal__img
{
    position: relative;

    width: 100%;
    padding-top: 0;
}

@media screen and (max-width: 767px)
{
    .l-movie-modal__main
    {
        top: 48%;

        width: 100%;
    }
    .l-img-modal__main
    {
        top: 49%;

        width: 90%;
    }
}