.overlay {
    z-index: 9999;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    background: rgba(245, 245, 245, 0.95);
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.overlay.hidden {
    pointer-events: none;
}

.overlay-content {
    z-index: 10000;
    position: fixed;
    width: 100%;
    height: auto;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 2em;
    box-shadow: 0px 3px 0px #e3e3e3;
    border: 1px solid #e3e3e3;
    top: 50%;
    left: 50%;
    margin-left: -300px;
    margin-top: -300px;
    -webkit-transition: -webkit-transform 0.4s ease, opacity 0.4s ease;
    -moz-transition: -moz-transform 0.4s ease, opacity 0.4s ease;
    -o-transition: -o-transform 0.4s ease, opacity 0.4s ease;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.overlay-content.hidden {
    -webkit-transform: scale(0.7, 0.7);
    -moz-transform: scale(0.7, 0.7);
    -o-transform: scale(0.7, 0.7);
    transform: scale(0.7, 0.7);
    pointer-events: none;
}

.overlay-content .content-scroll {
    height: 100%;
    max-height: 350px;
    overflow: scroll;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #e3e3e3;
    -webkit-overflow-scrolling: touch;
}

.overlay-content .agreement {
    padding-top: 1em;
}

.overlay-content .agreement .form-box {
    margin-bottom: 1.5em;
}

.overlay-content .agreement input {
    margin-bottom: 1em;
}

.overlay-content .agreement input[type=submit] {
    margin-left: 1em;
}

.noscroll {
    position: fixed;
    overflow-y: scroll;
    width: 100%;
}

.fade-in.hidden {
    z-index: -9999;
    position: fixed;
}

@media all and (max-device-width: 767px) {
    .overlay-content {
        border-radius: 0;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: 0;
        margin-top: 0;
        -webkit-overflow-scrolling: touch;
        overflow: scroll;
    }
    .overlay-content .agreement input[type=submit] {
        margin-left: 0;
    }
}
