.animated {
    animation-duration: .15s;
}

.overlay-tap,
.overlay-header,
.overlay-footer {
    display: none;
}

@media (max-width: 991px) {

    .overlay-tap {
        display: block;
        cursor: pointer;
    }

    .overlay-layout {
        background: white;
        display: none;
        margin: 0 !important;
        padding: 0 !important;
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        width: 100%;
        height: 100% !important;
        z-index: 2001 !important;
    }

    .overlay-layout .overlay-header {
        display: block;
        position: relative;
        width: 100%;
        left: 0; top: 0;
    }

    .overlay-layout .overlay-header > div.back {
        position: absolute;
        left: 0;
        right: auto;
        top: 0;
        width: 70px;
        height: 100%;
        background: url('/resources/images/selector/back-arrow-left.svg') no-repeat 10px center;
        background-size: 16px;
        color: #0096ff;
        cursor: pointer;
    }

    .overlay-layout .overlay-header > div.back:before {
        font-size: 12px;
        font-weight: normal;
        content: "Back";
        position: absolute;
        left: 33px;
        top: 1px;
    }

    .overlay-layout .overlay-close {
        display: block;
        position: absolute;
        top: 10px;
        right: 10px;
        cursor: pointer;
    }

    .overlay-layout .overlay-content {
        position: relative;
        left: 0;
        width: 100%;
        margin: 0 0 50px 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .overlay-layout .overlay-footer {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        font-size: 14px;
        background-color: #eee;
        border-top: 1px solid #ccc;
        padding: 10px 15px;
        line-height: normal;
        vertical-align: bottom;
        display: flex;
        align-items: center;
    }

    .overlay-layout .overlay-footer > div {
        display: block;
        float: left;
    }

    .overlay-layout .overlay-footer > div:first-child {
        padding-right: 10px;
        width: 60%;
    }

    .overlay-layout .overlay-footer > div:last-child {
        line-height: normal;
        text-align: right;
        background-color: #eee;
        width: 40%;
    }

    .overlay-layout .overlay-footer > div:last-child:before {
        line-height: 0;
        top: 12px;
        font-size: 32px;
        margin-right: 4px;
    }
}

@media only screen and (max-width: 400px) {
    .overlay-layout .overlay-footer > div:first-child {
        padding-right: 10px;
        width: 50%;
    }

    .overlay-layout .overlay-footer > div:last-child {
        width: 50%;
    }
}