/*****************************************
  buttons
*****************************************/
button,
.button,
button:focus,
.button:focus{
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #da291c;
  border: 0.0625rem solid #da291c;
  font-family: 'A1Serif', Verdana, sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: normal;
  color: #fff;
  text-align: center;
  padding: 0.4375rem 1.25rem 0.5rem 1.25rem;
  transition: background-color 300ms ease-out 0s;
  cursor: pointer;
}
button:hover,
.button:hover{
  background-color: #ba2319;
}
button:active,
.button:active{
  background-color: #000;
}
@media only screen and (max-width: 46.625em){
  button.mobile-full,
  .button.mobile-full{
    width: 100%;
  }
  button.mobile-full.arrowright,
  .button.mobile-full.arrowright{
    padding-left: 3rem;
  }
}
button.arrowright,
button.arrowright:focus,
a.button.arrowright,
a.button.arrowright:focus{
  padding-right: 3rem;
}
button.arrowright:after,
a.button.arrowright:after{
  position: absolute;
  right: 0.9375rem;
  top: 50%;
  font-family: 'A1iconfont';
  content: '\e607';
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media only screen and (max-width: 46.625em){
  button.arrowright:after,
  a.button.arrowright:after{
    font-size: 0.9375rem;
  }
}
button.invert,
.button.invert,
button.invert:focus,
.button.invert:focus{
  background-color: #fff;
  color: #da291c;
}
button.invert:hover,
.button.invert:hover{
  background-color: #da291c;
  color: #fff;
}
button.invert:active,
.button.invert:active{
  background-color: #000;
}
button.invert-dark,
.button.invert-dark,
button.invert-dark:focus,
.button.invert-dark:focus{
  background-color: #fff;
  color: #000;
  border-color: #000;
}
button.invert-dark:hover,
.button.invert-dark:hover{
  background-color: #fff;
  color: #da291c;
  border-color: #da291c;
}

button.submit-search{
  color: #fff;
  font-size: 1.563rem;
  height: 2.5rem;
  width: 2.5rem;
}
button.submit-search:after{
  position: absolute;
  left: 0;
  right: 0;
  top: 0.375rem;
  font-family: 'A1iconfont';
  content:'\e624';
  color: #fff;
  height: 2rem;
  width: 100%;
  text-align: center;
  display: block;
}

/* disabled */
.button.disabled,
.button:disabled,
button.disabled,
button:disabled,
.button.disabled:hover,
.button:disabled:hover,
button.disabled:hover,
button:disabled:hover,
.button.disabled:focus,
.button:disabled:focus,
button.disabled:focus,
button:disabled:focus{
  background-color: #e46B67;
  border-color: #e46B67;
  opacity: 1;
}
.button.invert.disabled,
.button.invert:disabled,
button.invert.disabled,
button.invert:disabled,
.button.disabled.invert:hover,
.button:disabled.invert:hover,
button.disabled.invert:hover,
button:disabled.invert:hover,
.button.disabled.invert:focus,
.button:disabled.invert:focus,
button.disabled.invert:focus,
button:disabled.invert:focus{
  background-color: #fff;
  color: #e46B67;
}
.button.invert-dark.disabled,
.button.invert-dark:disabled,
button.invert-dark.disabled,
button.invert-dark:disabled,
.button.disabled.invert-dark:hover,
.button:disabled.invert-dark:hover,
button.disabled.invert-dark:hover,
button:disabled.invert-dark:hover,
.button.disabled.invert-dark:focus,
.button:disabled.invert-dark:focus,
button.disabled.invert-dark:focus,
button:disabled.invert-dark:focus{
  background-color: #fff;
  border-color: #bbb;
  color: #bbb;
}

/*****************************************
  form elements
*****************************************/
form .input-wrapper,
form .halfwidth-input-wrapper,
form .input-wrapper-floating-group,
form .input-wrapper-breaking-group{
  position: relative;
  margin-bottom: 1rem;
  z-index: 100;
}
form .halfwidth-input-wrapper .input-wrapper{
  margin-bottom: 0;
}
@media only screen and (max-width: 46.625em){
  form .halfwidth-input-wrapper .input-wrapper + .input-wrapper{
    margin-top: 1rem;
  }
}
form .input-wrapper-floating-group,
form .input-wrapper-breaking-group{
  display: block;
  clear: both;
}
form .input-wrapper-floating-group:after,
form .input-wrapper-breaking-group:after{
  clear: both;
  content: '';
  display: block;
}
/* textfield and textarea */
.styled-form .input-wrapper input[type="text"],
.styled-form .input-wrapper input[type="password"],
.styled-form .input-wrapper input[type="tel"],
.styled-form .input-wrapper input[type="email"],
.styled-form .input-wrapper textarea{
  padding: 1.438rem 0.8125rem 0.375rem 0.9375rem;
}
.styled-form .input-wrapper.has-error input[type="text"],
.styled-form .input-wrapper.has-error input[type="password"],
.styled-form .input-wrapper.has-error input[type="tel"],
.styled-form .input-wrapper.has-error input[type="email"],
.styled-form .input-wrapper.has-error textarea{
  background-color: #fff2f2;
  border-color: #da291c;
}
.styled-form .input-wrapper.has-validated input[type="text"],
.styled-form .input-wrapper.has-validated input[type="password"],
.styled-form .input-wrapper.has-validated input[type="tel"],
.styled-form .input-wrapper.has-validated input[type="email"],
.styled-form .input-wrapper.has-validated textarea{
  background-color: #f6faf2;
  border-color: #66a31b;
}
.styled-form .input-wrapper label{
  position: absolute;
  top: 0.9375rem;
  left: 0.9375rem;
  cursor: text;
  color: #808080;
  height: 1.313rem;
  width: 80%;
  white-space: nowrap;
  overflow: hidden;
  transition: top 150ms,font-size 150ms,color 150ms ease-in-out;
  text-overflow: ellipsis;
  z-index: 102;
}
.styled-form .input-wrapper input[type="text"]:not(.is-empty)+label,
.styled-form .input-wrapper input[type="text"]:focus+label,
.styled-form .input-wrapper input[type="password"]:not(.is-empty)+label,
.styled-form .input-wrapper input[type="password"]:focus+label,
.styled-form .input-wrapper input[type="tel"]:not(.is-empty)+label,
.styled-form .input-wrapper input[type="tel"]:focus+label,
.styled-form .input-wrapper input[type="email"]:not(.is-empty)+label,
.styled-form .input-wrapper input[type="email"]:focus+label,
.styled-form .input-wrapper.is-selected label{
  top: 0.5rem;
  font-size: 0.625rem
}
.styled-form .input-wrapper input{
  z-index: 101;
}

.styled-form .input-wrapper input[type="text"]:disabled,
.styled-form .input-wrapper input[type="password"]:disabled,
.styled-form .input-wrapper input[type="tel"]:disabled,
.styled-form .input-wrapper input[type="email"]:disabled{
  background-color: #efefef;
  border-color: #efefef;
}

.styled-form .input-wrapper .circle:before{
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  border: 0.0625rem solid #585858;
  border-radius: 50%;
  content: '';
  display: block;
  height: 100%;
  transition: color 150ms ease 0s, border-color 150ms ease 0s, background 150ms ease-in-out 0s;
  width: 100%;
}
.styled-form .input-wrapper .circle{
  position: absolute;
  left: -0.25rem;
  top: -0.25rem;
  border-radius: 50%;
  display: block;
  height: 1.5625rem;
  width: 1.5625rem;
  z-index: 100;
}
.styled-form .input-wrapper .circle:after{
  position: absolute;
  top: 0.3125rem;
  left: 0.3125rem;
  content: '*';
  font-size: 1rem;
  padding-left: 0.125rem;
  padding-top: 0.6rem;
  background-color: #fff;
  color: #808080;
  display: block;
  height: 1.3125rem;
  line-height: 0;
  transition: color 150ms ease 0s, border-color 150ms ease 0s, background 150ms ease-in-out 0s;
  width: 1.3125rem;
  z-index: 103;
}

.styled-form .input-wrapper.has-error .circle:before{
  background-color: #fff2f2;
  border-color: #da291c;
}
.styled-form .input-wrapper.has-validated .circle:before{
  background-color: #f6faf2;
  border-color: #66a31b;
}
.styled-form .input-wrapper.has-error .circle:after,
.styled-form .input-wrapper.has-validated .circle:after{
  font-family: 'A1iconfont';
  font-size: 0.75rem;
  padding-left: 0.125rem;
  padding-top: 0.5rem;
}
.styled-form .input-wrapper.has-error .circle:after{
  background-color: #fff2f2;
  content: '\e612';
  color: #da291c;
}
.styled-form .input-wrapper.has-validated .circle:after{
  background-color: #f6faf2;
  content: '\e610';
  color: #66a31b;
}
.styled-form .input-wrapper.loading-textfield:after{
  position: absolute;
  right: 0.8125rem;
  top: 0.875rem;
  width: 1.563rem;
  height: 1.563rem;
  background: url('/img/fres/common/loader.gif') no-repeat center center;
  background-size: 1.563rem;
  content: "";
  display: block;
}
.styled-form .input-wrapper.loading-textfield input{
  padding-right: 3.125rem;
}
.styled-form .input-wrapper.has-tooltip input{
  padding-right: 3rem;
}
.styled-form .input-wrapper.has-tooltip .tooltip{
  position: absolute;
  top: 0;
  right: 0;
  background: transparent none repeat;
  width: 3rem;
  height: 100%;
  margin: 0;
  display: block;
}
.styled-form .input-wrapper.has-tooltip .tooltip:before,
.styled-form .input-wrapper.has-tooltip .tooltip:after{
  position: absolute;
  right: 0.9375rem;
  top: 1rem;
  width: 1.0625rem;
  height: 1.0625rem;
  line-height: 1;
}
.styled-form .input-wrapper.has-tooltip .tooltip:before{
  background-color: #6295ac;
  content: '';
}
.styled-form .input-wrapper.has-tooltip .tooltip.invert:before{
  background-color: #6295ac;
}
.styled-form .input-wrapper.has-tooltip .tooltip:after{
  color: #fff;
  top: 0.4375rem;
  right: 1.188rem;
  left: auto;
  bottom: auto;
}

/* submit search */
.styled-form .input-wrapper.searchfield-wrapper input[type="text"],
.styled-form .input-wrapper.searchfield-wrapper input[type="password"],
.styled-form .input-wrapper.searchfield-wrapper input[type="tel"],
.styled-form .input-wrapper.searchfield-wrapper input[type="email"]{
  height: 2.5rem;
  padding: 0.75rem 3.25rem 0.625rem 0.9375rem;
}
form .input-wrapper .submit-search{
  position: absolute;
  right: 0;
  top: 0;
}
.styled-form .input-wrapper.searchfield-wrapper label{
  top: 0.625rem;
}
.no-js .styled-form .input-wrapper.searchfield-wrapper label{
  top: 0.0625rem;
  font-size: 0.625rem;
}
.no-js .styled-form .input-wrapper.searchfield-wrapper input[type="text"],
.no-js .styled-form .input-wrapper.searchfield-wrapper input[type="password"],
.no-js .styled-form .input-wrapper.searchfield-wrapper input[type="tel"],
.no-js .styled-form .input-wrapper.searchfield-wrapper input[type="email"]{
  padding: 0.6875rem 3.25rem 0.125rem 0.9375rem;
}

/* checkbox, radio */
form input[type="checkbox"]:focus + label,
form input[type="radio"]:focus + label{
  outline: 0.0625rem dotted;
}
form .input-wrapper-floating-group .input-checkbox,
form .input-wrapper-floating-group .input-radio{
  float: left;
  margin-bottom: 0.0625rem;
  margin-right: 0.625rem;
}
form .input-wrapper-breaking-group .input-checkbox,
form .input-wrapper-breaking-group .input-radio{
  float: none;
}
.input-checkbox label.label-element,
.input-radio label.label-element{
  position: relative;
  background: #fff;
  transition-property: background-color, border-color;
  transition-duration: 0.3s;
  transition-timing-function: linear;
  overflow: hidden;
  padding: 0.3125rem 0.3125rem 0.3125rem 2.188rem;
}

.input-checkbox input[type=checkbox] + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox] + input[type=hidden] + label.label-element .label-wrapper:before{
  position: absolute;
  top: 0.0625rem;
  width: 1.25rem;
  left: -2.125rem;
  background: url('/img/fres/common/r18_bg_checkbox.svg') no-repeat 0 0px;
  background-size: 1.25rem 6.25rem;
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 1.25rem;
  margin-right: 0.9375rem;
  margin-top: 0;
}
.no-svg .input-checkbox input[type=checkbox] + label.label-element .label-wrapper:before{
  background: url('/img/fres/common/bg_checkbox.png') no-repeat;
}
.input-checkbox input[type=checkbox].checked + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox].checked + input[type=hidden] + label.label-element .label-wrapper:before,
.input-checkbox.has-error input[type=checkbox].checked + label.label-element .label-wrapper:before,
.input-checkbox.has-error input[type=checkbox].checked + input[type=hidden] + label.label-element .label-wrapper:before,
.input-checkbox.has-error input[type=checkbox]:checked + label.label-element .label-wrapper:before,
.input-checkbox.has-error input[type=checkbox]:checked + input[type=hidden] + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox]:checked + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox]:checked + input[type=hidden] + label.label-element .label-wrapper:before{
  background-position: 0 -20px;
}
.input-checkbox input[type=checkbox]:disabled + label.label-element .label-wrapper:before{
  background-position: 0 -40px;
}
.input-checkbox.has-error input[type=checkbox] + label.label-element .label-wrapper:before{
  background-position: 0 -60px;
}
.input-checkbox input[type=checkbox].checked:disabled + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox].checked:disabled + input[type=hidden] + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox]:checked:disabled + label.label-element .label-wrapper:before,
.input-checkbox input[type=checkbox]:checked:disabled + input[type=hidden] + label.label-element .label-wrapper:before{
  background-position: 0 -80px;
}
.input-checkbox input[type=checkbox],
.input-radio input[type=radio]{
  height: 0.0625rem;
  margin: 0;
  position: absolute;
  width: 0.0625rem;
  left: -9999px;
}
.input-checkbox input[type=checkbox] + label,
.input-radio input[type=radio] + label{
  display: inline-block;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  height: auto;
}
.input-checkbox input[type=checkbox] + label:before,
.input-radio input[type=radio] + label:before{
  display: none;
}
.input-radio input[type=radio] + label.label-element .label-wrapper:before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 1.25rem;
  margin-right: 0.9375rem;
  margin-top: 0;
  position: absolute;
  top: 0.0625rem;
  width: 1.25rem;
  left: -2.125rem;
  background: url('/img/fres/common/r18_bg_radiobutton.svg') no-repeat 0 0px;
  background-size: 1.25rem 6.25rem;
}
.no-svg .input-radio input[type=radio] + label.label-element .label-wrapper:before{
  background: url('/img/fres/common/r18_bg_radiobutton.png') no-repeat 0 0px;
}
.input-radio input[type=radio].checked + label.label-element .label-wrapper:before,
.input-radio.has-error input[type=radio].checked + label.label-element .label-wrapper:before,
.input-radio.has-error input[type=radio]:checked + label.label-element .label-wrapper:before,
.input-radio input[type=radio]:checked + label.label-element .label-wrapper:before{
  background-position: 0 -20px;
}
.input-radio input[type=radio]:disabled + label.label-element .label-wrapper:before{
  background-position: 0 -40px;
}
.input-radio.has-error input[type=radio] + label.label-element .label-wrapper:before{
  background-position: 0 -60px;
}
.input-radio input[type=radio].checked:disabled + label.label-element .label-wrapper:before,
.input-radio input[type=radio]:checked:disabled + label.label-element .label-wrapper:before{
  background-position: 0 -80px;
}
.input-checkbox .label-wrapper,
.input-radio .label-wrapper{
  position: relative;
  display: block;
}
.input-checkbox .label-wrapper .label-text,
.input-radio .label-wrapper .label-text{
  display: inline-block;
}
.input-checkbox .label-wrapper .label-text,
.input-radio .label-wrapper .label-text{
  font-size: 0.75rem;
  color: #000;
  margin-right: 0.625rem;
}
@media only screen and (min-width: 46.625em){
  .input-checkbox .label-wrapper .label-text,
  .input-radio .label-wrapper .label-text{
    font-size: 0.875rem;
    margin-right: 0.9375rem;
  }
}
@media only screen and (min-width: 64em){
  .input-checkbox .label-wrapper .label-text,
  .input-radio .label-wrapper .label-text{
    margin-right: 1.25rem;
  }
}

