html, body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', Helvetica, arial, sans-serif;
}

body {
    background: linear-gradient(180deg, 
        rgba(20,128,50,1) 0%, 
        rgba(24,152,59,1) 15%, 
        rgba(184,245,203,1) 15%, 
        rgba(189,214,242,1) 100%);
    background-attachment: fixed;
    height: 100vh;
    display: flex;
    justify-content: center;
}

main {
    width: min-content;
    height: min-content;
    border-top: 15px solid #60cb7d;
    background: white;
    margin: 2em 0;
    padding: 2em 1.25em;
}

header {
    font-size: 3em;
    font-weight: 460;
    display: block;
}

p {
    display: inline-block;
    padding-top: 1.2em;
    text-indent: .5em;
    text-align: justify;
    text-justify: inter-word;
}

section {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
}


/***************************/
/*    Part with buttons    */
/***************************/

button {
    position: relative;
    text-transform: uppercase;
    border: 1px solid;
    color: #4b2294;
    background: inherit;
    transition: all .5s;
    font-size: 1.15em;
    outline: none;
    padding: .5em;
}

button:hover {
    background: #4b2294;
    color: white;
}

button:active {
    background: #af92e2;
}

button:disabled {
    cursor: not-allowed;
}



/***************************/
/* Canvas part of the page */
/***************************/

canvas {
    position: relative;
    margin: auto;
    display: block;
    border: 2px solid black;
    margin: 3em 1.8em;
}