/* Clearers */
.formFieldsContainer .row:after, .customer-dob:after { content: ""; display: block; height: 0; clear: both; visibility: hidden }

.main h1, .main h2 { margin-bottom: 5px; }
.main div.row fieldset { border: 0; margin: 0; padding: 0; }
.main div.row label { color: #999; float: left; display: block; padding: 1px 20px 0 0 }
.main div.row label img { border: none; padding: 0; margin: 0; }
.main div.row div.separator { width: 100%; margin: 10px auto; padding-top: 10px; height: 2px; clear: both; border-bottom: 1px solid #c3c3c3; }
.main div.row.hidden,
.main li.hidden { position: absolute !important; top: -10000px !important; left: -10000px !important; }
.main .form-list .add-field .input-box { display: block; }

/* Default form styles resetting / adjusting */
.main .field.lastField { margin-bottom: 0; }
.main ul li.fields { margin: 0; }
.main div.formFieldsContainer p { margin-bottom: 10px; line-height: 18px; }
.main div.formFieldsContainer li.fields.control p { padding-left: 10px; }
.main div.formFieldsContainer p.required { clear: both; margin-top: 5px; font-size: 11px;}
.main div.formFieldsContainer div.buttons-set a { display: block; float: right; }
.main ul.form-list li.control div.row fieldset { margin-top: 0; }
.main button { font-size: 18px; }

/* Error messages */
.validation-error input, .validation-error textarea, .validation-error select { color: #820000 !important }
.validation-error { border-color: red !important; background-color: #fcdada !important; margin-bottom: 2px !important }
.validation-advice { font-size: 10px; color: red; margin-bottom: 10px; clear: both }

/* Steps layout */
.main div.content div.max-height div.layout-address { position: relative; float: left; width: 310px; } /* Container including the first step (address / shipping area) */
.main div.content div.max-height div.layout-content { position: relative; float: left; } /* Main container for the second and third steps (payment, shipping method, review) */
.main div.content div.max-height div.layout-content div.layout-right, /* Container for the second step (payment, shipping method, gutschein) */
.main div.content div.max-height div.layout-content div.layout-right-bottom { position: relative; float: left; margin-left: 20px; width: 310px; } /* Container for the last step (review, submit button) */

.formFieldsContainer .row { margin-bottom: 10px }
.formContainer h2 { background-color: #e3e3e3; margin: 0; padding: 7px 12px 7px 7px; border-top-left-radius: 3px; border-top-right-radius: 3px }
.formContainer h1,
.formContainer h2 { color: #333333; font-family: GeogrotesqueRegular, serif; font-size: 22px; font-weight: normal; text-transform: none; }
.formContainer h3 { font-family: GeogrotesqueRegular, serif; font-size: 18px; font-weight: normal; margin-bottom: 15px }
.formFieldsContainer { background-color: #f3f3f3; border-radius: 3px; padding: 10px; }
.formFieldsContainer.loginFormContainer { padding-bottom: 5px; float: none; }
ul.messages li.error-msg { padding: 5px; }

.contacts-index-index div.page-title h1 { margin-bottom: 20px; font-family: GeogrotesqueRegular, serif; font-size: 32px; font-weight: normal; text-transform: none }
.contacts-index-index .formContainer { width: 500px }
.contacts-index-index #messages_product_view { position: static } /* ? */

div.formContainer { width: 375px; }
div.formFieldsContainer p.required { margin-top: 35px; }

/* Newsletter page */
#newsletter-validate-detail .row, #newsletter-validate-detail .buttons-set { float: left }
#newsletter-validate-detail .row { margin: 0 10px 0 0; width: 490px }
#newsletter-validate-detail button { width: 150px }
#newsletter-validate-detail .email-input-wrapper { float: left }

/* Global form elements */

/* Box */
.input-box { border: #cfcfcf 1px solid; border-radius: 2px 2px 2px 2px; -moz-border-radius: 2px 2px 2px 2px; -webkit-border-radius:2px 2px 2px 2px; padding: 0 5px 0 15px; background: #ffffff }

/* Global */
input[type=text], input[type=password], textarea { width: 100%; font-size: 13px; border: none; background: transparent }

/* Text field */
input[type=text], input[type=password] { padding: 6px 0 5px 0 }

/* Text area */
textarea { min-height: 150px; resize: none; margin: 7px 0; font-family: Arial, Verdana, Helvetica, sans-serif }

/* Checkbox, radio */
.formFieldsContainer .row .checker, .formFieldsContainer .row .radio { float: left; display: block }

/* Button */
button { padding: 6px 21px; font-family: GeogrotesqueRegular, Helvetica, Arial, sans-serif; font-size: 22px; color: #fff; cursor: pointer; font-weight: normal; border-radius: 2px; border: none; background-color: #e46d06 }
button:disabled, button.disabled { background-color: #999999 }

/* Date of birth */
.customer-dob { border: none; background: none; padding: 0 }
.customer-dob .input-box, .checkitout .checkout-left .form-list .customer-dob .input-box { float: left; width: 36px; margin-left: 6px; padding: 0 5px 0 5px }
.customer-dob label { float: left; margin-top: 7px; color: #999999 }
.customer-dob .dob-container { float: right }
.customer-dob .validation-advice { clear: both; margin-left: 136px; opacity:0.999999; display:none }

.field-hint { font-size: 10px; margin: 0 0 10px 17px }

/* Phone */
@media (max-width: 767px) {
    .formContainer h2, .formFieldsContainer { border-radius: 0 }
    button { padding: 5px 15px }
}