/* select | select2 "styled-select" theme */
.select2-container--styled-select .select2-selection--single{
  background-color: #fff;
  height: 3.125rem;
  border: 1px solid #58585C;
  font-size: 0.875rem;
  line-height: normal;
  color: rgba(0, 0, 0, 0.75);
  outline: none;
}
.select2-container--styled-select .select2-selection--single .select2-selection__rendered{
  padding: 1.438rem 3.125rem 0.375rem 0.9375rem;
}

/* select | arrow */
.select2-container--styled-select .select2-selection__arrow{
  position: absolute;
  top: 0;
  right: 0;
  width: 3.125rem;
  height: 3.125rem;
}
.select2-container--styled-select .select2-selection__arrow b:before{
  position: absolute;
  top: 1.125rem;
  right: 1.25rem;
  content: '\e605';
  color: #da291c;
  display: block;
  font-family: A1iconfont;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
}
.styled-form .input-wrapper.has-validated .select2-container--styled-select .select2-selection__arrow b:before{
  color: #66a31b;
}

/* select | dropdown */
.select2-container--styled-select .select2-dropdown{
  border: 1px solid #58585C;
  border-radius: 0;
}
.select2-container--styled-select .select2-dropdown.select2-dropdown--below{
  margin-top: 3px;
}
.select2-container--styled-select .select2-dropdown.select2-dropdown--above{
  margin-top: -3px;
}

