.twin-dialog {
    .twin-sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .twin-custom-dialog {
        background-color: #f6f6f6;
        border: 1px solid rgba(0,0,0,.42);
        box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
        border-radius: 4px;
        display: none;
        left: 50%;
        max-height: 90%;
        max-width: 95%;
        min-width: 50%;
        overflow-y: auto;
        position: fixed;
        top: 50%;
        transform: translate(-50%, -50%);

        .twin-custom-dialog-content {
            padding: 1.5em 1.5em;
        }

        .twin-custom-dialog-header {
            align-items: center;
            border-bottom: 1px solid rgba(0,0,0,.42);
            display: flex;
            justify-content: space-between;
            padding: 0 0 0 1.5em;

            .twin-custom-dialog-close {
                background: transparent;
                border: transparent;
                height: 2em;
                flex: 0 0 2em;
                padding: 0;
                position: relative;
                width: 2em;
                align-self: start;
                margin: 0.25em;
            }

            .twin-custom-dialog-close::before,
            .twin-custom-dialog-close::after {
                content: "";
                border-top: 1px solid #000;
                left: 0.25em;
                position: absolute;
                width: 1.5em;
                transform: rotate(45deg);
            }

            .twin-custom-dialog-close::after {
                transform: rotate(-45deg);
            }

            .twin-custom-dialog-close:focus-visible {
                box-shadow: 0 0 6px 2px #0067b8;
                outline: 4px solid transparent;
            }
        }
    }

    @media (max-width: 950px) {
        .twin-custom-dialog {
            width: 95%;
        }
    }

    .twin-custom-dialog-container.open {
        .twin-custom-dialog-bg {
            background: rgba(0, 0, 0, 0.5);
            bottom: 0;
            left: 0;
            position: fixed;
            right: 0;
            top: 0;
        }
        .twin-custom-dialog {
            display: block;
        }
    }

}
