html.fixed {
    overflow: hidden;
}

.modal *,
.modal *:before,
.modal *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* 1. Ensure this sits above everything when visible */
.modal {
    position: absolute;
    z-index: 10000; /* 1 */
    top: 0;
    left: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    display: block;
}

.modal.is-visible {
    visibility: visible;
}

.modal-overlay {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 0%, 0%, 0.5);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s;
}

.modal.is-visible .modal-overlay {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.modal-wrapper {
    position: fixed;
    z-index: 9999;
    top: 20%;
    left: 50%;
    width: 32em;
    margin-left: -16em;
    background-color: #fff;
    box-shadow: 0 0 1.5em hsla(0, 0%, 0%, 0.35);
}

.modal-transition {
    transition: all 0.3s 0.12s;
    transform: translateY(-10%);
    opacity: 0;
}

.modal.is-visible .modal-transition {
    transform: translateY(0);
    opacity: 1;
}

.modal-header,
.modal-content {
    padding: 1em;

}
.modal-content {
    padding: 1em;
    border: none;
    direction: rtl;
}

.modal-header {
    position: relative;
    background-color: #fff;
    box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.06);
    border-bottom: 1px solid #e8e8e8;
}

.modal-close {
    position: absolute;
    top: 0;
    left: 0;
    padding: 1em;
    color: #aaa;
    background: none;
    border: 0;
    cursor: pointer;
    width: 40px;
    height: 45px;
    margin: 0;
}

.modal-close:hover {
    color: #777;
}

.modal .modal-close .icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    fill: currentcolor;
    font-size: 150%;
}

.modal-heading {
    width: 100%;
    text-align: right;
    font-size: 1.125em;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.modal-content > *:first-child {
    margin-top: 0;
}

.modal-content > *:last-child {
    margin-bottom: 0;
}
.modal-content p {
    text-align: right;
}

.modal-content .otp-submit {
    background-color: #5c544e;
    color: #FFF;
    border: none;
}
.modal-content .otp-submit:hover {
    background-color: #e5d2c4;
    border: solid 1px #b2b2b2;
    color: #212121;
}
.modal-content input {
    direction: ltr;
}
/************
 480px
************/

@media only screen and (max-width: 480px) {
    .modal-wrapper {
        top: 20%;
        left: 0;
        width: 100vw;
        margin-left: 0;
    }
}