/* select | searchfield */
.select2-container--styled-select .select2-search--dropdown .select2-search__field{
  background-color: #fff;
  border: 0.0625rem solid #bbb;
  border-radius: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
  width: 100%;
  margin: 0;
  padding: 0.25rem;
  box-sizing: border-box;
  display: block;
  height: 2.3125rem;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  -moz-transition: border-color 0.15s linear, background 0.15s linear;
  -ms-transition: border-color 0.15s linear, background 0.15s linear;
  -o-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear;
}

/* select | results */
.select2-container--styled-select .select2-results__option{
  position: relative;
  padding: 10px 3.125rem 10px 14px;
}
.select2-container--styled-select .select2-results__option[aria-selected=true]{
  background: #efefef;
  color: #da291c;
}
.select2-container--styled-select .select2-results__option[aria-selected=true]:after{
  position: absolute;
  top: 0;
  right: 20px;
  content: '\e610';
  display: inline-block;
  font-family: A1iconfont;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 41px;
}
.select2-container--styled-select .select2-results__option.select2-results__option--highlighted{
  background: #efefef;
  color: #da291c;
}

/* select | label */
.select2-container--styled-select + label{
  pointer-events: none;
}

/* select | disabled */
.select2-container--styled-select.select2-container--disabled .select2-selection--single{
  background-color: #efefef;
  border-color: #efefef;
}
.select2-container--styled-select.select2-container--disabled .select2-selection__arrow b:before{
  color: #808080;
}

