.main {
    width:100%;
    box-sizing: border-box;
    padding:15em 8em;
    background-repeat: no-repeat;
    background-size:cover;
}

    h1, .main p, .main h2 {
        width:75%;
        max-width:900px;
        text-align: center;
        display:block;
        margin: 0 auto;
    }
    
    h1 {
        font-size:5em;
        font-weight:100;
        margin-bottom:0.5em;
    }
    
    .main p {
        font-size:1.5em;
        line-height:2;
        font-weight:400;
        margin-bottom:1.5em;
    }
    
        .main p:last-child {
            margin-bottom:0;
        }
        
    .main h2 {
        font-size:3em;
        font-weight:100;
        margin-bottom:0.5em;
    }
    
.form {
    background-color:#2a083a; /* dark purple */
    width:100%;
    box-sizing: border-box;
    padding:4.5em;
    color:#fff;
    text-align: center;
    clear:both;
}

form {
    width:75%;
    max-width:900px;
    margin:0 auto;
    clear:both;
}

    .form-left, .form-right {
        width:49%;
        float:left;
    }
    
    .form-right {
        float:right;
    }
    
    form p {
        float:left;
        clear:left;
    }
    
    input, textarea, select, option {
        clear:left;
        width:100%;
        border:1px solid #fff;
        border-radius: 0.75em;
        margin-bottom:1em;
        background:none;
        outline: none;
        color:#fff !important;
        padding:0.75em 1em;
        box-sizing: border-box;
    }
    
        option {
            border:none;
            margin:0;
            cursor: pointer;
        }
        
        select {
            padding:none;
            cursor: pointer;
        }
    
    ::-webkit-input-placeholder { color:#fff; opacity:1; }
    ::-ms-input-placeholder { color:#fff; opacity:1; }
    ::-moz-placeholder { color:#fff; opacity:1; }
    
    textarea {
        font-family: 'Roboto', sans-serif;
        font-size:1.3em;
    }
    
    .submit-btn {
        float:right;
        clear:right;
        cursor: pointer;
        width:25%;
        background-color:#fff;
        color:#2a083a !important; /* dark purple */
    }
    
    .error-text, .red-error-text {
        display:block;
        width:100%;
        font-size: 1.5em;
        clear:both;
        margin-bottom:1em;
    }
    
    .red-error-text {
        color:red;
    }
	
	input[type="checkbox"] {
		float:left;
		width:15px;
		margin-right:10px;
	}
	
	.robot {
		float:left;
	}

@media screen and (max-width: 1050px) {
    
    h1, .main p {
        width:100%;
    }
    
}

@media screen and (max-width:800px) {

    .main {
        padding:8em;
    }
    
    form {
        width:100%;
    }
}

@media screen and (max-width: 550px) {
    .main {
        padding:4em;
    }
    
    h1 {
        font-size:3em;
    }
    
    .main h2 {
        font-size:2em;
        font-weight:300;
    }
}

@media screen and (max-width: 500px) {
    .form-left, .form-right {
        width:100%;
    }
    
    .submit-btn {
        width:100%;
    }
}

@media screen and (max-width: 300px) {
    
    .form {
        padding:2em;
    }
    
    h1 {
        font-size:2.5em;
    }
    
    .main h2 {
        font-size:1.5em;
    }
}