* {
    box-sizing: border-box;
}



.popup {
    position: fixed;
    z-index: 2; 
    top: 50%; 
    left: 50%;
    width: 50vw; 
    height: auto; 
    background: #fff;
    border-radius: 5px;
    -moz-box-shadow: 4px 4px 30px #130507;
    -webkit-box-shadow: 4px 4px 30px #130507;
    box-shadow: 4px 4px 30px #130507;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.top {
    -moz-transition:top 800ms;
    -o-transition:top 800ms;
    -webkit-transition:top 800ms;
    transition:top 800ms;
}

.right {
    -moz-transition:right 1800ms;
    -o-transition:right 1800ms;
    -webkit-transition:right 1800ms;
    transition:right 1800ms;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    -o-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
}

.bottom {
    -moz-transition:bottom 800ms;
    -o-transition:bottom 800ms;
    -webkit-transition:bottom 800ms;
    transition:bottom 800ms;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    -o-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
}

.left {
    -moz-transition:left 1800ms;
    -o-transition:left 1800ms;
    -webkit-transition:left 1800ms;
    transition:left 1800ms;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.p_body {
    position:fixed; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%;
    background:#000; 
    opacity:0.7;
    -moz-transition:opacity 800ms;
    -o-transition:opacity 800ms;
    -webkit-transition:opacity 800ms;
    transition:opacity 800ms;
}

.popup__header {
    padding: 10px 20px; 
}

.p_content { 
    width: 100%; 
    background: #eee;
    text-align: justify; 
    font-size: 14px; 
    padding: 20px; 
}

.popup__footer {
    padding: 10px 20px;  
    text-align: center;
}

.p_close { 
    position: absolute; 
    top: 4px; 
    right: 16px; 
    width: 16px; 
    height: 12px; 
    padding: 15px 11px 0 0; 
}

.p_close span { 
    display: block; 
    width: 18px; 
    height: 5px; 
    background: #333; 
}

.p_close span:first-child {
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.p_close span:last-child {
    margin: -5px 0 0;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.js__slide_top { 
    height:0; 
    overflow:hidden;
    top: 0; 
    right:0;
    bottom: 0;
    left: 0;
}

.js__fadeout { 
    height:0; 
    overflow:hidden; 
    opacity:0; 
}

@media screen and (max-width : 768px) {
    .popup {
        width: 100%;
        height: 100vh;
    }

    .js__slide_top { 
        height:0; 
        overflow:hidden;
        top: 0; 
        right:0;
        bottom: 0;
        left: 0;
    }
}