/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */

/* Hide scroll bar */

html.remodal-is-locked {
    overflow: hidden;

    touch-action: none;
}

/* Anti FOUC */

.remodal,
[data-remodal-id] { display: none; }

/* Necessary styles of the overlay */

.remodal-overlay {
    bottom: -5000px;
    display: none;
    left: -5000px;
    position: fixed;
    right: -5000px;
    top: -5000px;

    z-index: 9999;
}

/* Necessary styles of the wrapper */

.remodal-wrapper {
    -webkit-overflow-scrolling: touch;
    bottom: 0;
    display: none;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;

    right: 0;
    text-align: center;

    top: 0;

    z-index: 10000;
}

.remodal-wrapper:after {
    content: "";

    display: inline-block;
    height: 100%;

    margin-left: -0.05em;
}

/* Fix iPad, iPhone glitches */

.remodal-overlay,
.remodal-wrapper { backface-visibility: hidden; }

/* Necessary styles of the modal dialog */

.remodal {
    outline: none;

    position: relative;

    text-size-adjust: 100%;
}

.remodal-is-initialized {
    /* Disable Anti-FOUC */
    display: inline-block;
}

.remodal select,
.remodal textarea,
.remodal input,
.remodal select:focus,
.remodal textarea:focus,
.remodal input:focus { font-size: 16px; }

/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */

/* Default theme font */

.remodal,
.remodal * {
    font-family: 'Source Sans Pro';
    font-weight: 300;
}

/* Default theme styles for the background */

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened { filter: blur(3px); }

/* Default theme styles of the overlay */

.remodal-overlay { background: rgba(33, 33, 33, 0.8); }

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening { animation-name: remodal-overlay-opening-keyframes; }

.remodal-overlay.remodal-is-closing { animation-name: remodal-overlay-closing-keyframes; }

/* Default theme styles of the modal dialog */

.remodal {
    background: #fff;
    box-sizing: border-box;
    color: #605f59;

    min-height: 100%;

    padding: 20px;
    transform: translate3d(0, 0, 0);
    width: 100%;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}

.remodal.remodal-is-opening { animation-name: remodal-opening-keyframes; }

.remodal.remodal-is-closing { animation-name: remodal-closing-keyframes; }

/* Vertical align of the modal dialog */

.remodal,
.remodal-wrapper:after { vertical-align: middle; }

/* Close button */

.remodal-close {
    background: transparent;
    border: 0;
    color: #95979c;

    cursor: pointer;
    display: block;

    height: 35px;
    left: 0;
    margin: 0;
    outline: 0;

    overflow: visible;
    padding: 0;
    position: absolute;

    text-decoration: none;
    top: 0;
    transition: color 0.2s;
    width: 35px;
}

.remodal-close:hover,
.remodal-close:focus {
    background-color: transparent;
    color: #2b2e38;
}

.remodal-close:before {
    content: "\00d7";
    display: block;
    font-family: 'Source Sans Pro';
    font-size: 28px;

    font-weight: 600;
    left: 0;
    line-height: 35px;

    position: absolute;

    text-align: center;

    top: 0;
    width: 35px;
}

/* Dialog buttons */

.remodal-confirm,
.remodal-cancel {
    border: 0;

    cursor: pointer;
    display: inline-block;

    font: inherit;
    margin: 0;
    min-width: 110px;

    outline: 0;
    overflow: visible;
    padding: 12px 0;
    text-align: center;
    text-decoration: none;

    transition: background 0.2s;
    vertical-align: middle;
}

.remodal-confirm {
    background: #81c784;
    color: #fff;
}

.remodal-confirm:hover,
.remodal-confirm:focus { background: #66bb6a; }

.remodal-cancel {
    background: #e57373;
    color: #fff;
}

.remodal-cancel:hover,
.remodal-cancel:focus { background: #ef5350; }

/* Remove inner padding and border in Firefox 4+ for the button tag. */

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
    border: 0;

    padding: 0;
}

/* Keyframes
   ========================================================================== */

@keyframes remodal-opening-keyframes {
    from {
        opacity: 0;

        transform: scale(1.05);
    }

    to {
        opacity: 1;

        transform: none;
    }
}

@keyframes remodal-closing-keyframes {
    from {
        opacity: 1;

        transform: scale(1);
    }

    to {
        opacity: 0;

        transform: scale(0.95);
    }
}

@keyframes remodal-overlay-opening-keyframes {
    from { opacity: 0; }

    to { opacity: 1; }
}

@keyframes remodal-overlay-closing-keyframes {
    from { opacity: 1; }

    to { opacity: 0; }
}

/* Media queries
   ========================================================================== */

@media only screen and (min-width: 768px) {
    .remodal {
        max-width: 339px;
        min-height: 0;
        padding: 30px;
    }

    .remodal-close { display: none; }
}

/* IE8
   ========================================================================== */

.lt-ie9 .remodal-overlay { background: #2b2e38; }

.lt-ie9 .remodal { width: 700px; }