/*blocking*/
html.ao_overlay_bs{overflow:hidden;}
html.ao_overlay_bs body{overflow:hidden;}
html.ao_overlay_bs .ao_overlay.open .ao_overlay_shadow{overflow-y:scroll;}


.ao_overlay{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index:-1;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.5s, z-index 0s linear 0.5s, opacity 0.5s;
}
.ao_overlay > .ao_overlay_content{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-70%);
    background: #fff;
    border-radius: 25px;
    padding: 40px 0;
    box-shadow: 0 0 10px 3px rgb(0 0 0 / 30%);
    z-index: 2;
    opacity:0;
    transition: opacity 0.5s, transform 1s;
    max-width: var(--content-width);
    width:100%;
    box-sizing: border-box;
}
.ao_overlay > .ao_overlay_content > .ao_overlay_content_inner{
    max-height: 80vh;
    overflow: auto;
    padding: 0 40px;
}
.ao_overlay.ew > .ao_overlay_content{max-width: var(--extended-width)}
.ao_overlay.sw > .ao_overlay_content{max-width: var(--smaller-width)}
.ao_overlay.vsw > .ao_overlay_content{max-width: var(--very-small-width)}
.ao_overlay.fw > .ao_overlay_content{max-width: var(--full-width)}

.ao_overlay > .ao_overlay_content > .ao_overlay_closer{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    cursor:pointer;
}
.ao_overlay > .ao_overlay_content > .ao_overlay_closer:before,
.ao_overlay > .ao_overlay_content > .ao_overlay_closer:after
{
    content: "";
    position: absolute;
    height: 3px;
    width: 30px;
    background: #000000;
    top: 13px;
    left: 0;
    transform: rotate(45deg);
    border-radius: 3px;
}
.ao_overlay > .ao_overlay_content > .ao_overlay_closer:after{
    transform: rotate(-45deg)
}

.ao_overlay > .ao_overlay_shadow{
    content:"";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:#000000;
    z-index: 1;
    opacity: 0.7;
    /* transition: opacity 0.2s linear 0.3s; */
}


.ao_overlay.open{
    visibility:visible;
    z-index: 1000;
    opacity: 1;
    transition: visibility 0s, z-index 0.1s, opacity 0.5s;
}
.ao_overlay.open .ao_overlay_content{
    transform: translate(-50%,-50%);
    opacity:1;
}
.ao_overlay.open .ao_overlay_shadow{
    /* opacity:0.7; */
}