/* select | error */
.styled-form .input-wrapper.has-error .select2-container--styled-select .select2-selection--single{
  background-color: #fff2f2;
  border-color: #da291c;
}
.styled-form .input-wrapper.has-error .select2-container--styled-select .select2-selection__arrow b:before{
  color: #da291c;
}

/* select | validated */
.styled-form .input-wrapper.has-validated .select2-container--styled-select .select2-selection--single{
  background-color: #f6faf2;
  border-color: #66a31b;
}

/* error message */
.styled-form-error-message{
  font-family: 'A1Sans', Verdana, sans-serif;
  color: #da291c;
  font-size: 0.875rem;
  line-height: 1.33;
  margin-left: 0;
  margin-right: 0;
}
.styled-form-error-message ul{
  margin-bottom: 1.875rem;
  margin-top: 0.625rem;
}
.styled-form-error-message ul li{
  color: #da291c;
}

/* required field */
.styled-form .additional-info-required-field{
  margin-bottom: 0.8125rem;
  margin-top: -0.75rem;
  color: #808080;
  font-size: 0.6875rem;
  line-height: 1.82;
}
@media only screen and (max-width: 48em){
  .styled-form .additional-info-required-field{
    margin-bottom: 0.9375rem;
    margin-top: -0.3125rem;
    font-size: 0.625rem;
    line-height: 1.6;
  }
}

