html,
body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: #E5E4E2;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;

    main {
        div {
            padding: 10rem;
            text-align: center;

            h1 {
                font-size: 2rem;
                margin-top: 15px;
                font-weight: bold;
                color: ghostwhite;
                text-shadow: 2px 0 #000000, -2px 0 #000000, 0 2px #000000, 0 -2px #000000,
                    1px 1px #000000, -1px -1px #000000, 1px -1px #000000, -1px 1px #000000;
                font-family: Comic Sans MS, cursive, sans-serif;
            }

            h2 {
                margin-top: 3rem;
                font-size: 1.1rem;
                font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
            }

            button {
                height: 40px;
                padding: 1rem;
                line-height: 0;
                font-size: 1rem;
                transition: 0.3s;
                border-radius: 10px;
                color: white;
                cursor: pointer;
                font-weight: bold;
                display: inline-block;
                background-color: #393939;
                border: 2px solid #c1c1c1;
                box-shadow: 5px 5px black;
                font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
            }

            button:hover {
                background-color: #585858;
            }

            button:active {
                transform: scale(0.98);
                box-shadow: 3px 2px 22px 1px rgba(0, 0, 0, 0.24);
            }

            p {
                font-size: 1rem;
                margin-top: 3rem;
                font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
            }
        }
    }

    /* Large Devices, Wide Screens */
    @media only screen and (max-width: 1200px) {
        main {
            div {
                padding: 8rem;

                h1 {
                    font-size: 1.9rem;
                }

                h2 {
                    font-size: 1.1rem;
                }

                button {
                    height: 35px;
                    padding: 0.5rem;
                    font-size: 1rem;
                }

                p {
                    font-size: 1rem;
                }
            }
        }
    }

    /* Large tablets */
    @media only screen and (max-width: 900px) {
        main {
            div {
                padding: 7rem;

                h1 {
                    font-size: 1.8rem;
                }

                h2 {
                    font-size: 1rem;
                }

                button {
                    height: 35px;
                    padding: 0.5rem;
                    font-size: 0.9rem;
                }

                p {
                    font-size: 0.9rem;
                }
            }
        }
    }

    /* Mid-size tablets */
    @media only screen and (max-width: 768px) {
        main {
            div {
                padding: 5rem;

                h1 {
                    font-size: 1.5rem;
                }

                h2 {
                    font-size: 1rem;
                }

                button {
                    height: 30px;
                    padding: 0.5rem;
                    font-size: 0.8rem;
                }

                p {
                    font-size: 0.8rem;
                }
            }
        }
    }

    /* Small tablets */
    @media only screen and (max-width: 600px) {
        main {
            div {
                padding: 3rem;

                h1 {
                    font-size: 1.3rem;
                }

                h2 {
                    font-size: 0.9rem;
                }

                button {
                    height: 25px;
                    padding: 0.5rem;
                    font-size: 0.7rem;
                }

                p {
                    font-size: 0.7rem;
                }
            }
        }
    }

    /* Small Devices, Tablets */
    @media only screen and (max-width: 480px) {
        main {
            div {
                padding: 2rem;

                h1 {
                    font-size: 1.2rem;
                }

                h2 {
                    font-size: 0.8rem;
                }

                button {
                    height: 25px;
                    padding: 0.5rem;
                    font-size: 0.7rem;
                }

                p {
                    font-size: 0.7rem;
                }
            }
        }
    }

    /* Mobile Phones */
    @media only screen and (max-width: 320px) {
        main {
            div {
                padding: 1rem;

                h1 {
                    font-size: 1rem;
                }

                h2 {
                    font-size: 0.7rem;
                }

                button {
                    height: 20px;
                    padding: 0.5rem;
                    font-size: 0.6rem;
                }

                p {
                    font-size: 0.6rem;
                }
            }
        }
    }
}