.smart-modal
{
    display: none;

    position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
    z-index: 100002;

    transition: opacity 0.5s ease-out;
}
.smart-modal-overlay
{
    background: rgba(#000, 0.5);
    height: 100%;
    overflow: hidden;
    width: 100%;
}
.smart-modal-dialog
{
    margin: 12vh 20px 20px;
    position: relative;
}
.smart-modal-dialog-picture
{
    display: block;
    width: 100%;
}
.smart-modal-dialog-picture-image
{
    display: block;
    width: 100%;
}
.smart-modal-dialog-buttons
{
    padding: 20px;
    width: 100%;

    position: absolute;
        bottom: 0;
        left: 0;
}
.smart-modal-dialog-button
{
    display: block;
    padding: 1.2rem 3rem !important;
    width: 100%;
}
.smart-modal-dialog-close
{
    appearance: none;
    background: transparent;
    border: none;
    display: block;
    height: 30px;
    padding: 0;
    width: 30px;

    font-size: 20px;
    line-height: 1;
    text-align: center;

    position: absolute;
        top: 6px;
        right: 6px;
}

.smart-modal.is-closing
{
    opacity: 0;
}
.smart-modal.is-visible
{
    display: block;
}

@include mobile-landscape-and-up
{
    .smart-modal-dialog
    {
        margin: 10vh 40px 40px;
    }
    .smart-modal-dialog-buttons
    {
        display: flex;
            justify-content: center;
    }
    .smart-modal-dialog-button
    {
        width: auto;
    }
}

@include tablet-portrait-and-up
{
    .smart-modal-container
    {
        @include outer-container;
    }
    .smart-modal-dialog
    {
        @include span-columns(10);
        @include shift(1);

        margin-top: 20vh;
    }
    .smart-modal-dialog-close
    {
        height: 50px;
        width: 50px;

        font-size: 30px;
    }
}

@include tablet-landscape-and-up
{
    .smart-modal-dialog
    {
        margin-top: 24vh;
    }
}

@include desktop
{
    .smart-modal-dialog
    {
        margin-top: 140px;
    }
    .smart-modal-dialog-button
    {
        padding: 1.5rem 4rem !important;
    }
}