/* error-site-search */
.error-site-search{
  position: relative;
  margin-right: 3.125rem;
  margin-bottom: 1rem;
  z-index: 50;
}
@media only screen and (max-width: 46.625em){
  .error-site-search{
    margin-right: 0;
  }
}
.styled-form.error-site-search .input-wrapper{
  position: relative;
  z-index: 51;
}
.styled-form.error-site-search .input-wrapper input[type="text"]{
  border-color: #da291c;
  padding-right: 4.063rem;
  z-index: 52;
}
.styled-form.error-site-search .submit-search{
  position: absolute;
  right: 0;
  top: 0;
  width: 3.125rem;
  height: 3.125rem;
  z-index: 53;
}
.styled-form.error-site-search .submit-search:after{
  top: 0.75rem;
}

/*****************************************
  password-safety-level-element
*****************************************/
.password-safety-level-element:before,
.password-safety-level-element:after{
  clear: both;
  content: '';
  display: block;
}
.password-safety-level-element{
  margin-bottom: 1rem;
}
.password-safety-level-element .password-safety-graphic{
  background: url('/img/fres/common/bg_password_safety_level.png') no-repeat left top;
  width: 16.25rem;
  height: 1.5rem;
  overflow: hidden;
  margin-bottom: 0.3125rem;
}
.password-safety-level-element.safety-level-good .password-safety-graphic{
  background-position: 0 0;
}
.password-safety-level-element.safety-level-good p{
  color: #559902;
}
.password-safety-level-element.safety-level-middle .password-safety-graphic{
  background-position: 0 -1.563rem;
}
.password-safety-level-element.safety-level-middle p{
  color: #ff9f00;
}
.password-safety-level-element.safety-level-poor .password-safety-graphic{
  background-position: 0 -3.125rem;
}
.password-safety-level-element.safety-level-poor p{
  color: #ff0100;
}

