/* Basics
----------------------------------------------------------- */
form, fieldset {
  margin-bottom: 0; }

input:focus {
  outline: none; }

label,
.label,
input,
select,
textarea,
button,
.Button {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  float: left;
  margin-right: 5px;
  vertical-align: middle;
  border-radius: 0 !important; }

.InlineCheck {
  line-height: 24px;
  font-weight: 400 !important;
  padding: 5px !important; }

.GroupLabel {
  font-weight: 500;
  color: #333 !important;
  padding: 6px 0; }

label, .label {
  display: block;
  text-align: right;
  clear: left;
  width: 126px;
  margin-left: -126px;
  margin-bottom: 18px;
  margin-right: 0;
  padding: 0 5px 0 0;
  font-size: 14px;
  color: #1E1E1C;
  padding-bottom: 5px;
  font-weight: 400; }

* + label, * + .label {
  text-align: left;
  clear: none;
  width: auto;
  margin: 0; }

.required > label:before {
  content: "* ";
  width: 8px;
  margin-left: -8px;
  color: #c00; }

.required > * + label {
  font-weight: normal; }

.required > * + label:before {
  display: none;
  content: ""; }

input, select, textarea {
  background-color: #fefefe;
  border: 1px solid #dadada;
  border-radius: 2px;
  color: #333;
  display: inline-block;
  height: 38px;
  max-width: 100%;
  padding: 6px 12px;
  transition-duration: 0.3s;
  vertical-align: middle;
  min-width: 100px; }

[type='checkbox'], [type='radio'] {
  -moz-box-shadow: none;
  -ms-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  border-radius: 0;
  border-width: 0;
  display: inline-block !important;
  height: auto;
  margin: 0 5px 0 0;
  max-width: none;
  width: auto;
  top: -2px !important; }

textarea {
  height: auto;
  resize: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: #fefefe url("../i/angle-down-dark.png") top 50% right 14px no-repeat;
  background-size: 12px 12px;
  color: #333;
  cursor: pointer;
  height: 38px;
  padding-right: 35px; }

select::-ms-expand {
  display: none; }

/* Input states
----------------------------------------------------------- */
.Button:hover {
  background-color: #007faa !important; }

/* Buttons
----------------------------------------------------------- */
.secondary-button {
  font-size: 16px;
  height: 48px;
  line-height: 48px;
  display: inline-block;
  padding: 0 20px; }

button, .Button {
  float: none;
  text-decoration: none;
  display: inline-block;
  zoom: 1;
  text-align: center;
  background-color: #009BCF;
  color: #fff;
  font-size: 16px;
  height: 48px;
  line-height: 48px;
  min-width: 180px;
  font-weight: 400;
  -webkit-transition: all 100ms ease-out;
  -moz-transition: all 100ms ease-out;
  -o-transition: all 100ms ease-out;
  -ms-transition: all 100ms ease-out;
  transition: all 100ms ease-out; }

.Button:hover {
  text-decoration: none;
  opacity: 0.9;
  background-color: #007faa; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.Button {
  padding: 0px 10px;
  color: #fff; }

button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
  padding: 0;
  border: 0; }

button.SubmitButton, .Big .Button {
  padding: 0px 15px; }

.Big .Button {
  float: none;
  margin: 9px 0; }

/* Groups
----------------------------------------------------------- */
.GroupItem > div {
  float: left;
  position: relative;
  padding-bottom: 18px;
  margin-right: 5px; }

.GroupItem > div > label {
  display: block;
  width: 100%;
  color: #181818;
  font-weight: 400;
  font-size: 11px;
  white-space: nowrap;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis; }

/* Checkboxes
----------------------------------------------------------- */
input[type="checkbox"] {
  margin: 8px 5px 5px 0; }

input[type="radio"] {
  margin-top: 5px; }

input[type="checkbox"],
input[type="radio"] {
  top: 1px;
  cursor: pointer;
  border: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  min-width: 0;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.8); }

.Checks {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  width: 100%;
  margin-left: 23px;
  margin-bottom: 18px; }

.Checks.InlineCheck {
  width: auto; }

.Checks label {
  float: none;
  clear: both;
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: left; }

.Checks label input[type="checkbox"],
.Checks label input[type="radio"] {
  margin-left: -20px; }

.Checks label + .FormHelp {
  top: 0;
  margin: 0; }

/* Notifications about why radiobuttons are disabled */
.Checks .FormNotification {
  margin: 0;
  padding: 0;
  color: red; }

/* Labels on top
----------------------------------------------------------- */
.BlockForm .FormItem {
  padding-right: 0;
  padding-top: 0px;
  padding-bottom: 5px; }

.BlockForm label, .BlockForm .label,
.BlockForm .FormErrorMessage + label,
.BlockForm .FormErrorMessage + .label {
  position: relative;
  text-align: left;
  clear: left;
  float: none;
  display: block;
  width: auto;
  margin: 0;
  padding: 0; }

.BlockForm * + label,
.BlockForm * + .label {
  top: 0;
  clear: none;
  float: left;
  margin: 0 5px 0 0; }

.BlockForm .CheckWrap > label {
  margin-bottom: 18px;
  top: 0; }

.BlockForm .Checks label {
  zoom: 1;
  top: 0;
  font-weight: 400;
  float: none;
  margin: 0 0 0 -18px;
  padding: 0 0 0 18px;
  clear: both;
  font-size: 14px;
  line-height: 22px; }

.BlockForm .Checks label:before,
.BlockForm .Checks label:after {
  display: table;
  content: "";
  zoom: 1; }

.BlockForm .Checks label:after {
  clear: both; }

/* Errors
----------------------------------------------------------- */
.FormError input,
.FormError select,
.FormError textarea {
  border: 1px solid #900; }

.FormErrorMessage, .GroupErrorMessage {
  position: relative;
  color: #be0000 !important;
  margin: 0; }

.FormErrorMessage + label,
.FormErrorMessage + .label,
.GroupErrorMessage + label,
.GroupErrorMessage + .label {
  text-align: right;
  clear: left;
  width: 126px;
  margin-left: -126px;
  margin-bottom: 18px;
  margin-right: 0; }

.BlockForm .FormErrorMessage + label,
.BlockForm .FormErrorMessage + .label,
.BlockForm .GroupErrorMessage + label,
.BlockForm .GroupErrorMessage + .label {
  display: none; }

.GroupItem > div > .FormErrorMessage {
  position: absolute;
  top: auto;
  bottom: 0px;
  left: 0px;
  padding: 0;
  margin: 0;
  width: 100%;
  font-size: 11px;
  font-weight: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.GroupItem > div:hover > .FormErrorMessage {
  z-index: 999;
  width: auto; }

.GroupItem > div > .FormErrorMessage + label {
  /* Hide the label so that the error fits there instead */
  display: none !important; }

/* Helps
----------------------------------------------------------- */
.FormHelp {
  position: relative;
  top: 4px;
  color: #888888;
  width: 100%;
  overflow: hidden;
  clear: both;
  float: left;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 20px; }

/* When the help is used as success message */
.FormHelp.Success {
  border: 1px solid #d9d9d9;
  margin-left: -1px;
  margin-right: -1px;
  border-radius: 3px;
  color: #222;
  text-align: center;
  padding: 3px 0; }

/* Helptext in header as an intro */
.HeaderItem .FormHelp {
  top: 0px;
  margin: 0 0 10px; }

.FormAltAction {
  font-size: 14px;
  line-height: 20px;
  margin-top: 5px; }

/* Customizing selectboxes
----------------------------------------------------------- */
.CustomSelectWrap {
  position: relative;
  float: left;
  width: 100%;
  zoom: 1;
  max-width: 100%; }

.ReplacedSelect {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  margin-right: 0px;
  z-index: 10;
  width: 100%;
  zoom: 1;
  border: 0;
  padding-right: 31px;
  padding-left: 4px;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0; }

.CustomSelect {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  width: 100%;
  max-width: 320px;
  font-size: 16px; }

.CustomSelect span {
  display: block;
  width: auto;
  height: 36px;
  color: #333333;
  font-family: Arial, Helvetica, "Lucida Grande", "Bitstream Vera Sans", Verdana, sans-serif;
  font-weight: normal;
  line-height: 36px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

select[disabled] + .CustomSelect span {
  opacity: 0.6; }

.CustomSelect .sel_outer {
  padding-right: 18px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 2px; }

.CustomSelect .sel_outer .sel_inner {
  height: 100%;
  padding: 0 4px;
  line-height: 36px;
  border-right: 1px solid #ccc;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.CustomSelect .sel_outer .sel_arrow {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 21px;
  height: 36px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAYAAACJxx+AAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5NUE3NTM1NDM1MjA2ODExOEMxNzg3RDFDNjQ3OTU0NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMkY4RDg2NjJENzIxMUUxODVGQ0I4OENDNjA4RkI2QyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMkY4RDg2NTJENzIxMUUxODVGQ0I4OENDNjA4RkI2QyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDU4MDExNzQwNzIwNjgxMTg3MUZEMzcxRERBRTJGMEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTVBNzUzNTQzNTIwNjgxMThDMTc4N0QxQzY0Nzk1NDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz531lxAAAAAgklEQVR42mJhQAAOKAaBH1DMwIIsmV1U+R7EmdrXLghTyIQuCQJQNlicESrwnwELAJrEyPj//39HINsSiA3R5M8D8XFGJMexoyn4CXIDyJE/gFZ8x2UFE8iKKb1teeiSIDGo9QwMIAYQ54IcC8IgNkySEaYDybEMYMcxMu4HMQACDAAx3T2dCpdi7AAAAABJRU5ErkJggg==) no-repeat 50% 50%; }

.CustomSelect.ActiveSelect .sel_outer {
  border-color: #09f; }

/* Specific forms
----------------------------------------------------------- */
.ForgetPassword {
  font-size: 14px; }

#ContactForm {
  padding-right: 10px; }
  #ContactForm input, #ContactForm textarea {
    max-width: 100%;
    width: 100%; }

/* IE7 fixes
----------------------------------------------------------- */
.lt-ie8 .GroupItem > div {
  *width: 180px; }

.lt-ie8 .GroupItem > div > input,
.lt-ie8 .GroupItem > div > select {
  *width: 95%; }

* + html .FormItem {
  padding-bottom: 18px; }

* + html label,
* + html .label {
  margin-bottom: 0; }

* + html input,
* + html select,
* + html textarea {
  margin-bottom: -4px; }

.lt-ie10 .ReplacedSelect {
  padding: 0 !important; }

.lt-ie9 input[type="checkbox"],
.lt-ie9 input[type="radio"] {
  width: auto;
  height: auto; }

* + html .GroupItem {
  padding-bottom: 0; }

* + html .GroupItem > div {
  padding-bottom: 36px; }

* + html .FormHelp {
  margin-top: 0; }
