* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: sans-serif;

    button {
        background-color: #3cc896;
        border-radius: 35px;
        border: 2px solid transparent;
        height: 50px;
        padding: 0.5rem;
        min-width: 15rem;
        cursor: pointer;
        color: #fff;
        &:hover {
            border-color: #3cc896;
            background-color: #140032;
        }
    }

    dialog {
        margin: auto;
        padding: 2em;
        width: 100vw;

        div {
            display: flex;
            flex-direction: column;
        }

        p {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            span {
                margin: 0.5em 0 0;
            }
        }

        button {
            margin: 0.5em 0 0;
            align-self: flex-end;
        }
    }

    main {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        form {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            header {
                background-color: #140032;
                border-radius: 0 0 80px 80px;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                height: 15dvh;
                > img {
                    height: 3rem;
                }
            }
            footer {
                width: 100%;
                background-color: #140032;
                display: flex;
                align-items: center;
                justify-content: center;
                height: 15dvh;
                img {
                    height: 3rem;
                }
            }

            h2 {
                margin: 0.5rem 0;
            }

            h2 + span {
                font-size: small;
            }
            section {
                display: flex;
                flex-direction: column;
                align-items: center;
                border-radius: 15px;
                border: solid 1px transparent;
                box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
                margin: 2rem 0.5rem;
                min-height: calc(70dvh - 4rem);
                label {
                    width: 75%;
                    margin: 0.8em 0;
                    &.checkbox-label {
                        cursor: pointer;
                        span {
                            width: 100%;
                        }
                    }
                    > input {
                        border: none;
                        border-bottom: 2px solid #3cc896;
                        width: 100%;
                        outline: none;
                        text-align: left;
                        font-size: 1em;
                        padding: 0 0 0 0.5em;
                        &:focus {
                            border-color: #140032;
                        }
                    }
                    div {
                        width: 100%;
                        display: flex;
                        justify-content: center;
                        input[type='checkbox'] {
                            margin: 0 0.5em 0 0;
                            appearance: unset;
                            width: 13px;
                            height: 13px;
                            border: solid 1px #000;
                            align-self: center;
                            cursor: pointer;
                            &:checked {
                                background: #3cc896;
                                border-color: transparent;
                            }
                        }
                    }
                    a {
                        color: #3cc896;
                        text-decoration: none;
                    }
                }
            }
        }
    }
}