/*****************************************
  tooltip
*****************************************/
.tooltip{
  position: relative;
  background: #6295ac;
  color: #fff;
  cursor: help;
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  height: 17px;
  width: 17px;
  line-height: 1;
  text-align: center;
  padding: 0;
  left: inherit;
  margin-top: -2px;
  z-index:19;
}
.tooltip.invert{
  background: #6295ac;
}
.tooltip:hover{
  background: #ba2319;
}
.tooltip:after{
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
  content: '\e621';
  display: inline-block;
  font-family: 'A1iconfont';
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  font-size: 0.75rem;
  speak: none;
  text-transform: none;
  padding: 12px 10px 8px;
}
.tooltipster-default{
  border: 0.0625rem solid #da291c;
  background: #fff;
  color: #000;
}

/* use next selector to style things like font-size and line-height */
.tooltipster-default .tooltipster-content{
  font-family: 'A1Sans', Verdana, sans-serif;
  font-size: 14px;
  line-height: 16px;
  padding: 1rem 1.25rem;
  overflow: hidden;
}

/* next selector defines the color of the border on the outside of the arrow; this will automatically 
match the color and size of the border set on the main tooltip styles. Set display: none; if you would like 
a border around the tooltip but no border around the arrow */
/*.tooltipster-default .tooltipster-arrow .tooltipster-arrow-border{
  border-color: ... !important;
}*/

/* If you're using the icon option, use this next selector to style them */
.tooltipster-icon{
  cursor: help;
  margin-left: 4px;
}

/* This is the base styling required to make all Tooltipsters work */
.tooltipster-base{
  position: absolute;
  left: 0;
  top: 0;
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
  pointer-events: none;
  width: auto;
  overflow: visible;
  z-index: 801;
}
@media only screen and (max-width: 46.625em){
  .tooltipster-base{
    margin-left: 15px;
    margin-right: 15px;
  }
}

.tooltipster-base .tooltipster-content{
  overflow: hidden;
}
.tooltipster-base .tooltipster-content .small,
.tooltipster-base .tooltipster-content small{
  font-size: 0.625rem;
}

