    * {
        box-sizing: border-box;
    }
	h1 a {
		text-decoration: none;
		color: #000000;
	}
	h1 a:hover {
		text-decoration: underline;
		color: #000000;
	}
	h1 a:visited {
		text-decoration: none;
		color: #000000;
	}
	.form {
        margin:3rem auto;
		font-family:sans-serif;
        max-width:40rem;
	}
	.form .form-row {
        margin-bottom:1rem;
    }
    .form .form-row:last-child {
        margin-bottom: 0;
    }
    .form input[type=text],
    .form input[type=email],
    .form textarea,
    .form .checkbox-cnt .state {
        box-shadow:inset 0 1px 5px rgba(0,0,0,0.07);
    }
	.form input[type=text], 
	.form input[type=email],
    .form textarea {
        border-radius:0.2rem;
        font-family:sans-serif;
		padding:0.8rem;
		border:1px solid #aaa;
        display: block;
        width:100%;
        color:#666;
	}
    .form input[type=text]:focus,
    .form input[type=email]:focus,
    .form textarea:focus {
        border-color:#9DC9F5;
        box-shadow:inset 0 0 0 1px #9DC9F5, inset 0 1px 5px rgba(0,0,0,0.07);
        outline:none;
    }
    .form textarea {
        height:5rem;
    }
	.form label {
        font-weight:bold;
		display: block;
		font-size:0.9rem;
		margin-bottom:0.5rem;
	}
    .form .submit-btn {
        font-family: sans-serif;
        padding:1rem 2rem;
        background: #70B81B;
        border:0;
        border-radius:0.2rem;
        color:#fff;
        font-size:1.1rem;
        font-weight: bold;
        transition: 0.3s background-color;
        cursor: pointer;
    }
    .form .submit-btn:hover {
        background: #7EC927;
    }
    .form .checkbox-cnt {
        padding-left:3rem;
        position: relative;
        font-weight: normal;
        font-size:0.85rem;
        line-height: 2rem;
        color:#444;
        cursor: pointer;
    }
    .form .checkbox-cnt .state {
        width:2rem;
        height: 2rem;
        display: block;
        position: absolute;
        left:0;
        top:0;
        border:1px solid #aaa;
        border-radius:0.2rem;
    }
    .form .checkbox-cnt .state:before {
        width:1rem;
        height: 1rem;
        border-radius:0.2rem;
        background: #70B81B;
        display: block;
        position: absolute;
        left:50%;
        top:50%;
        content:'';
        transform:translate(-50%, -50%) scale(1);
        opacity:0;
    }
    .form .checkbox-cnt input:checked ~ .state:before {
        animation: checkboxShowAnim 0.5s 1;
        opacity: 1;
    }
    .form .checkbox-cnt input {
        position:absolute;
        top:0; left:0;
        width:2rem;
        height: 2rem;
        z-index: 2;
        cursor:pointer;
        padding:0;
        margin:0;
        opacity: 0;
    }
    .form input[type=text].error,
    .form input[type=email].error,
    .form textarea.error,
    .form .checkbox-cnt input.error ~ .state {
        border-color:#E01546;
    }
    .field-error {
        color:#E01546;
        padding:0.5rem 0;
        font-size:0.8rem;
    }
    @keyframes checkboxShowAnim {
        0%  { border-radius:50%; transform:translate(-50%, -50%) scale(0.2); }
        50% { transform:translate(-50%, -50%) scale(1.2); }
        100% { transform:translate(-50%, -50%) scale(1); }
    }

    .element-is-busy {
        position: relative;
        pointer-events: none;
        opacity:0.5;
    }
    .element-is-busy::after {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid rgba(0, 0, 0, 0.2);
        border-right-color: rgba(0,0,0,0.7);
        transform: translate(-50%, -50%) rotate(0deg);
        content:'';
        animation: rotateSingleLoading 0.3s infinite linear;
        z-index: 100;
    }
    @keyframes rotateSingleLoading {
        from {
            transform: translate(-50%, -50%) rotate(0deg);
        }
        to {
            transform: translate(-50%, -50%) rotate(360deg);
        }
    }
    .form .send-error {
        display:inline-block;
        font-family: sans-serif;
        font-size:0.9rem;
        padding:1rem 1.5rem;
        color:#E01546;
    }
    .form-send-success {
        font-family: sans-serif;
        text-align:center;
        font-size:2rem;
        font-weight:bold;
        border:1px solid #eee;
        color:#333;
        padding:5rem 0;
        margin:3rem auto;
        max-width:40rem;
    }
    .form-send-success strong {
        display:block;
        margin-bottom:0.5rem;
    }
    .form-send-success span {
        font-size:1rem;
        color:#888;
        font-weight:normal;
        display: block;
    }
    @media screen and (max-width:500px) {
        .form .submit-btn {
            display: block;
            width: 100%;
        }
        .form .send-error {
            text-align:center;
            display: block;
        }
    }