body { color: #333333; font-family: 'Open Sans'; font-size: 23px; font-style: normal; font-weight: 400; line-height: 30px; }

h1 { color: #333333; font-family: 'Roboto Slab'; font-size: 48px; font-style: normal; font-weight: 700; padding: 2px 0 3px; line-height: 1.1em; }

a { color: #102D69; }

#mainwrapper { max-width: 1000px; margin: 0 auto; }

#mainwrapper p { margin: 1.2em 0; line-height: 1.4em; }

div.images { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
div.images > div { width: 200px; padding: 0.5em; margin: 0 1em 1em 1em; box-sizing: border-box;}
div.images > div.selected {background: aliceblue;}
div.images a { display: block; }
div.images a img { width: 100%; height: auto; }

fieldset,
img { border: 0 none; margin: 0; padding: 0; }

legend { text-transform: uppercase; font-size: 22px; color: #102D69; font-family: 'Roboto Slab'; font-style: normal; font-weight: 600; padding: 20px 0; }

form > div { margin-bottom: 1em; }

label { display: block; font-family: 'Open Sans'; font-weight: 600; margin-bottom: 0.4em; font-size: 24px; }
.required { color: #102D69; font-size: 20px; }
input,
textarea,
select { font-size: 20px; border: solid 1px #dedede; margin-bottom: 0.3em; background: white; padding: 10px; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

input[type="radio"] {
    display: inline-block;
    width: auto;
    transform: scale(1.6);
}
input[type="checkbox"] {
    display: inline-block;
    width: auto;
    transform: scale(2);
    padding: 10px;
}

.btn,
button,
input[type='submit'] { background: #102D69; color: white; padding: 0.5em 1em; text-transform: uppercase; border-radius: 6px; border: solid 1px #102D69; border-bottom: solid 3px #0e2658; cursor: pointer; width: auto; text-decoration: none; }
.btn:active,
button:active,
input[type='submit']:active { color: #102D69; background: white; }

.btn:disabled,
button:disabled,
input[type='submit']:disabled { background: #009EE3; border-color: #009EE3; }

.errors { background: #fbecec; border: solid 1px red; padding: 1em; margin: 1em 0; }

.error input { border: solid 1px red; }
.error label { color: red; }

small { line-height: 1em; display: block; margin-bottom: 10px; font-size: 14px; }

@media (max-width: 400px)
{
    h1 { font-size: 38px; }
    body { font-size: 20px; }
    .btn,
    button,
    input[type='submit'] { font-size: 14px; }
}