/* These next classes handle the styles for the little arrow attached to the tooltip. By default, the arrow will inherit
the same colors and border as what is set on the main tooltip itself. */
.tooltipster-arrow{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.tooltipster-arrow span,
.tooltipster-arrow-border{
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}
.tooltipster-arrow-top span,
.tooltipster-arrow-top-right span,
.tooltipster-arrow-top-left span{
  bottom: -7px;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-top: 8px solid;
}
.tooltipster-arrow-top .tooltipster-arrow-border,
.tooltipster-arrow-top-right .tooltipster-arrow-border,
.tooltipster-arrow-top-left .tooltipster-arrow-border{
  bottom: -8px;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-top: 9px solid;
}
.tooltipster-arrow-bottom span,
.tooltipster-arrow-bottom-right span,
.tooltipster-arrow-bottom-left span{
  top: -7px;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-bottom: 8px solid;
}
.tooltipster-arrow-bottom .tooltipster-arrow-border,
.tooltipster-arrow-bottom-right .tooltipster-arrow-border,
.tooltipster-arrow-bottom-left .tooltipster-arrow-border{
  top: -7px;
  border-left: 9px solid transparent !important;
  border-right: 9px solid transparent !important;
  border-bottom: 9px solid;
}
.tooltipster-arrow-top span,
.tooltipster-arrow-top .tooltipster-arrow-border,
.tooltipster-arrow-bottom span,
.tooltipster-arrow-bottom .tooltipster-arrow-border{
  left: 0;
  right: 0;
  margin: 0 auto;
}
.tooltipster-arrow-top-left span,
.tooltipster-arrow-bottom-left span{
  left: 6px;
}
.tooltipster-arrow-top-left .tooltipster-arrow-border,
.tooltipster-arrow-bottom-left .tooltipster-arrow-border{
  left: 5px;
}
.tooltipster-arrow-top-right span,
.tooltipster-arrow-bottom-right span{
  right: 6px;
}
.tooltipster-arrow-top-right .tooltipster-arrow-border,
.tooltipster-arrow-bottom-right .tooltipster-arrow-border{
  right: 5px;
}
.tooltipster-arrow-left span,
.tooltipster-arrow-left .tooltipster-arrow-border{
  top: 50%;
  right: -7px;
  margin-top: -7px;
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-left: 8px solid;
}
.tooltipster-arrow-left .tooltipster-arrow-border{
  margin-top: -8px;
  border-top: 9px solid transparent !important;
  border-bottom: 9px solid transparent !important;
  border-left: 9px solid;
}
.tooltipster-arrow-right span,
.tooltipster-arrow-right .tooltipster-arrow-border{
  top: 50%;
  left: -7px;
  margin-top: -7px;
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-right: 8px solid;
}
.tooltipster-arrow-right .tooltipster-arrow-border{
  border-top: 9px solid transparent !important;
  border-bottom: 9px solid transparent !important;
  border-right: 9px solid;
  margin-top: -8px;
}
/* Some CSS magic for the awesome animations - feel free to make your own custom animations and reference it in your Tooltipster settings! */
.tooltipster-fade{
  opacity: 0;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
}
.tooltipster-fade-show{
  opacity: 1;
}

/*****************************************
  lightbox
*****************************************/
.reveal-modal{
  padding: 0;
  width: 99%;
}
.reveal-modal .close-reveal-modal{
  color: #da291c;
  /*font-size: 1.5rem; */
  transition: color 300ms ease 0s;
}
.reveal-modal .close-reveal-modal:hover{
  color: #ba2319;
}
@media only screen and (max-width: 46.625em){
  .reveal-modal{
    left: -100%;
    transition: all .5s ease;
    min-height: auto;
  }
  .reveal-modal.open{
    left: 0;
  }
  .reveal-modal .close-reveal-modal{
    right: 0.75rem;
    top: 0.1875rem;
  }
}
.reveal-modal-header{
  padding: 1.875rem 3.75rem 1.5625rem 1.875rem;
}
@media only screen and (max-width: 48em){
  .reveal-modal-header{
    padding: 1.25rem 3.438rem 0.9375rem 1.25rem;
  }
}
@media only screen and (max-width: 46.625em){
  .reveal-modal-header{
    padding: 0.9375rem 2.625rem 0.625rem 0.9375rem;
  }
}
.reveal-modal-header h2{
  margin-bottom: 0;
}
.reveal-modal-content{
  padding: 1.875rem 1.875rem 1.5625rem;
}
@media only screen and (max-width: 48em){
  .reveal-modal-content{
    padding: 1.25rem 1.25rem 0.9375rem;
  }
}
@media only screen and (max-width: 46.625em){
  .reveal-modal-content{
    padding: 0.9375rem 0.9375rem 0.625rem;
  }
}
.reveal-modal-hr{
  border-color: #efefef;
  margin: 0;
}
