/**
 * @file
 * 'Master' stylesheet.
 *
 * Used for stitching the partials together.
 */
/**
 * @file
 * Foundation + custom vars.
 *
 * NOTE:
 * This file is a copy of
 * [bower_dir]/foundation-sites/scss/settings/settings.scss
 * ("foundation-sites": "6.1.2"), and this is the one being used instead of that
 * one.
 *
 * This is now the place to edit/customize all the Foundation variables.
 *
 * Also, I think we could add our custom vars here too, before and after the
 * Foundation bits.
 */
/**
 * @file
 * Foundation + custom vars.
 *
 * NOTE:
 * This file is a copy of
 * [bower_dir]/foundation-sites/scss/settings/settings.scss
 * ("foundation-sites": "6.1.2"), and this is the one being used instead of that
 * one.
 *
 * This is now the place to edit/customize all the Foundation variables.
 *
 * Also, I think we could add our custom vars here too, before and after the
 * Foundation bits.
 */
/* This stylesheet generated by Transfonter (http://transfonter.org) on October 18, 2016 11:53 AM */
@font-face {
  font-family: 'Myriad Pro';
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Regular.eot");
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Regular.eot?#iefix") format("embedded-opentype"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Regular.woff") format("woff"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Myriad Pro';
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Semibold.eot");
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Semibold.eot?#iefix") format("embedded-opentype"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Semibold.woff") format("woff"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Myriad Pro';
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Bold.eot");
  src: url("../../../zurb_base/static-assets/fonts/MyriadPro-Bold.eot?#iefix") format("embedded-opentype"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Bold.woff") format("woff"), url("../../../zurb_base/static-assets/fonts/MyriadPro-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}

body {
  font-size: 18px;
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
  font-size: 16px;
  line-height: 20px;
  padding: 11px 15px 7px 15px;
  height: auto;
  border: 1px solid #efefef;
  margin: 0;
  max-width: 100%;
  width: 100% !important;
}

[type='text'][type='date'], [type='password'][type='date'], [type='date'][type='date'], [type='datetime'][type='date'], [type='datetime-local'][type='date'], [type='month'][type='date'], [type='week'][type='date'], [type='email'][type='date'], [type='number'][type='date'], [type='search'][type='date'], [type='tel'][type='date'], [type='time'][type='date'], [type='url'][type='date'], [type='color'][type='date'], textarea[type='date'] {
  height: 40px;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus {
  border: 1px solid #afafaf;
}

@media screen and (min-width: 40em) {
  [type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
    width: auto !important;
  }
}

textarea {
  width: 100%;
  line-height: 1.4;
}

input:-webkit-autofill,
input:hover:-webkit-autofill,
input:focus:-webkit-autofill,
textarea:-webkit-autofill,
textarea:hover:-webkit-autofill,
textarea:focus:-webkit-autofill,
select:-webkit-autofill,
select:hover:-webkit-autofill,
select:focus:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f9f9f9 inset;
  -webkit-text-fill-color: #363636;
}

.button-group {
  margin: 0;
}

.button-group .button {
  margin: 0;
  font-size: 16px;
}

table {
  margin-bottom: 40px;
  border-radius: 0;
  border: none;
}

table thead, table tfoot, table tbody {
  color: #363636;
  background: none;
  border: none;
}

table thead tr th, table tfoot tr th, table tbody tr th {
  font-size: 16px;
  font-weight: 600;
  padding: 12px 20px 8px 20px;
}

table tbody {
  border: none;
}

table tbody tr td {
  font-size: 18px;
  font-weight: normal;
  padding: 12px 20px 8px 20px;
  border: none;
  border-bottom: 1px solid #efefef;
}

table tbody tr:first-child td {
  border-top: 1px solid #efefef;
}

table tbody tr:nth-child(even) {
  background: none;
}

.region-wrapper {
  padding: 0 10px;
}

@media screen and (min-width: 40em) {
  .region-wrapper {
    padding: 0 40px;
  }
}

@media screen and (min-width: 64em) {
  .region-wrapper {
    padding: 0 40px;
  }
}

@media screen and (min-width: 80em) {
  .region-wrapper {
    padding: 0 80px;
  }
}

.column-block {
  /* @include grid-column-margin; */
  margin-top: 20px;
}

.column-block:nth-child(-n+1) {
  margin-top: 0;
}

@media screen and (min-width: 40em) {
  .column-block {
    margin-top: 40px;
  }
  .column-block.medium-12:nth-child(-n+1) {
    margin-top: 0;
  }
  .column-block.medium-6:nth-child(-n+2) {
    margin-top: 0;
  }
  .column-block.medium-4:nth-child(-n+3) {
    margin-top: 0;
  }
  .column-block.medium-3:nth-child(-n+4) {
    margin-top: 0;
  }
}

@media screen and (min-width: 64em) {
  .column-block {
    margin-top: 40px;
  }
  .column-block.large-12:nth-child(-n+1) {
    margin-top: 0;
  }
  .column-block.large-6:nth-child(-n+2) {
    margin-top: 0;
  }
  .column-block.large-4:nth-child(-n+3) {
    margin-top: 0;
  }
  .column-block.large-3:nth-child(-n+4) {
    margin-top: 0;
  }
}

body.env-dev .page-header {
  background-image: url(../../static-assets/images/dev.png);
  background-repeat: repeat;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

#main {
  min-height: 500px;
}

h1 {
  color: #0071b7;
  font-size: 32px;
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
}

@media screen and (min-width: 40em) {
  h1 {
    font-size: 42px;
  }
}

@media screen and (max-width: 39.9375em) {
  .no-js .top-bar {
    display: none;
  }
}

@media screen and (min-width: 40em) {
  .no-js .title-bar {
    display: none;
  }
}

a, a:hover {
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

p {
  font-size: 18px;
  line-height: 1.4;
  margin: 0;
}

.paragraph, form, .node--filepool {
  font-size: 18px;
  line-height: 1.4;
}

.paragraph h2, form h2, .node--filepool h2 {
  font-size: 32px;
  padding-bottom: 40px;
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
}

@media screen and (min-width: 40em) {
  .paragraph h2, form h2, .node--filepool h2 {
    font-size: 42px;
    padding-bottom: 60px;
  }
}

.paragraph h3, form h3, .node--filepool h3 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .paragraph h3, form h3, .node--filepool h3 {
    padding-bottom: 40px;
  }
}

.paragraph h3 strong, form h3 strong, .node--filepool h3 strong {
  font-weight: normal;
}

@media screen and (min-width: 40em) {
  .paragraph .field-name-field-body, form .field-name-field-body, .node--filepool .field-name-field-body {
    padding-right: 0;
  }
}

@media screen and (min-width: 64em) {
  .paragraph .field-name-field-body, form .field-name-field-body, .node--filepool .field-name-field-body {
    padding-right: 40px;
  }
}

@media screen and (min-width: 80em) {
  .paragraph .field-name-field-body, form .field-name-field-body, .node--filepool .field-name-field-body {
    padding-right: 80px;
  }
}

.paragraph .field-name-field-body .field-item > h3, form .field-name-field-body .field-item > h3, .node--filepool .field-name-field-body .field-item > h3 {
  padding-top: 0;
}

@media screen and (min-width: 40em) {
  .paragraph .field-name-field-body .field-item > h3, form .field-name-field-body .field-item > h3, .node--filepool .field-name-field-body .field-item > h3 {
    padding-top: 20px;
  }
}

.paragraph .field-name-field-body .field-item > h3:first-child, form .field-name-field-body .field-item > h3:first-child, .node--filepool .field-name-field-body .field-item > h3:first-child {
  padding-top: 0;
  /* no padding-top for first h3 */
}

.paragraph h4, form h4, .node--filepool h4 {
  font-size: 20px;
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding-bottom: 20px;
}

.paragraph h4 strong, form h4 strong, .node--filepool h4 strong {
  font-weight: normal;
}

.paragraph p, form p, .node--filepool p {
  margin: 0;
  padding-bottom: 20px;
}

.paragraph p:last-child, form p:last-child, .node--filepool p:last-child {
  padding-bottom: 0;
}

.paragraph img, form img, .node--filepool img {
  width: 100%;
}

.paragraph .text-formatted ul, form .text-formatted ul, .node--filepool .text-formatted ul {
  padding: 0;
  padding-bottom: 20px;
  margin: 0;
  list-style: none;
}

.paragraph .text-formatted ul li, form .text-formatted ul li, .node--filepool .text-formatted ul li {
  text-indent: 0;
  padding-bottom: 5px;
  padding-left: 30px;
  position: relative;
}

.paragraph .text-formatted ul li:before, form .text-formatted ul li:before, .node--filepool .text-formatted ul li:before {
  display: block;
  width: 6px;
  height: 4px;
  background-color: #0071b7;
  position: absolute;
  left: 8px;
  top: 10px;
  content: " ";
}

.paragraph .file, form .file, .node--filepool .file {
  position: relative;
  background: none;
  min-height: auto;
  display: block;
  padding-left: 45px;
  padding-top: 10px;
  margin-bottom: 10px;
}

.paragraph .file:before, form .file:before, .node--filepool .file:before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: FontAwesome;
  font-size: 30px;
  content: "\f016";
  text-align: center;
  color: #0071b7;
  display: block;
  width: 40px;
  height: 40px;
  line-height: 30px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.paragraph .file:hover:before, form .file:hover:before, .node--filepool .file:hover:before {
  color: #005284;
}

.paragraph .file.pdf:before, form .file.pdf:before, .node--filepool .file.pdf:before {
  content: "\f1c1";
  /* PDF */
}

.paragraph .file.image:before, form .file.image:before, .node--filepool .file.image:before {
  content: "\f1c5";
  /* PNG */
}

.paragraph .file.txt:before, form .file.txt:before, .node--filepool .file.txt:before {
  content: "\f0f6";
  /* TXT */
}

.paragraph .file.xls:before, form .file.xls:before, .node--filepool .file.xls:before {
  content: "\f1c3";
  /* XLSX */
}

.paragraph .file.doc:before, form .file.doc:before, .node--filepool .file.doc:before {
  content: "\f1c2";
  /* DOCX */
}

.section--with-background.background--white h2,
.section--with-background.background--grey h2 {
  color: #0071b7;
}

.section--with-background.background--dark-grey h2, .section--with-background.background--dark-grey h3, .section--with-background.background--dark-grey h4, .section--with-background.background--dark-grey p, .section--with-background.background--dark-grey ul {
  color: white;
}

.button {
  border: none;
  vertical-align: baseline;
  margin: 0;
  padding: 12px 20px 8px 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  text-transform: uppercase;
  background: linear-gradient(to bottom, #0071b7 0%, #005284 100%);
  border-radius: 1px;
  color: white;
  position: relative;
  z-index: 1;
  outline: none;
}

.button:before {
  transition: background-color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 82, 132, 0);
  z-index: -1;
}

.button:hover:before, .button:focus:before {
  background-color: #005284;
}

.button.secondary {
  background: linear-gradient(to bottom, #9c9c9c 0%, #838383 100%);
  color: white;
}

.button.secondary:hover:before, .button.secondary:focus:before {
  background-color: #838383;
}

.button.active {
  background: linear-gradient(to bottom, #363636 0%, #1d1d1d 100%);
  color: white;
}

.button.active:hover:before, .button.active:focus:before {
  background-color: #005284;
}

.contextual-region .contextual {
  display: none;
}

.contextual-region:hover .contextual {
  display: block;
}

.field-paragraph--field-iframe iframe {
  border: none;
}

.node--document .field-label {
  font-weight: bold;
  margin-bottom: 8px;
}

.node--document .field-wrapper {
  margin-bottom: 8px;
}

.button--light {
  background: #9c9c9c;
}

.calculator-form .form-select {
  border: 1px solid #e9e9e9;
}

.calculator-form .form-select:focus {
  border-color: darkgray;
}

.calculator-form .form-float {
  margin-bottom: 1rem;
}

.calculator-form .form-float input[disabled],
.calculator-form .form-float input[type=number].form-text {
  max-width: 110px;
}

@media screen and (max-width: 39.9375em) {
  .calculator-form .form-float input[disabled],
  .calculator-form .form-float input[type=number].form-text {
    max-width: 75%;
  }
}

.calculator-form .form-float input[disabled],
.calculator-form .form-float input[type=number].form-text, .calculator-form .form-float label {
  display: inline-block;
}

.calculator-form .form-float label {
  font-weight: normal;
  padding-left: 4px;
}

.calculator-form .form-float input[disabled] {
  border: none;
}

.calculator-form .small {
  font-size: 14px;
}

.calculator-button {
  width: 36px;
  height: 36px;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: transparent;
}

@media screen and (max-width: 39.9375em) {
  .calculator-button {
    width: 100%;
  }
}

.calculator-button.-add {
  color: #74b739;
}

@media screen and (max-width: 39.9375em) {
  .calculator-button.-add {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #74b739;
    color: white;
  }
}

.calculator-button.-add:hover, .calculator-button.-add:focus {
  color: #0071b7;
}

.calculator-button.-remove {
  color: #dd1d1d;
}

@media screen and (max-width: 39.9375em) {
  .calculator-button.-remove {
    background: #dd1d1d;
    color: white;
  }
}

.calculator-button.-remove:hover, .calculator-button.-remove:focus {
  color: #0071b7;
}

/**
 *
 */
.calculator-table {
  position: relative;
}

@media screen and (min-width: 40em) {
  .calculator-table tbody tr:nth-child(odd) td {
    background: #f2f2f2;
  }
}

@media screen and (max-width: 39.9375em) {
  .calculator-table .form-float {
    margin-bottom: 0;
  }
  .calculator-table thead tr th {
    display: none;
  }
  .calculator-table thead tr th:last-child {
    display: block;
  }
  .calculator-table tbody tr td {
    display: block;
  }
  .calculator-table tbody tr td:before {
    content: attr(data-label);
    display: block;
    width: 100%;
    font-weight: 600;
    font-size: 16px;
  }
  .calculator-table.-simulation {
    counter-reset: simCounter;
  }
  .calculator-table.-simulation thead {
    display: none;
  }
  .calculator-table.-simulation tbody tr {
    counter-increment: simCounter;
  }
  .calculator-table.-simulation tbody tr td {
    border-top: none;
    border-left: 1px solid #f2f2f2;
    border-right: 1px solid #f2f2f2;
    position: relative;
  }
  .calculator-table.-simulation tbody tr td:last-child {
    margin-bottom: 2rem;
  }
  .calculator-table.-simulation tbody tr td:first-child {
    border-top: 1px solid #f2f2f2;
  }
  .calculator-table.-simulation tbody tr td:first-child:after {
    top: -10px;
    left: -10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    content: counter(simCounter);
    background: #0071b7;
    color: white;
    font-size: 14px;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: absolute;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .calculator-table.-reductions tbody tr td {
    background: white;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .calculator-table.-reductions tbody tr td, .calculator-table.-reductions tbody tr td:last-child, .calculator-table.-reductions tbody tr td:first-child {
    border: none;
  }
  .calculator-table.-reductions tbody tr td:last-child {
    padding: 1rem 0 0 0;
  }
  .calculator-table.-reductions tbody tr td:last-child:before {
    display: none;
  }
  .calculator-table.-reductions tr {
    position: relative;
  }
  .calculator-table.-reductions tr td:last-child {
    margin-bottom: 2rem;
  }
  .calculator-table.-reductions tr:last-child td:last-child {
    margin-bottom: 5rem;
  }
}

.calculator {
  padding-top: 2rem;
}

.calculator .intro {
  margin-bottom: 4rem;
}

.calculator .simulation {
  transition: opacity .3s ease-in-out;
}

.calculator .simulation.-hide {
  opacity: 0;
}

.calculator .chart {
  width: 100%;
  height: 430px;
}

.calculator .no-result {
  width: 100%;
  min-height: 200px;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-column-align: center;
      justify-items: center;
}

.calculator .no-result.-hide {
  display: none;
}

.calculator .no-result .alert-box {
  padding: 1rem 1.5rem;
  background: #ff6700;
  color: white;
}

.calculator .no-result .alert-box .fa {
  margin-right: 1rem;
}

.calculator .submit {
  margin-top: 2rem;
}

@media screen and (max-width: 39.9375em) {
  .calculator .columns {
    margin-bottom: 1rem;
  }
}

.commerce-product--full .short-description {
  margin-top: 20px;
}

@media screen and (min-width: 40em) {
  .commerce-product--full .short-description {
    margin-top: 0;
  }
}

.commerce-product--full .details {
  text-align: right;
  margin-top: 20px;
}

@media screen and (min-width: 40em) {
  .commerce-product--full .details {
    margin-top: 40px;
  }
}

@media screen and (min-width: 64em) {
  .commerce-product--full .details {
    margin-top: 0;
  }
}

.commerce-product--full .field-commerce-product-variation--price-note {
  font-size: 14px;
  position: relative;
  margin: -1rem 0 1rem;
}

.commerce-product--full .field-commerce-product-variation--price .field-label,
.commerce-product--full .field-commerce-product-variation--sku .field-label {
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 5px;
  display: inline-block;
}

.commerce-product--full .field-commerce-product-variation--price .field-items,
.commerce-product--full .field-commerce-product-variation--sku .field-items {
  font-size: 18px;
  display: inline-block;
}

.commerce-product--full .field-commerce-product-variation--price {
  margin-bottom: 20px;
}

.commerce-product--full .field-commerce-product-variation--price .field-label {
  display: none;
}

.commerce-product--full .field-commerce-product-variation--price .field-items {
  font-size: 24px;
  line-height: 1.2;
}

.commerce-product--full .form-actions {
  margin-top: 20px;
}

.commerce-product--full .form-actions .button {
  margin: 0;
}

.teaser--box.teaser--product.teaser--small {
  overflow: hidden;
}

.teaser--box.teaser--product.teaser--small .field-name-field-short-description {
  display: none;
}

.teaser--box.teaser--product.teaser--small .form-wrapper {
  margin: 0;
}

.teaser--box.teaser--product.teaser--small .field-name-price {
  font-size: 24px;
  line-height: 1;
  text-align: right;
  padding-bottom: 10px;
}

.teaser--box.teaser--product.teaser--small .field-name-price .field-label {
  display: none;
}

.teaser--box.teaser--product.teaser--small .form-actions {
  margin: 0;
  padding: 0;
  text-align: right;
}

.teaser--box.teaser--product.teaser--small .form-actions .form-submit {
  margin: 0;
}

.cart-form .views-field-unit-price__number,
.cart-form .views-field-edit-quantity,
.cart-form .views-field-total-price__number {
  text-align: right;
}

.cart-form .views-field-unit-price__number input,
.cart-form .views-field-edit-quantity input,
.cart-form .views-field-total-price__number input {
  display: inline-block;
  text-align: right;
}

.cart-form .delete-order-item {
  background: none;
  color: #9c9c9c;
  padding: 0;
}

.cart-form .delete-order-item:before {
  display: none;
}

.cart-form .delete-order-item:focus, .cart-form .delete-order-item:hover {
  color: #838383;
}

.form-wrapper__login-option {
  padding: 0;
}

.form-wrapper__login-option legend {
  margin-bottom: 40px;
}

.form-wrapper__login-option legend span {
  font-size: 24px;
  font-weight: normal;
}

.form-wrapper__login-option .fieldset-wrapper {
  font-size: 0;
}

.form-wrapper__login-option .fieldset-wrapper > a {
  display: inline-block;
  height: 40px;
  font-size: 16px;
  line-height: 20px;
  padding: 12px 20px 8px 20px;
  box-sizing: border-box;
}

.checkout-progress {
  list-style: none;
  margin: 0;
  font-size: 0;
  margin-bottom: 40px;
}

@media screen and (min-width: 40em) {
  .checkout-progress {
    margin-bottom: 80px;
  }
}

.checkout-progress .checkout-progress--step {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  box-sizing: border-box;
  padding-top: 4px;
  height: 20px;
  padding-right: 30px;
  position: relative;
  margin-right: 10px;
}

.checkout-progress .checkout-progress--step:after {
  position: absolute;
  top: 0;
  right: 0;
  font-family: FontAwesome;
  font-size: 16px;
  content: "\f0da";
  text-align: center;
  color: #c2c2c2;
  display: block;
  width: 20px;
  height: 20px;
  line-height: 20px;
}

.checkout-progress .checkout-progress--step:last-child {
  margin-right: 0;
}

.checkout-progress .checkout-progress--step:last-child:after {
  display: none;
}

.checkout-progress .checkout-progress--step.checkout-progress--step__previous {
  color: #c2c2c2;
}

.checkout-progress .checkout-progress--step.checkout-progress--step__current {
  color: #0071b7;
}

.checkout-progress .checkout-progress--step.checkout-progress--step__next {
  color: #c2c2c2;
}

header.page-header > .region-wrapper {
  padding: 0 10px;
}

@media screen and (min-width: 64em) {
  header.page-header > .region-wrapper {
    padding: 0 40px;
  }
}

@media screen and (min-width: 80em) {
  header.page-header > .region-wrapper {
    padding: 0 80px;
  }
}

header.page-header .header-bar {
  position: relative;
  min-height: 80px;
}

@media screen and (min-width: 40em) {
  header.page-header .header-bar {
    min-height: 100px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .header-bar {
    min-height: 120px;
  }
}

header.page-header .logo-wrapper {
  display: inline-block;
  padding-left: 60px;
  padding-top: 15px;
}

@media screen and (min-width: 40em) {
  header.page-header .logo-wrapper {
    padding-left: 70px;
    padding-top: 20px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .logo-wrapper {
    padding-left: 0;
  }
}

header.page-header .logo-wrapper a {
  display: inline-block;
}

header.page-header .logo-wrapper img {
  max-width: none;
  height: 50px;
}

@media screen and (min-width: 40em) {
  header.page-header .logo-wrapper img {
    height: 60px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .logo-wrapper img {
    height: 80px;
  }
}

header.page-header .top-navigation {
  font-size: 16px;
  pointer-events: none;
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  color: #9c9c9c;
}

header.page-header .top-navigation * {
  pointer-events: auto;
}

@media screen and (min-width: 40em) {
  header.page-header .top-navigation {
    top: 30px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .top-navigation {
    top: 10px;
  }
}

header.page-header .top-navigation a {
  color: #9c9c9c;
}

header.page-header .top-navigation a:hover {
  color: #838383;
}

header.page-header .top-navigation .search-icon,
header.page-header .top-navigation .region-user-menu,
header.page-header .top-navigation .block-language,
header.page-header .top-navigation .menu--account {
  float: right;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart {
  float: right;
  margin-left: 20px;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart .cart-block--summary .cart-block--link__expand {
  font-size: 0;
  display: block;
  vertical-align: top;
  padding: 0 0 0 20px;
  height: 40px;
  position: relative;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart .cart-block--summary .cart-block--link__expand .cart-block--summary__icon {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart .cart-block--summary .cart-block--link__expand .cart-block--summary__icon .fa {
  line-height: 20px;
  width: 20px;
  text-align: center;
  font-size: 16px;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart .cart-block--summary .cart-block--link__expand .cart-block--summary__count {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  color: white;
  background: #0071b7;
  padding: 5px 6px 3px 6px;
  border-radius: 10px;
  box-sizing: border-box;
  min-width: 20px;
  text-align: center;
  top: 0;
}

header.page-header .top-navigation .region-user-menu .block-gh-commerce-cart .cart-block--summary .cart-block--link__expand:hover .cart-block--summary__count {
  background: #005284;
}

header.page-header .top-navigation .region-user-menu,
header.page-header .top-navigation .block-language {
  display: none;
}

@media screen and (min-width: 64em) {
  header.page-header .top-navigation .region-user-menu,
  header.page-header .top-navigation .block-language {
    display: block;
  }
}

header.page-header .site-switch {
  float: right;
  text-transform: uppercase;
  padding: 12px 0px 8px 0;
  margin-right: 20px;
  line-height: 20px;
}

@media screen and (max-width: 63.9375em) {
  header.page-header .site-switch {
    display: none;
  }
}

header.page-header .main-navigation {
  position: absolute;
  right: 0;
  top: 30px;
  display: none;
}

@media screen and (min-width: 40em) {
  header.page-header .main-navigation {
    top: 50px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .main-navigation {
    top: 70px;
    display: block;
  }
}

header.page-header .region-mood-image {
    overflow: hidden;
    background-color: #9c9c9c;
    position: relative;
    /*background-image: url(../../static-assets/images/default-cover.jpg);*/
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

header.page-header .region-mood-image .image-overlay {
  display: block;
  content: "";
}

@media screen and (min-width: 64em) {
  header.page-header .region-mood-image .image-overlay {
    min-height: 90px;
  }
}

header.page-header .region-mood-image.searchblock {
  min-height: 210px;
}

@media screen and (min-width: 40em) {
  header.page-header .region-mood-image.searchblock {
    min-height: 160px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .region-mood-image.searchblock {
    min-height: 90px;
  }
}

header.page-header .region-mood-image.is-on-frontpage .image-overlay:before, header.page-header .region-mood-image.has-background-image .image-overlay:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

header.page-header .region-mood-image.has-background-image .image-overlay {
  min-height: 240px;
  padding-bottom: 40px;
}

header.page-header .region-mood-image.has-background-image .image-overlay:before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 23%);
}

@media screen and (min-width: 40em) {
  header.page-header .region-mood-image.has-background-image .image-overlay {
    min-height: 360px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .region-mood-image.has-background-image .image-overlay {
    padding-bottom: 0;
    min-height: 480px;
  }
}

header.page-header .region-mood-image h1 {
  color: white;
  font-size: 32px;
  padding-top: 40px;
  line-height: 1.1;
  font-weight: 600;
  display: none;
}

@media screen and (min-width: 40em) {
  header.page-header .region-mood-image h1 {
    font-size: 48px;
  }
}

@media screen and (min-width: 64em) {
  header.page-header .region-mood-image h1 {
    padding-top: 40px;
  }
}

header.page-header .region-mood-image .menu-second-level {
  padding-top: 25px;
  padding-bottom: 5px;
}

header.page-header .region-mood-image.is-on-frontpage h1 {
  display: block;
}

header.page-header .region-mood-image.is-on-frontpage .image-overlay {
  min-height: 240px;
  padding-bottom: 250px;
}

header.page-header .region-mood-image.is-on-frontpage .image-overlay:before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 50%);
}

@media screen and (min-width: 64em) {
  header.page-header .region-mood-image.is-on-frontpage .image-overlay {
    min-height: 560px;
    padding-bottom: 0;
  }
}

header.page-header .region-mood-image.is-on-frontpage .image-overlay .top .row {
  -webkit-animation: appear 1.5s;
          animation: appear 1.5s;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes appear {
  from {
    padding-top: 40px;
    opacity: 0;
  }
  to {
    padding-top: 0;
    opacity: 1;
  }
}

@keyframes appear {
  from {
    padding-top: 40px;
    opacity: 0;
  }
  to {
    padding-top: 0;
    opacity: 1;
  }
}

header.page-header .region-mood-image.is-on-frontpage h1 {
  padding-top: 40px;
}

@media screen and (min-width: 40em) {
  header.page-header .region-mood-image.is-on-frontpage h1 {
    padding-top: 60px;
  }
}

header.page-header .region-mood-image.is-on-frontpage .slogan {
  color: white;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
  padding-top: 20px;
}

@media screen and (min-width: 40em) {
  header.page-header .region-mood-image.is-on-frontpage .slogan {
    font-size: 20px;
  }
}

header.page-header .region-mood-image .region-wrapper {
  position: relative;
  width: 100%;
}

header.page-header .region-mood-image .region-wrapper.bottom {
  position: absolute;
  bottom: 0;
  background: rgba(54, 54, 54, 0.6);
  padding-top: 20px;
  padding-bottom: 20px;
}

header.page-header .region-third-level-nav {
  background-color: #efefef;
}

.block-local-tasks-block {
  background-color: #efefef;
  padding: 10px 0;
}

.block-local-tasks-block .local-tasks .button-group .button {
  font-size: 16px;
  font-weight: normal;
  background: none;
  padding-left: 0;
  padding-right: 0;
  margin-right: 30px;
  text-transform: capitalize;
  color: #9c9c9c;
}

.block-local-tasks-block .local-tasks .button-group .button:last-child {
  margin-right: 0;
}

.block-local-tasks-block .local-tasks .button-group .button.active {
  color: #363636;
}

.block-local-tasks-block .local-tasks .button-group .button.active:hover {
  color: #363636;
}

.block-local-tasks-block .local-tasks .button-group .button:hover, .block-local-tasks-block .local-tasks .button-group .button:focus {
  color: #838383;
}

.block-local-tasks-block .local-tasks .button-group .button:hover:before, .block-local-tasks-block .local-tasks .button-group .button:focus:before {
  background: none;
}

.menu > li {
  display: inline-block;
}

.no-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.language-switcher > li {
  padding-left: 10px;
}

.language-switcher > li > a {
  padding: 12px 0 8px 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 20px;
}

.language-switcher > li > a.is-active {
  font-weight: 600;
}

.language-switcher > li > a:hover {
  color: #838383;
}

.language-switcher > li:first-child {
  padding-left: 0;
}

.top-navigation {
  width: calc(100% - 60px);
}

.menu--account .menu {
  margin-right: 20px;
  margin-left: 20px;
}

.menu--account .menu li {
  margin-left: 20px;
}

.menu--account .menu li a {
  text-transform: uppercase;
  padding: 12px 0 8px 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 20px;
}

.menu--account .menu li a:hover {
  color: #838383;
}

.menu--account .menu li a.is-active {
  color: #363636;
}

.menu--account .menu li.route-userpage a {
  padding-right: 40px;
  position: relative;
  display: block;
}

.menu--account .menu li.route-userpage a:after {
  position: absolute;
  top: 5px;
  right: 0;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  content: "\f007";
  font-family: FontAwesome;
  text-align: center;
  background: #0071b7;
  color: white;
  border-radius: 15px;
  font-size: 20px;
  transition: background-color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 64em) {
  .menu--account .menu li.route-userpage a:after {
    font-size: 16px;
  }
}

.menu--account .menu li.route-userpage a:hover:after {
  background-color: #005284;
}

.menu--account .menu > li:first-child {
  margin-left: 0;
}

.region.search-icon {
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: width 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.region.search-icon i {
  float: right;
  font-size: 20px;
  line-height: 40px;
  width: 40px;
  text-align: center;
}

@media screen and (min-width: 64em) {
  .region.search-icon i {
    font-size: 16px;
  }
}

.region.search-icon :hover {
  color: #838383;
}

.menu-first-level ul.menu {
  font-weight: 600;
  float: right;
}

.menu-first-level ul.menu li a {
  padding: 12px 0 8px 0;
  line-height: 20px;
  font-size: 16px;
  margin-right: 15px;
  text-transform: uppercase;
}

@media screen and (min-width: 80em) {
  .menu-first-level ul.menu li a {
    font-size: 18px;
    margin-right: 30px;
  }
}

.menu-first-level ul.menu li.is-active a {
  color: #363636;
}

.menu-first-level ul.menu li.menu-item--active-trail a {
  color: #363636;
}

.menu-first-level ul.menu :last-child a {
  margin-right: 0;
}

.menu-second-level {
  display: none;
}

@media screen and (min-width: 64em) {
  .menu-second-level {
    display: block;
  }
}

.menu-second-level ul.menu li {
  display: inline-block;
}

.menu-second-level ul.menu li a {
  padding: 12px 0 8px 0;
  margin-right: 15px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  color: white;
}

@media screen and (min-width: 80em) {
  .menu-second-level ul.menu li a {
    margin-right: 30px;
    font-size: 18px;
  }
}

.menu-second-level ul.menu li a.is-active, .menu-second-level ul.menu li a:hover {
  color: #0071b7;
}

.menu-second-level ul.menu li:last-child a {
  margin-right: 0;
}

.menu-second-level ul.menu li.menu-item--active-trail a {
  color: #0071b7;
}

.menu-third-level {
  display: none;
  padding: 10px 0;
}

@media screen and (min-width: 64em) {
  .menu-third-level {
    display: block;
  }
}

.menu-third-level ul.menu li {
  display: inline-block;
}

.menu-third-level ul.menu li a {
  padding: 12px 0 8px 0;
  margin-right: 15px;
  font-size: 16px;
  line-height: 20px;
  color: #9c9c9c;
}

@media screen and (min-width: 80em) {
  .menu-third-level ul.menu li a {
    margin-right: 30px;
  }
}

.menu-third-level ul.menu li a.is-active, .menu-third-level ul.menu li a:hover {
  color: #363636;
}

.menu-third-level ul.menu li:last-child a {
  margin-right: 0;
}

.breadcrumbs {
  margin: 0;
  padding-top: 20px;
  padding-bottom: 10px;
}

@media screen and (min-width: 40em) {
  .breadcrumbs {
    padding-top: 40px;
  }
}

.breadcrumbs a {
  font-size: 16px;
  line-height: 20px;
  color: #c2c2c2;
}

.breadcrumbs a:hover {
  color: #838383;
  text-decoration: none;
}

.breadcrumbs i {
  width: 16px;
  line-height: 20px;
  text-align: center;
  color: #c2c2c2;
}

.section--with-background {
  padding: 40px 0;
}

@media screen and (min-width: 40em) {
  .section--with-background {
    padding: 80px 0;
  }
}

.section--with-background.background--grey {
  background-color: #f9f9f9;
}

.section--with-background.background--dark-grey {
  background-color: #9c9c9c;
}

.paragraph--type--section > .paragraph + .paragraph {
  margin-top: 40px;
}

@media screen and (min-width: 40em) {
  .paragraph--type--section > .paragraph + .paragraph {
    margin-top: 60px;
  }
}

@media screen and (max-width: 39.9375em) {
  .paragraph--type--text-image p .button,
  .paragraph--type--text-youtube p .button {
    display: block;
  }
}

.paragraph--type--text-image > .row .column:nth-child(2),
.paragraph--type--text-youtube > .row .column:nth-child(2) {
  padding-top: 20px;
}

@media screen and (min-width: 40em) {
  .paragraph--type--text-image > .row .column:nth-child(2),
  .paragraph--type--text-youtube > .row .column:nth-child(2) {
    padding-top: 0;
  }
}

.paragraph--type--text-youtube .field-paragraph--field-video {
  cursor: pointer;
  position: relative;
}

.paragraph--type--text-youtube .field-paragraph--field-video i.fa {
  position: absolute;
  width: 80px;
  height: 80px;
  top: 50%;
  left: 50%;
  margin-left: -40px;
  margin-top: -40px;
  font-size: 20px;
  line-height: 40px;
  color: white;
  text-align: center;
  border-radius: 50%;
  background-color: rgba(54, 54, 54, 0.6);
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.paragraph--type--text-youtube .field-paragraph--field-video i.fa:before {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -10px;
  display: block;
  width: 20px;
  line-height: 20px;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.paragraph--type--text-youtube .field-paragraph--field-video:hover i.fa {
  background-color: rgba(54, 54, 54, 0.8);
  width: 90px;
  height: 90px;
  margin-left: -45px;
  margin-top: -45px;
}

.paragraph--type--newsletter .column:first-child {
  margin-bottom: 20px;
}

.paragraph--type--newsletter .newsletter-badge {
  content: url(../../static-assets/images/newsletter-badge.png);
}

.paragraph--type--newsletter .newsletter-form {
  padding-top: 20px;
}

.paragraph--type--newsletter .newsletter-form .form-type-email {
  margin-bottom: 20px;
}

.paragraph--type--image-gallery .colorbox {
  display: block;
  outline: none;
}

.paragraph--type--image-gallery .colorbox .print {
  display: none;
}

.paragraph--type--image-gallery .colorbox .gallery-image-wrapper {
  overflow: hidden;
  height: 180px;
}

@media screen and (min-width: 80em) {
  .paragraph--type--image-gallery .colorbox .gallery-image-wrapper {
    height: 220px;
  }
}

.paragraph--type--image-gallery .colorbox .gallery-image-wrapper .gallery-image {
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  transition: all 1.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.paragraph--type--image-gallery .colorbox:hover .gallery-image-wrapper .gallery-image {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

footer.footer {
  background-color: #363636;
  color: white;
  padding-bottom: 20px;
}

footer.footer #footer-icons {
  min-height: 100px;
}

footer.footer #footer-icons .footer-icon-list .view-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0 20px;
  border-bottom: 1px solid #9c9c9c;
  margin-bottom: 40px;
}

@media screen and (min-width: 40em) {
  footer.footer #footer-icons .footer-icon-list .view-content {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    padding: 40px 0;
  }
}

footer.footer #footer-icons .footer-icon-list .view-content .views-row {
  width: 25%;
  padding-bottom: 20px;
}

@media screen and (min-width: 40em) {
  footer.footer #footer-icons .footer-icon-list .view-content .views-row {
    width: auto;
    padding-bottom: 0;
  }
}

footer.footer #footer-icons .footer-icon-list .view-content .views-row .footer-icon a {
  margin: auto;
  display: block;
  background: rgba(29, 29, 29, 0.4);
  width: 50px;
  height: 50px;
  border-radius: 25px;
}

footer.footer #footer-icons .footer-icon-list .view-content .views-row .footer-icon a:hover {
  background: #1d1d1d;
}

footer.footer #footer-address .field-name-field-inverted-logo {
  padding-bottom: 40px;
}

footer.footer #footer-address .field-name-field-inverted-logo img {
  max-height: 80px;
  width: auto;
}

footer.footer #footer-address .field-wrapper, footer.footer #footer-address p {
  font-size: 16px;
  line-height: 1.2;
  color: #c6c6c6;
}

footer.footer #footer-address .field-wrapper a {
  color: white;
}

footer.footer #footer-address .field-wrapper a:hover {
  color: #c6c6c6;
}

footer.footer #footer-address .field-block-content--field-phonenummer .field-item a:before {
  content: "Tel";
  display: inline-block;
  width: 30px;
  color: #c6c6c6;
}

footer.footer #footer-address .field-block-content--field-fax-number .field-item:before {
  content: "Fax";
  display: inline-block;
  width: 30px;
  color: #c6c6c6;
}

footer.footer .footer-menu ul.menu {
  -webkit-column-count: 1;
          column-count: 1;
  -webkit-column-gap: 0;
          column-gap: 0;
  padding-top: 40px;
}

@media screen and (min-width: 40em) {
  footer.footer .footer-menu ul.menu {
    padding-top: 0;
  }
}

@media screen and (min-width: 64em) {
  footer.footer .footer-menu ul.menu {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 40px;
            column-gap: 40px;
  }
}

footer.footer .footer-menu ul.menu > li > a {
  color: white;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1;
  padding: 0 0 10px 0;
}

footer.footer .footer-menu ul.menu > li > a:hover {
  color: #c6c6c6;
}

footer.footer .external-links {
  list-style: none;
  margin: 0;
  margin-top: 20px;
}

footer.footer .external-links li a {
  color: white;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1;
  padding: 0 0 10px 0;
}

footer.footer .external-links li a:hover {
  color: #c6c6c6;
}

footer.footer .external-links li a i {
  display: inline-block;
  width: 20px;
  margin-right: 5px;
}

footer.footer .bottom-text {
  font-size: 16px;
  padding-top: 40px;
  position: relative;
}

footer.footer .bottom-text .copyright {
  display: block;
  color: rgba(255, 255, 255, 0.5);
}

footer.footer .bottom-text .readability {
  display: block;
  color: rgba(255, 255, 255, 0.2);
}

footer.footer .bottom-text .readability.shortened {
  padding-right: 140px;
}

footer.footer .bottom-text img.iso-badge {
  position: absolute;
  bottom: 0;
  width: 100px;
  right: 10px;
}

@media screen and (min-width: 40em) {
  footer.footer .bottom-text img.iso-badge {
    right: 20px;
  }
}

/* globals */
.form-large select.form-select,
.form-large input.form-text, .borderless select.form-select,
.borderless input.form-text {
  height: auto;
  padding: 17px 20px 13px 20px;
  margin: 0;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 20px;
}

.form-large select.form-select, .borderless select.form-select {
  padding-right: 40px;
}

.borderless select.form-select,
.borderless input.form-text {
  border: none;
}

.borderless select.form-select:focus,
.borderless input.form-text:focus {
  border: none;
}

legend {
  margin: 0;
  margin-bottom: 10px;
}

label,
.label,
legend span {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #363636;
  background: none;
}

label.form-required:after,
.label.form-required:after,
legend span.form-required:after {
  content: " (obligatorisch)";
  display: inline;
  font-weight: normal;
  padding-right: 10px;
  font-size: 14px;
}

body.lang-de label.form-required:after, body.lang-de
.label.form-required:after, body.lang-de
legend span.form-required:after {
  content: " (obligatorisch)";
}

body.lang-fr label.form-required:after, body.lang-fr
.label.form-required:after, body.lang-fr
legend span.form-required:after {
  content: " (obligatoire)";
}

body.lang-it label.form-required:after, body.lang-it
.label.form-required:after, body.lang-it
legend span.form-required:after {
  content: " (obbligatorio)";
}

/* form wrapper, used in checkout & user edit */
.form-wrapper {
  margin-bottom: 40px;
}

.form-wrapper.horizontal-tabs-pane {
  margin-bottom: 0;
}

.form-wrapper > legend {
  margin-bottom: 40px;
  padding-top: 20px;
}

@media screen and (min-width: 40em) {
  .form-wrapper > legend {
    padding-top: 0;
  }
}

.form-wrapper > legend span {
  font-size: 24px;
  font-weight: normal;
}

.form-wrapper > legend span:after {
  display: none;
}

.fieldgroup legend {
  margin-bottom: 10px;
  padding-top: 0;
}

.fieldgroup legend span {
  font-size: 16px;
  font-weight: 600;
}

.form-item {
  margin-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .form-item {
    margin-bottom: 40px;
  }
}

.form-item:last-child {
  margin-bottom: 0;
}

.form-item label.error {
  font-weight: normal;
  padding-bottom: 0;
  padding-top: 10px;
  color: #dd1d1d;
}

.form-item .password-strength__meter {
  margin-top: 5px;
  margin-bottom: 5px;
  background-color: #efefef;
}

.form-item .password-strength__title {
  font-size: 14px;
  display: block;
  color: dimgray;
}

.form-item .password-suggestions {
  margin: 0;
  padding: 0;
  border: none;
}

.form-item .password-suggestions.description {
  padding: 0;
}

.form-item div.password-confirm {
  font-size: 14px;
  padding-top: 10px;
  padding-bottom: 10px;
  color: dimgray;
}

.form-item .description {
  padding-top: 10px;
  font-size: 14px;
  color: dimgray;
  max-width: 460px;
}

.form-item [type='text'].error, .form-item [type='password'].error, .form-item [type='date'].error, .form-item [type='datetime'].error, .form-item [type='datetime-local'].error, .form-item [type='month'].error, .form-item [type='week'].error, .form-item [type='email'].error, .form-item [type='number'].error, .form-item [type='search'].error, .form-item [type='tel'].error, .form-item [type='time'].error, .form-item [type='url'].error, .form-item [type='color'].error, .form-item textarea.error {
  border-color: #a51b00;
}

.form-item .container-inline {
  margin: 0;
}

.js input.form-autocomplete {
  background-position: calc( 100% - 10px) center;
}

[type='file'], [type='checkbox'], [type='radio'] {
  margin: 0;
}

.form-type-radio,
.form-type-checkbox {
  margin-top: 0;
  margin-bottom: 40px;
  position: relative;
}

.form-type-radio input,
.form-type-checkbox input {
  position: absolute;
  left: 0;
  top: 0;
}

.form-type-radio label,
.form-type-checkbox label {
  padding: 0;
  margin: 0;
  padding-left: 25px;
  font-weight: normal;
  display: block;
}

.form-type-radio label:after,
.form-type-checkbox label:after {
  display: none;
}

.form-radios .form-type-radio,
.form-radios .form-type-checkbox,
.form-checkboxes .form-type-radio,
.form-checkboxes .form-type-checkbox {
  margin-bottom: 10px;
}

.form-radios .form-type-radio:last-child,
.form-radios .form-type-checkbox:last-child,
.form-checkboxes .form-type-radio:last-child,
.form-checkboxes .form-type-checkbox:last-child {
  margin-bottom: 0;
}

.collapse-processed summary {
  color: #0071b7;
}

.collapse-processed summary a {
  color: dimgray;
  font-size: 24px;
}

.collapse-processed summary a:hover {
  color: #363636;
}

.collapse-processed .details-wrapper {
  padding-top: 20px;
}

.form-actions {
  font-size: 0;
}

.form-actions .button {
  display: inline-block;
  margin-right: 20px;
}

.horizontal-tabs {
  margin: 0;
  border: none;
  position: relative;
}

.horizontal-tabs .horizontal-tabs-list {
  background: none;
  border: none;
  border-bottom: 1px solid #0071b7;
  padding-bottom: 20px;
  display: block;
  font-size: 0;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button,
.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected {
  display: inline-block;
  float: none;
  border: none;
  background: none;
  padding: 0 20px;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button a,
.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected a {
  padding: 0;
  font-size: 24px;
  color: #9c9c9c;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button a strong,
.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected a strong {
  font-weight: normal;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button a:hover,
.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected a:hover {
  background: none;
  color: #838383;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected a {
  color: #0071b7;
}

.horizontal-tabs .horizontal-tabs-list .horizontal-tab-button.selected a:hover {
  color: #005284;
}

.horizontal-tabs .horizontal-tabs-panes {
  margin-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .horizontal-tabs .horizontal-tabs-panes {
    margin-bottom: 40px;
  }
}

.horizontal-tabs .horizontal-tabs-panes .horizontal-tabs-pane {
  padding: 20px 20px;
  border-bottom: 1px solid #0071b7;
  background: rgba(249, 249, 249, 0.5);
}

@media screen and (min-width: 40em) {
  .horizontal-tabs .horizontal-tabs-panes .horizontal-tabs-pane {
    padding: 40px 40px;
  }
}

/* profile edit */
details summary {
  margin-top: 20px;
  margin-bottom: 20px;
  color: #363636;
  font-size: 18px;
  font-weight: 600;
  outline: none;
}

@media screen and (min-width: 40em) {
  details summary {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

details summary:hover {
  color: #838383;
  cursor: pointer;
}

/* user edit & checkout */
.form-item-field-adresse-0-address-address-line1,
.form-item-billing-information-profile-address-0-address-address-line1,
.form-item-shipping-information-shipping-profile-address-0-address-address-line1 {
  margin-bottom: 10px;
}

/* checkout */
.layout-checkout-form .layout-region-checkout-secondary table {
  margin-bottom: 20px;
}

.layout-checkout-form .layout-region-checkout-secondary .views-field-total-price__number {
  text-align: right;
}

.layout-checkout-form .layout-region-checkout-secondary .view-footer {
  padding-top: 0;
}

.layout-checkout-form .layout-region-checkout-secondary .view-footer .order-total-line {
  padding: 0 20px;
  margin-bottom: 10px;
}

.layout-checkout-form .layout-region-checkout-secondary .view-footer .order-total-line .order-total-line-label {
  display: inline;
  padding-right: 10px;
}

.layout-checkout-form .layout-region-checkout-secondary .view-footer .order-total-line .order-total-line-value {
  display: block;
  float: right;
  width: auto;
}

.layout-checkout-form .layout-region-checkout-secondary .view-footer .order-total-line.order-total-line__total {
  font-weight: 600;
  margin-bottom: 0;
}

#edit-shipping-information-shipping-profile-address-0-address-country-code {
  display: none;
}

#shipping-information-wrapper .callout {
  margin-top: 0;
  margin-bottom: 40px;
}

@media screen and (min-width: 40em) {
  #shipping-information-wrapper .callout {
    margin-bottom: 80px;
  }
}

#shipping-information-wrapper fieldset button {
  margin-bottom: 40px;
}

.form-item-billing-information-profile-reuse-profile {
  font-size: 16px;
}

#edit-review-shipping-information-summary-0 {
  margin-bottom: 0;
}

/* inline */
.form-wrapper .address-container-inline {
  vertical-align: top;
}

@media screen and (min-width: 40em) {
  .form-wrapper .address-container-inline > .form-item {
    margin-right: 20px;
    margin-bottom: 0;
    vertical-align: top;
  }
}

/* focal point */
.focal-point-wrapper .focal-point-indicator {
  display: none;
}

.focal-point-wrapper .image-style-thumbnail {
  cursor: auto !important;
  margin-bottom: 10px;
}

.focal-point-wrapper .focal-point-preview-link {
  display: none;
}

/* select 2 */
.select2-container--default {
  width: 100% !important;
  max-width: none;
}

@media screen and (min-width: 40em) {
  .select2-container--default {
    max-width: 460px;
  }
}

.select2-container--default .select2-dropdown {
  border: none;
  border-radius: 1px;
  box-shadow: 0px 2px 20px -3px rgba(54, 54, 54, 0.25);
  padding: 0;
}

.select2-container--default .select2-dropdown .select2-search--dropdown {
  padding: 5px;
}

.select2-container--default .select2-dropdown .select2-search--dropdown .select2-search__field {
  font-size: 16px;
  line-height: 20px;
  padding: 11px 15px 7px 15px;
  height: auto;
  border: 1px solid #efefef;
  width: 100% !important;
}

.select2-container--default .select2-dropdown .select2-results__option {
  font-size: 16px;
  line-height: 20px;
  padding: 12px 20px 8px 20px;
}

.select2-container--default .select2-dropdown .select2-results__option[aria-selected=true] {
  background: #efefef;
}

.select2-container--default .select2-dropdown .select2-results__option.select2-results__option--highlighted {
  background: #0071b7;
}

.select2-container--default .select2-dropdown .select2-results__option.select2-results__option--highlighted[aria-selected=true] {
  color: white;
}

.select2-container--default .select2-selection {
  outline: none;
}

#gh-facet-search-form .form-item {
  margin: 0;
}

#gh-facet-search-form select {
  margin: 0;
}

#gh-facet-search-form .column:first-child {
  padding-right: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width: 40em) {
  #gh-facet-search-form .column:first-child {
    padding-bottom: 20px;
    padding-right: 20px;
  }
}

@media screen and (min-width: 64em) {
  #gh-facet-search-form .column:first-child {
    padding-bottom: 0;
    padding-right: 0;
  }
}

#gh-facet-search-form .column:first-child .search-input-wrapper {
  position: relative;
}

#gh-facet-search-form .column:first-child .search-input-wrapper:before {
  box-sizing: border-box;
  content: "\f002";
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 40px;
  height: 40px;
  font-size: 18px;
  line-height: 20px;
  padding: 10px 0;
  text-align: center;
  color: #0071b7;
  font-family: FontAwesome;
}

#gh-facet-search-form .column:first-child .search-input-wrapper input {
  width: 100% !important;
}

#gh-facet-search-form .column:first-child:hover:before {
  color: #005284;
}

#gh-facet-search-form .column:first-child #edit-search-api-fulltext {
  padding-left: 50px;
}

#gh-facet-search-form .form-item-fachbereich {
  padding-right: 5px;
  padding-bottom: 10px;
}

@media screen and (min-width: 40em) {
  #gh-facet-search-form .form-item-fachbereich {
    padding-right: 0;
    padding-bottom: 0;
  }
}

#gh-facet-search-form .form-item-content-type {
  padding-right: 10px;
  padding-left: 5px;
  padding-bottom: 10px;
}

@media screen and (min-width: 40em) {
  #gh-facet-search-form .form-item-content-type {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 20px;
  }
}

#gh-facet-search-form .select2-container {
  width: 100% !important;
}

#gh-facet-search-form .select2-container .select2-selection:hover {
  border: none;
}

#gh-facet-search-form .form-submit {
  width: 100%;
  padding: 17px 20px 13px 20px;
  font-size: 18px;
  margin: 0;
}

header {
  position: relative;
}

#gh-quick-search-form input[type='text'] {
  width: 100% !important;
}

.quicksearch-dropdown {
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  z-index: 999;
  width: 0;
  transition: width 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.quicksearch-dropdown.show {
  width: 100%;
}

@media screen and (min-width: 40em) {
  .quicksearch-dropdown.show {
    width: 360px;
  }
}

.quicksearch-dropdown.show .form-item {
  margin: 0;
}

.quicksearch-dropdown.show .form-item input {
  opacity: 1;
}

.quicksearch-dropdown .button {
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  color: #9c9c9c;
  padding: 10px 0;
  width: 40px;
  font-weight: normal;
}

.quicksearch-dropdown .button:before {
  display: none;
}

.quicksearch-dropdown .button:hover {
  color: #838383;
}

.quicksearch-dropdown .form-item-search-api-fulltext {
  width: 100%;
}

.quicksearch-dropdown .form-item-search-api-fulltext input {
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  opacity: 0;
}

/* used in order review */
.customer-information .field-wrapper,
.order-information .field-wrapper {
  margin-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .customer-information .field-wrapper,
  .order-information .field-wrapper {
    margin-bottom: 40px;
  }
}

.customer-information .field-label,
.customer-information .field__label,
.order-information .field-label,
.order-information .field__label {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #363636;
  background: none;
}

h1.page-title .field-label {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  display: inline;
  margin: 0;
}

h1.page-title .field-items,
h1.page-title .field-item {
  display: inline;
}

/* teilnehmer table */
.draggable a.tabledrag-handle {
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
}

.draggable a.tabledrag-handle .handle {
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  background-position: 0 0;
}

.form-type-webform-multiple .form-number {
  width: 100px !important;
}

.form-type-webform-multiple .webform-multiple-table {
  overflow-x: scroll;
  max-width: calc( 100vw - 40px);
}

.form-type-webform-multiple .webform-multiple-table table {
  min-width: 320px;
  margin: 0;
  margin-bottom: 20px;
  padding: 12px 6px;
}

@media screen and (min-width: 40em) {
  .form-type-webform-multiple .webform-multiple-table table {
    padding: 12px;
  }
}

.form-type-webform-multiple .webform-multiple-table table [type='text'], .form-type-webform-multiple .webform-multiple-table table [type='password'], .form-type-webform-multiple .webform-multiple-table table [type='date'], .form-type-webform-multiple .webform-multiple-table table [type='datetime'], .form-type-webform-multiple .webform-multiple-table table [type='datetime-local'], .form-type-webform-multiple .webform-multiple-table table [type='month'], .form-type-webform-multiple .webform-multiple-table table [type='week'], .form-type-webform-multiple .webform-multiple-table table [type='email'], .form-type-webform-multiple .webform-multiple-table table [type='number'], .form-type-webform-multiple .webform-multiple-table table [type='search'], .form-type-webform-multiple .webform-multiple-table table [type='tel'], .form-type-webform-multiple .webform-multiple-table table [type='time'], .form-type-webform-multiple .webform-multiple-table table [type='url'], .form-type-webform-multiple .webform-multiple-table table [type='color'], .form-type-webform-multiple .webform-multiple-table table textarea {
  width: 100% !important;
}

.form-type-webform-multiple .webform-multiple-table th:first-child,
.form-type-webform-multiple .webform-multiple-table td:first-child {
  display: none;
}

.form-type-webform-multiple .webform-multiple-table th, .form-type-webform-multiple .webform-multiple-table td {
  padding-right: 0;
  padding-left: 10px;
}

@media screen and (min-width: 40em) {
  .form-type-webform-multiple .webform-multiple-table th, .form-type-webform-multiple .webform-multiple-table td {
    padding-left: 20px;
  }
}

.form-type-webform-multiple .webform-multiple-table td:last-child {
  width: auto;
  padding: 0;
  padding-left: 10px;
  padding-top: 12px;
  vertical-align: top;
}

.form-type-webform-multiple .webform-multiple-table td:last-child input {
  margin: 0;
  box-sizing: content-box;
  padding: 12px 1px;
}

@media screen and (min-width: 40em) {
  .form-type-webform-multiple .webform-multiple-table td:last-child input {
    padding: 12px;
  }
}

.form-type-webform-multiple .webform-multiple-table td:last-child input:first-child {
  display: none;
}

@media screen and (min-width: 40em) {
  .form-type-webform-multiple .webform-multiple-table td:last-child input:first-child {
    display: inline-block;
  }
}

.form-type-webform-multiple .webform-multiple-table .tabledrag-toggle-weight {
  display: none;
}

.form-type-webform-multiple .container-inline {
  font-size: 0;
}

.form-type-webform-multiple .container-inline button {
  background: linear-gradient(to bottom, #9c9c9c 0%, #838383 100%);
  color: white;
}

.form-type-webform-multiple .container-inline button:hover:before, .form-type-webform-multiple .container-inline button:focus:before {
  background-color: #838383;
}

.form-type-webform-multiple .container-inline input {
  display: inline-block;
  margin-left: 10px;
  outline: none;
  width: auto !important;
}

.form-type-webform-multiple .container-inline .field-suffix {
  font-size: 16px;
  padding-left: 10px;
  display: none;
}

@media screen and (min-width: 40em) {
  .form-type-webform-multiple .container-inline .field-suffix {
    display: inline-block;
  }
}

.intl-tel-input .flag-container {
  padding: 0;
}

.intl-tel-input .flag-container .selected-flag {
  outline: none;
  height: 40px;
}

/**
 * @file
 * Styles for system messages.
 */
.callout {
  background: no-repeat 10px 17px;
  border: 1px solid;
  border-width: 1px 1px 1px 0;
  border: none;
  border-radius: 0;
  padding: 15px 50px 15px 35px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin: 0 0 0 8px;
  margin-top: 40px;
}

@media screen and (min-width: 40em) {
  .callout {
    margin-top: 80px;
  }
}

.callout p {
  font-size: 16px;
  padding-bottom: 0;
}

.callout .close-button {
  outline: none;
}

.callout + .callout {
  margin-top: 20px;
}

/* See .color-success in Seven's colors.css */
.callout.success {
  color: #325e1c;
  background-color: #f3faef;
  border-color: #c9e1bd #c9e1bd #c9e1bd transparent;
  background-image: url(/core/misc/icons/73b355/check.svg);
  box-shadow: -8px 0 0 #77b259;
}

.callout.success .close-button {
  color: #77b259;
}

.callout.success .close-button:hover {
  color: #325e1c;
}

/* See .color-warning in Seven's colors.css */
.callout.warning {
  background-color: #fdf8ed;
  background-image: url(/core/misc/icons/e29700/warning.svg);
  border-color: #f4daa6 #f4daa6 #f4daa6 transparent;
  color: #734c00;
  box-shadow: -8px 0 0 #e09600;
}

.callout.warning .close-button {
  color: #e09600;
}

.callout.warning .close-button:hover {
  color: #734c00;
}

/* See .color-error in Seven's colors.css */
.callout.alert {
  background-color: #fcf4f2;
  color: #a51b00;
  background-image: url(/core/misc/icons/e32700/error.svg);
  border-color: #f9c9bf #f9c9bf #f9c9bf transparent;
  box-shadow: -8px 0 0 #e62600;
}

.callout.alert p.error {
  color: #a51b00;
}

.callout.alert .close-button {
  color: #e62600;
}

.callout.alert .close-button:hover {
  color: #a51b00;
}

.teaser--box {
  background-repeat: no-repeat;
  width: 100%;
  max-width: 100%;
  position: relative;
  border-radius: 1px;
  display: block;
}

.teaser--box .contextual {
  top: 1rem;
  right: 1rem;
}

.teaser--box.teaser--wide {
  position: relative;
  height: auto;
  overflow: hidden;
}

@media screen and (min-width: 40em) {
  .teaser--box.teaser--wide {
    height: 320px;
  }
}

@media screen and (min-width: 64em) {
  .teaser--box.teaser--wide {
    height: 400px;
  }
}

@media screen and (min-width: 80em) {
  .teaser--box.teaser--wide {
    height: 440px;
  }
}

.teaser--box.teaser--wide .teaser-image--image {
  background-size: cover;
  background-position: 50% 50%;
  width: 100%;
  transition: all 1.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  height: 100%;
}

.teaser--box.teaser--wide .teaser-content-container {
  width: 100%;
  height: auto;
  position: relative;
  margin-top: 140px;
}

.teaser--box.teaser--wide .teaser-content-container .row {
  height: 100%;
}

@media screen and (min-width: 40em) {
  .teaser--box.teaser--wide .teaser-content-container {
    height: 100%;
    position: absolute;
    margin-top: 0;
  }
}

.teaser--box.teaser--wide .teaser-content-container .columns {
  height: 100%;
}

.teaser--box.teaser--wide .overlay {
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  background: rgba(54, 54, 54, 0.6);
  margin-bottom: 0;
  padding: 40px 20px;
  height: 100%;
}

@media screen and (min-width: 40em) {
  .teaser--box.teaser--wide .overlay {
    padding: 40px;
    padding-top: 60px;
  }
}

.teaser--box.teaser--wide h3 {
  transition: padding-bottom 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  margin: 0;
  padding-bottom: 20px;
  padding-top: 0;
  display: block;
}

.teaser--box.teaser--wide h3 span {
  display: block;
  font-size: 28px;
  line-height: 1.1;
  color: white;
  font-weight: normal;
}

@media screen and (min-width: 40em) {
  .teaser--box.teaser--wide h3 span {
    font-size: 32px;
  }
}

.teaser--box.teaser--wide .field-node--field-teaser-text {
  font-size: 18px;
  line-height: 1.3;
  color: white;
  padding-bottom: 20px;
}

.teaser--box.teaser--wide:hover .teaser-image--image {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.teaser--box.teaser--wide:hover .overlay {
  background: rgba(54, 54, 54, 0.8);
}

.teaser--box.teaser--small {
  background: #efefef;
}

@media screen and (min-width: 64em) {
  .large-12 > .teaser--box.teaser--small {
    max-width: 50% !important;
  }
}

.teaser--box.teaser--small .teaser-image {
  position: relative;
  overflow: hidden;
}

.large-12 .teaser--box.teaser--small .teaser-image,
.large-6 .teaser--box.teaser--small .teaser-image {
  height: 280px;
}

.large-4 .teaser--box.teaser--small .teaser-image {
  height: 240px;
}

.large-3 .teaser--box.teaser--small .teaser-image {
  height: 180px;
}

.custom-5-row-hack .teaser--box.teaser--small .teaser-image {
  height: 140px;
}

@media screen and (min-width: 80em) {
  .large-12 .teaser--box.teaser--small .teaser-image,
  .large-6 .teaser--box.teaser--small .teaser-image {
    height: 340px;
  }
  .large-4 .teaser--box.teaser--small .teaser-image {
    height: 280px;
  }
  .large-3 .teaser--box.teaser--small .teaser-image {
    height: 220px;
  }
}

.teaser--box.teaser--small .teaser-image .teaser-image--image {
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  transition: all 1.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  background-image: url(../../static-assets/images/teaser-fallback-small.jpg);
  background-repeat: no-repeat;
}

.teaser--box.teaser--small .teaser-image h3 {
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  margin: 0;
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  background-color: rgba(54, 54, 54, 0.8);
  padding: 20px 20px;
}

.teaser--box.teaser--small .teaser-image h3 span {
  display: block;
  font-size: 22px;
  line-height: 1.1;
  color: white;
  font-weight: 600;
}

.teaser--box.teaser--small .teaser-text {
  color: dimgray;
  font-size: 16px;
  line-height: 1.3;
  padding: 20px;
  transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.teaser--box.teaser--small .teaser-text:empty {
  padding: 0;
}

.teaser--box.teaser--small .teaser-text .inline-date-wrapper div {
  display: inline-block;
}

.teaser--box.teaser--small:hover .teaser-image .teaser-image--image {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.teaser--box.teaser--small:hover .teaser-image h3 {
  background-color: rgba(54, 54, 54, 0.9);
}

.teaser--box.teaser--small:hover .teaser-text {
  transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  color: #363636;
}

.teaser--box.teaser--company .teaser-image {
  background-color: white;
  border: 1px solid #efefef;
}

.section--with-background.background--grey .teaser--box.teaser--company .teaser-image,
.section--with-background.background--dark-grey .teaser--box.teaser--company .teaser-image {
  border: none;
}

.teaser--box.teaser--company .teaser-image .teaser-image--image {
  width: 75%;
  height: 75%;
  position: absolute;
  top: 12.5%;
  left: 12.5%;
  background-image: url(../../static-assets/images/logo-fallback.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.teaser--box.teaser--company .teaser-text {
  font-size: 16px;
  line-height: 1.3;
}

.teaser--box.teaser--company .teaser-text * {
  font-size: 16px;
  line-height: 1.3;
}

.teaser--box.teaser--company .teaser-text h3 {
  margin: 0;
  font-weight: 600;
  padding: 0;
}

.partnerverbaende .teaser--box.teaser--company .teaser-text {
  display: none;
}

.teaser--box.teaser--documents .teaser-image span.file-icon {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 240px;
  height: 240px;
}

.teaser--box.teaser--documents .teaser-image span.file-icon:before {
  position: absolute;
  top: 20px;
  left: 20px;
  font-family: FontAwesome;
  font-size: 30px;
  content: "\f016";
  text-align: center;
  color: white;
  display: block;
  width: 40px;
  height: 40px;
  line-height: 30px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.teaser--box.teaser--documents .teaser-image span.file-icon.text-plain:before {
  content: "\f0f6";
  /* TXT */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-pdf:before {
  content: "\f1c1";
  /* PDF */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-vndopenxmlformats-officedocumentspreadsheetmlsheet:before {
  content: "\f1c3";
  /* XLSX */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-vndms-excel:before {
  content: "\f1c3";
  /* XLS */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-vndopenxmlformats-officedocumentwordprocessingmldocument:before {
  content: "\f1c2";
  /* DOCX */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-msword:before {
  content: "\f1c2";
  /* DOC */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.application-postscript:before {
  content: "\f1c5";
  /* EPS */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.image-jpeg:before {
  content: "\f1c5";
  /* JPG & JPEG */
}

.teaser--box.teaser--documents .teaser-image span.file-icon.image-png:before {
  content: "\f1c5";
  /* PNG */
}

.teaser--box.teaser--documents.has-background-image .file-icon {
  background: radial-gradient(ellipse at top left, rgba(54, 54, 54, 0.6) 0%, rgba(54, 54, 54, 0) 64%);
}

.teaser--box.teaser--documents .field-node--field-document-type-ref > div {
  display: inline-block;
}

.teaser--box.teaser--documents .field-node--field-document-type-ref .field-label::after {
  content: ": ";
}

.teaser--box .members-only {
  position: absolute;
  top: 20px;
  right: 20px;
  display: block;
  background: #363636;
  border-radius: 50%;
}

.teaser--box .members-only:before {
  font-family: FontAwesome;
  font-size: 20px;
  content: "\f023";
  text-align: center;
  color: white;
  display: block;
  width: 40px;
  height: 40px;
  line-height: 30px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.teaser--box .registrations {
  position: absolute;
  top: 20px;
  right: 20px;
  display: block;
  margin: 0;
}

.teaser--box.teaser--person .teaser-image .teaser-image--image {
  background-image: url(../../static-assets/images/person-fallback.png);
  background-color: white;
}

.teaser--box.teaser--person .teaser-text {
  padding: 20px;
}

.teaser--box.teaser--person .teaser-text *, .teaser--box.teaser--person .teaser-text > div {
  font-size: 16px;
  line-height: 1.3;
  padding: 0;
}

.teaser--box.teaser--person .teaser-text h3 {
  font-weight: 600;
}

.teaser--box.teaser--person:hover .teaser-image .teaser-image--image {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.teaser--box.teaser--person:hover .teaser-text {
  color: dimgray;
}

.section--with-background.background--dark-grey .teaser--small {
  background: #afafaf;
}

.section--with-background.background--dark-grey .teaser--small .teaser-text * {
  transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  color: rgba(255, 255, 255, 0.8);
}

.section--with-background.background--dark-grey .teaser--small .teaser-text a {
  color: white;
}

.section--with-background.background--dark-grey .teaser--small .teaser-text a:hover {
  color: rgba(255, 255, 255, 0.8);
}

.section--with-background.background--dark-grey .teaser--small:hover:not(.teaser--person) .teaser-text * {
  color: white;
}

.has-5-columns {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.has-5-columns > .column {
  width: 100%;
  margin-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .has-5-columns > .column {
    width: 33.333%;
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 64em) {
  .has-5-columns > .column {
    width: 20%;
  }
}

.mdz-flexbox .paragraph--type--teaser .row, .mdz-flexbox
.paragraph--type--views .row, .mdz-flexbox
.paragraph--type--person-teaser .row, .mdz-flexbox
.view-facet-search .row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.mdz-flexbox .paragraph--type--teaser .row::before, .mdz-flexbox .paragraph--type--teaser .row::after, .mdz-flexbox
.paragraph--type--views .row::before, .mdz-flexbox
.paragraph--type--views .row::after, .mdz-flexbox
.paragraph--type--person-teaser .row::before, .mdz-flexbox
.paragraph--type--person-teaser .row::after, .mdz-flexbox
.view-facet-search .row::before, .mdz-flexbox
.view-facet-search .row::after {
  display: none;
}

.mdz-flexbox .paragraph--type--teaser .row > .column, .mdz-flexbox
.paragraph--type--views .row > .column, .mdz-flexbox
.paragraph--type--person-teaser .row > .column, .mdz-flexbox
.view-facet-search .row > .column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  float: none;
}

.mdz-flexbox .paragraph--type--teaser .row > .column > .teaser--small, .mdz-flexbox
.paragraph--type--views .row > .column > .teaser--small, .mdz-flexbox
.paragraph--type--person-teaser .row > .column > .teaser--small, .mdz-flexbox
.view-facet-search .row > .column > .teaser--small {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  width: 100%;
  max-width: 100%;
}

.registrations {
  background: #363636;
  line-height: 20px;
  padding: 12px 20px 8px 20px;
  border-radius: 20px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  margin: 0 0 20px 0;
}

.registrations.registrations-plenty, .registrations.registrations-few {
  background-color: #74b739;
}

.registrations.registrations-full {
  background-color: #dd1d1d;
}

.view-term-list .view-content {
  -webkit-column-count: 1;
          column-count: 1;
  -webkit-column-gap: 20px;
          column-gap: 20px;
}

@media screen and (min-width: 40em) {
  .view-term-list .view-content {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 40px;
            column-gap: 40px;
  }
}

@media screen and (min-width: 64em) {
  .view-term-list .view-content {
    -webkit-column-count: 4;
            column-count: 4;
  }
}

.view-term-list .view-content .taxonomy-term a {
  display: block;
  line-height: 1.1;
  padding-bottom: 10px;
  font-weight: 600;
}

.view-footer {
  padding-top: 40px;
  text-align: right;
}

@media screen and (max-width: 39.9375em) {
  .view-footer {
    padding-top: 20px;
  }
}

.view-footer .button {
  float: right;
}

.block-facet--links ul {
  list-style: none;
  margin: 0;
}

.block-facet--links ul li {
  display: inline-block;
  font-size: 18px;
  line-height: 1.1;
  text-transform: uppercase;
  display: block;
  margin-right: 20px;
  margin-bottom: 10px;
}

@media screen and (min-width: 40em) {
  .block-facet--links ul li {
    display: inline-block;
  }
}

@media screen and (min-width: 64em) {
  .block-facet--links ul li {
    margin-right: 30px;
  }
}

.block-facet--links ul li:last-child {
  margin-right: 0;
}

.block-facet--links ul li .facet-item__status {
  display: none;
}

.block-facet--links ul li a.is-active {
  color: #000000;
}

.view-facet-search .attachment-after .view {
  padding-bottom: 100px;
  position: relative;
}

@media screen and (min-width: 40em) {
  .view-facet-search .attachment-after .view {
    padding-bottom: 140px;
  }
}

.view-facet-search .attachment-after .view .view-header {
  padding-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .view-facet-search .attachment-after .view .view-header {
    padding-bottom: 40px;
  }
}

.view-facet-search .attachment-after .view .view-header h3 {
  font-size: 24px;
  line-height: 40px;
  font-weight: normal;
  margin: 0;
}

.view-facet-search .attachment-after .view .view-header .button {
  position: absolute;
  bottom: 40px;
  right: 0;
}

@media screen and (min-width: 40em) {
  .view-facet-search .attachment-after .view .view-header .button {
    bottom: 60px;
    right: 0;
  }
}

.js-facets-dropdown-links {
  display: none;
}

.facet--region {
  padding-top: 40px;
  font-size: 0;
}

@media screen and (min-width: 40em) {
  .facet--region {
    padding-top: 80px;
  }
}

.facet--region .block-facet--dropdown {
  margin-bottom: 10px;
}

@media screen and (min-width: 40em) {
  .facet--region .block-facet--dropdown {
    display: inline-block;
    margin-right: 20px;
  }
}

@media screen and (min-width: 64em) {
  .facet--region .block-facet--dropdown {
    margin-right: 30px;
  }
}

.facet--region .block-facet--dropdown:last-child {
  margin-right: 0;
}

.facet--region .select2-container {
  width: 100% !important;
}

@media screen and (min-width: 40em) {
  .facet--region .select2-container {
    float: left;
    width: auto !important;
    min-width: 240px;
  }
}

@media screen and (min-width: 80em) {
  .facet--region .select2-container {
    min-width: 320px;
  }
}

.facet--region .block-facet--checkbox {
  vertical-align: top;
  margin-bottom: 10px;
  font-size: 20px;
}

@media screen and (min-width: 40em) {
  .facet--region .block-facet--checkbox {
    display: inline-block;
    margin-right: 20px;
  }
}

@media screen and (min-width: 64em) {
  .facet--region .block-facet--checkbox {
    margin-right: 30px;
  }
}

.facet--region .block-facet--checkbox:last-child {
  margin-right: 0;
}

.facet--region .block-facet--checkbox .item-list__checkbox {
  list-style: none;
  display: inline-block;
  margin: 0;
  padding: 0;
}

.facet--region .block-facet--checkbox .item-list__checkbox .facet-item {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 12px;
  padding-left: 10px;
}

@media screen and (min-width: 40em) {
  .facet--region .block-facet--checkbox .item-list__checkbox .facet-item {
    margin-right: 20px;
  }
}

@media screen and (min-width: 64em) {
  .facet--region .block-facet--checkbox .item-list__checkbox .facet-item {
    margin-right: 30px;
  }
}

.facet--region .block-facet--checkbox .item-list__checkbox .facet-item label {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 20px;
  padding: 12px 0 8px 0;
  margin-left: 10px;
}

.pagination {
  margin: 0;
  margin-top: 40px;
  list-style: none;
  text-align: center;
  font-size: 0;
}

@media screen and (min-width: 40em) {
  .pagination {
    margin-top: 80px;
  }
}

.pagination li {
  font-size: 18px;
  line-height: 20px;
  border: none;
  margin-right: 0;
}

.pagination li.is-active {
  padding: 0;
  background: #f9f9f9;
}

.pagination li.is-active a {
  color: #363636;
}

.pagination li.is-active a:hover {
  background: none;
}

.pagination a {
  color: #9c9c9c;
  padding: 12px 20px 8px 20px;
}

.pagination a:hover {
  background-color: #f9f9f9;
  color: #838383;
}

#mobile-toggle {
  position: absolute;
  left: 0;
  display: block;
  top: 20px;
  width: 40px;
  height: 40px;
  text-align: center;
  color: #9c9c9c;
  font-size: 20px;
  line-height: 40px;
  cursor: pointer;
}

@media screen and (min-width: 40em) {
  #mobile-toggle {
    top: 30px;
  }
}

@media screen and (min-width: 64em) {
  #mobile-toggle {
    display: none;
  }
}

#mobile-toggle:hover {
  color: #838383;
}

#mobile-menu {
  z-index: 10;
  position: fixed;
  top: 0;
  left: -290px;
  width: 290px;
  height: 100%;
  transition: left 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #0071b7;
}

@media screen and (min-width: 40em) {
  #mobile-menu {
    left: -380px;
    width: 380px;
  }
}

@media screen and (min-width: 64em) {
  #mobile-menu {
    height: 0;
  }
}

#mobile-menu .mobile-navigation-header {
  position: relative;
  left: 100%;
  transition: left 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  height: 80px;
}

#mobile-menu .mobile-navigation-header #mobile-toggle-close {
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  color: white;
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  top: 20px;
  left: 20px;
}

#mobile-menu .mobile-navigation-header #mobile-toggle-close:before {
  /* content: '\f00d'; */
}

@media screen and (min-width: 40em) {
  #mobile-menu .mobile-navigation-header #mobile-toggle-close {
    top: 30px;
    left: 30px;
  }
}

#mobile-menu .mobile-navigation-header .logo-link {
  position: absolute;
  display: block;
  left: 80px;
  top: 15px;
}

@media screen and (min-width: 40em) {
  #mobile-menu .mobile-navigation-header .logo-link {
    left: 100px;
    top: 20px;
  }
}

#mobile-menu .mobile-navigation-header .logo-link img {
  max-width: none;
  width: auto !important;
  height: 50px;
}

@media screen and (min-width: 40em) {
  #mobile-menu .mobile-navigation-header .logo-link img {
    height: 60px;
  }
}

@media screen and (min-width: 64em) {
  #mobile-menu .mobile-navigation-header .logo-link img {
    height: 80px;
  }
}

@media screen and (min-width: 40em) {
  #mobile-menu .mobile-navigation-header {
    height: 100px;
  }
}

#mobile-menu .menu {
  padding-top: 20px;
  padding-bottom: 20px;
}

#mobile-menu .menu .menu {
  padding-top: 0;
  padding-bottom: 0;
  background-color: rgba(0, 0, 0, 0.05);
}

#mobile-menu .menu li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
}

#mobile-menu .menu li a {
  display: block;
  color: rgba(255, 255, 255, 0.8);
  padding: 22px 20px 18px 20px;
  font-size: 18px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 600;
  box-sizing: border-box;
  width: 100%;
}

#mobile-menu .menu li a:hover {
  color: white;
}

#mobile-menu .menu li i {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  margin-right: 10px;
  margin-top: 10px;
  border-radius: 1px;
}

#mobile-menu .menu li i:hover {
  color: white;
}

#mobile-menu .menu li i.open {
  color: white;
  background-color: rgba(0, 0, 0, 0.05);
}

#mobile-menu .menu li li {
  border-bottom: none;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

#mobile-menu .menu.level-1 ul {
  display: none;
  overflow: hidden;
}

#mobile-menu .menu.level-2 a {
  padding-left: 40px;
  text-transform: none;
}

#mobile-menu .menu.level-3 a {
  padding-left: 60px;
  font-weight: normal;
}

#mobile-menu .region-user-menu .navigation {
  display: block;
  float: none;
}

#mobile-menu .region-user-menu .navigation .menu {
  margin: 0;
  padding: 0;
}

#mobile-menu .region-user-menu .navigation .menu .menu-item {
  display: block;
  border: none;
  margin: 0;
}

#mobile-menu .region-user-menu .navigation .menu .menu-item a {
  padding: 17px 20px 13px 20px;
  font-size: 16px;
  font-weight: normal;
}

#mobile-menu .region-user-menu .navigation .menu .menu-item.route-userpage a {
  padding-left: 60px;
}

#mobile-menu .region-user-menu .navigation .menu .menu-item.route-userpage a:after {
  top: 10px;
  right: auto;
  left: 20px;
  background-color: #005284;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand {
  font-size: 0;
  padding: 10px 20px 10px 50px;
  color: rgba(255, 255, 255, 0.8);
  position: relative;
  display: block;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand .cart-block--summary__icon {
  display: block;
  position: absolute;
  top: 15px;
  left: 20px;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand .cart-block--summary__icon .fa {
  line-height: 20px;
  width: 20px;
  text-align: center;
  font-size: 20px;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand .cart-block--summary__count {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.8);
  background: #005284;
  padding: 7px 10px 3px 10px;
  border-radius: 15px;
  box-sizing: border-box;
  min-width: 20px;
  text-align: center;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand:hover {
  color: white;
}

#mobile-menu .region-user-menu .block-ghcart .cart-block--summary .cart-block--link__expand:hover .cart-block--summary__count {
  background: #005284;
  color: white;
}

#mobile-menu .language-switcher {
  padding: 0;
  padding-left: 10px;
}

#mobile-menu .language-switcher li {
  border: none;
  padding-left: 0;
}

#mobile-menu .language-switcher li a {
  padding: 17px 10px 13px 10px;
  font-size: 16px;
  font-weight: normal;
}

#mobile-menu .language-switcher li a.is-active {
  font-weight: 600;
}

.mobile-menu--show {
  overflow-y: hidden;
}

.mobile-menu--show #mobile-menu {
  left: 0;
}

.mobile-menu--show #mobile-menu .mobile-navigation-header {
  left: 0;
}

.node--type-event .inline-date-wrapper {
  font-size: 24px;
  line-height: 1.2;
  clear: both;
  padding-top: 40px;
}

@media screen and (min-width: 40em) {
  .node--type-event .inline-date-wrapper {
    padding-top: 80px;
  }
}

.node--type-event .inline-date-wrapper .field-label {
  font-size: 18px;
  line-height: 29px;
  font-weight: bold;
  width: auto;
}

@media screen and (min-width: 64em) {
  .node--type-event .inline-date-wrapper .field-label {
    float: left;
    width: 160px;
  }
}

.node--type-event .inline-date-wrapper .field-items time {
  white-space: nowrap;
}

.node--type-event .field-name-field-event-location {
  font-size: 24px;
  line-height: 1.2;
  padding-top: 10px;
  clear: both;
}

.node--type-event .field-name-field-event-location .field-label {
  font-size: 18px;
  line-height: 29px;
  font-weight: bold;
  width: auto;
}

@media screen and (min-width: 64em) {
  .node--type-event .field-name-field-event-location .field-label {
    float: left;
    width: 160px;
  }
}

.node--type-event .field-name-field-eventtype-ref {
  font-size: 18px;
  line-height: 1.2;
  padding-top: 20px;
  clear: both;
}

.node--type-event .field-name-field-eventtype-ref .field-label {
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  width: auto;
}

@media screen and (min-width: 64em) {
  .node--type-event .field-name-field-eventtype-ref .field-label {
    float: left;
    width: 160px;
  }
}

.node--type-event .field-node--field-max-registrations {
  font-size: 18px;
  line-height: 1.2;
  padding-top: 10px;
  clear: both;
}

.node--type-event .field-node--field-max-registrations .field-label {
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  width: auto;
}

@media screen and (min-width: 64em) {
  .node--type-event .field-node--field-max-registrations .field-label {
    float: left;
    width: 160px;
  }
}

.node--type-event .field-node--field-current-registrations {
  font-size: 18px;
  line-height: 1.2;
  padding-top: 10px;
  clear: both;
}

.node--type-event .field-node--field-current-registrations .field-label {
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  width: auto;
}

@media screen and (min-width: 64em) {
  .node--type-event .field-node--field-current-registrations .field-label {
    float: left;
    width: 160px;
  }
}

.node--type-event .field-node--field-webform-ref {
  font-size: 18px;
  line-height: 1.2;
  padding-top: 20px;
  clear: both;
}

.node--type-event .field-node--field-webform-ref .field-label {
  display: none;
}

.node--type-event .field-node--field-webform-ref .field-item {
  color: #dd1d1d;
}

.node--type-event .field-node--field-webform-ref .field-item a {
  display: inline-block;
  border: none;
  vertical-align: baseline;
  margin: 0;
  padding: 12px 20px 8px 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  text-transform: uppercase;
  background: linear-gradient(to bottom, #0071b7 0%, #005284 100%);
  border-radius: 1px;
  color: white;
  position: relative;
  z-index: 1;
  outline: none;
}

.node--type-event .field-node--field-webform-ref .field-item a:before {
  transition: background-color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 82, 132, 0);
  z-index: -1;
}

.node--type-event .field-node--field-webform-ref .field-item a:hover:before, .node--type-event .field-node--field-webform-ref .field-item a:focus:before {
  background-color: #005284;
}

.node--type-news .field-name-field-news-date {
  font-size: 18px;
  line-height: 1;
  padding-top: 40px;
}

@media screen and (min-width: 40em) {
  .node--type-news .field-name-field-news-date {
    padding-top: 80px;
  }
}

.node--type-news .field-name-field-teaser-text {
  font-size: 24px;
  line-height: 1.3;
  padding-top: 20px;
}

.user-profile .user-notice {
  margin: -2rem 0 2rem 0;
}

.user-profile .user {
  position: relative;
  margin-bottom: 40px;
}

@media screen and (min-width: 64em) {
  .user-profile .user {
    margin-bottom: 0;
  }
}

.user-profile .user .field-wrapper {
  margin-bottom: 20px;
}

.user-profile .user .field-wrapper.field-name-user-picture {
  width: calc(50% - 10px) !important;
}

@media screen and (min-width: 40em) {
  .user-profile .user .field-wrapper.field-name-user-picture {
    position: absolute;
    top: 0;
    right: 20px;
    width: calc(25% - 40px) !important;
  }
}

@media screen and (min-width: 64em) {
  .user-profile .user .field-wrapper.field-name-user-picture {
    width: calc(33.333% - 40px) !important;
  }
}

.user-profile .user .field-wrapper.field-name-user-picture .image-style-thumbnail {
  width: 100% !important;
}

.user-profile .user .field-wrapper .field-label {
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 5px;
}

.user-profile h3 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  margin-bottom: 20px;
}

@media screen and (min-width: 40em) {
  .user-profile h3 {
    margin-bottom: 40px;
  }
}

.user-profile .company .button {
  margin-top: 20px;
}

.user-profile .filepools {
  margin-top: 40px;
}

@media screen and (min-width: 40em) {
  .user-profile .filepools {
    margin-top: 60px;
  }
}

.user-profile .filepools ul {
  padding: 0;
  padding-bottom: 20px;
  margin: 0;
  list-style: none;
}

.user-profile .filepools ul li {
  text-indent: 0;
  padding-bottom: 5px;
  padding-left: 30px;
  position: relative;
}

.user-profile .filepools ul li:before {
  display: block;
  width: 6px;
  height: 4px;
  background-color: #0071b7;
  position: absolute;
  left: 8px;
  top: 10px;
  content: " ";
}

.node--company .large-3 {
  padding-bottom: 40px;
}

@media screen and (min-width: 64em) {
  .node--company .large-3 {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 40em) {
  .node--company .details .view-mode-full {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 40px;
            column-gap: 40px;
  }
}

.node--company .details .view-mode-full > fieldset {
  -webkit-column-break-inside: avoid;
          break-inside: avoid;
  margin-top: 0;
  margin-bottom: 0;
}

.node--company .details .view-mode-full > fieldset:nth-child(2) {
  margin-top: 20px;
}

@media screen and (min-width: 40em) {
  .node--company .details .view-mode-full > fieldset:nth-child(2) {
    margin-top: 0;
  }
}

.node--company .details .view-mode-full > fieldset > legend {
  display: none;
}

.node--company .details .view-mode-full .field-wrapper {
  padding-bottom: 20px;
}

.node--company .details .view-mode-full .field-wrapper .field-label {
  font-weight: 600;
  font-size: 16px;
  padding-bottom: 5px;
}

.ui-datepicker {
  border-radius: 1px;
  border: none;
  box-shadow: 0px 2px 20px -3px rgba(54, 54, 54, 0.25);
  padding: 0;
  font-family: "Myriad Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

.ui-datepicker .ui-datepicker-header {
  padding: 0;
  background: none;
  border-radius: 0;
  border: none;
  height: 40px;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all {
  margin: 0;
  padding: 0;
  top: 0;
  width: 40px;
  height: 40px;
  color: #9c9c9c;
  border-radius: none;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all:before {
  box-sizing: border-box;
  content: "\f104";
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  font-size: 18px;
  line-height: 20px;
  padding: 10px 0;
  text-align: center;
  color: #0071b7;
  font-family: FontAwesome;
  font-weight: normal;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all .ui-icon {
  display: none;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-state-hover {
  background: none;
  border: none;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-state-hover:before {
  color: #005284;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-prev {
  left: 0;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-prev:before {
  content: "\f104";
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-next {
  right: 0;
}

.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-next:before {
  content: "\f105";
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  line-height: 20px;
  font-size: 16px;
  font-weight: 600;
  padding-top: 12px;
  padding-bottom: 8px;
}

.ui-datepicker .ui-datepicker-calendar {
  margin: 0;
}

.ui-datepicker .ui-datepicker-calendar thead {
  border: none;
  background-color: #f9f9f9;
}

.ui-datepicker .ui-datepicker-calendar thead th {
  font-size: 14px;
  font-weight: normal;
}

.ui-datepicker .ui-datepicker-calendar tbody {
  border: none;
}

.ui-datepicker .ui-datepicker-calendar tbody tr td {
  padding: 0;
  border: none;
}

.ui-datepicker .ui-datepicker-calendar tbody tr td a {
  border: 1px solid white;
  padding: 5px 10px;
  font-size: 16px;
  background: none;
  color: #9c9c9c;
  font-weight: normal;
}

.ui-datepicker .ui-datepicker-calendar tbody tr td a:hover {
  color: #838383;
}

.ui-datepicker .ui-datepicker-calendar tbody tr:nth-child(2n) {
  background: none;
}

#cboxWrapper {
  border-radius: 1px;
}

#cboxLoadedContent {
  margin-bottom: 55px;
  border-radius: 1px;
}

#cboxTitle {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  float: none !important;
  overflow: auto !important;
  bottom: 5px;
  font-size: 18px;
  line-height: 20px;
  padding: 12px 0 8px 5px !important;
  color: #363636;
}

#cboxCurrent {
  position: absolute;
  bottom: 0;
  left: auto;
  float: none !important;
  right: 80px;
  text-align: right;
  bottom: 5px;
  font-size: 16px;
  line-height: 20px;
  padding: 12px 10px 8px 0 !important;
  color: #c2c2c2;
}

@media screen and (max-width: 39.9375em) {
  #cboxCurrent {
    display: none !important;
  }
}

#cboxContent {
  overflow: visible;
}

#cboxContent button {
  width: 40px;
  height: 40px;
  background: none;
  bottom: 5px;
  left: auto;
  text-indent: 0;
  color: transparent;
  overflow: hidden;
  outline: none;
  border-radius: 1px;
}

#cboxContent button:before {
  position: absolute;
  top: 5px;
  left: 5px;
  font-family: FontAwesome;
  font-size: 30px;
  content: "\f00d";
  text-align: center;
  color: #0071b7;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

#cboxContent button:hover:before {
  color: #005284;
}

#cboxContent button#cboxPrevious {
  right: 40px;
}

#cboxContent button#cboxPrevious:before {
  content: "\f104";
}

#cboxContent button#cboxNext {
  right: 0;
}

#cboxContent button#cboxNext:before {
  content: "\f105";
}

#cboxContent button#cboxClose {
  top: -10px;
  right: -10px;
  bottom: auto;
  background-color: white;
}

#cboxContent button#cboxClose:before {
  font-size: 20px;
}

/*
#cboxClose {
  text-indent: 0;
  position: absolute;
  top: -25px;
  right: -25px;
  background: none;
  background-color: color(primary);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: transparent;
  overflow: hidden;
  outline: none;

  &:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: FontAwesome;
    font-size: 20px;
    content: "\f00d";
    text-align: center;
    color: color(white);
    display: block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    padding: 10px;
  }

  &:hover {
    background-color: color(primary-hover);
  }
}

#cboxLoadingOverlay {
  background: none;
}
*/
.node--filepool .field-node--body {
  margin-bottom: 40px;
}

@media screen and (min-width: 40em) {
  .node--filepool .field-node--body {
    margin-bottom: 60px;
  }
}

.node--filepool .field-node--field-admin-ref,
.node--filepool .field-node--field-user-ref {
  margin-bottom: 20px;
}

@media screen and (min-width: 64em) {
  .node--filepool .field-node--field-admin-ref,
  .node--filepool .field-node--field-user-ref {
    width: calc(50% - 20px);
    margin-right: 40px;
    float: left;
    margin-bottom: 0;
  }
}

.node--filepool .field-node--field-admin-ref:last-child,
.node--filepool .field-node--field-user-ref:last-child {
  margin-right: 0;
}

.node--filepool .field-node--field-admin-ref .field-label,
.node--filepool .field-node--field-user-ref .field-label {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}

.node--filepool .field-node--field-admin-ref .field-items .field-item,
.node--filepool .field-node--field-user-ref .field-items .field-item {
  display: inline;
}

.node--filepool .field-node--field-admin-ref .field-items .field-item:after,
.node--filepool .field-node--field-user-ref .field-items .field-item:after {
  display: inline;
  content: ', ';
}

.node--filepool .field-node--field-admin-ref .field-items .field-item:last-child:after,
.node--filepool .field-node--field-user-ref .field-items .field-item:last-child:after {
  display: none;
}

.node--filepool .filetree {
  margin-bottom: 40px;
}

@media screen and (min-width: 40em) {
  .node--filepool .filetree {
    margin-bottom: 60px;
  }
}

.node--filepool .filetree .controls {
  margin: 0;
  list-style: none;
  font-size: 0;
  margin-bottom: 20px;
  text-align: right;
}

.node--filepool .filetree .controls li {
  font-size: 18px;
  display: inline-block;
  margin-right: 30px;
}

.node--filepool .filetree .controls li:last-child {
  margin-right: 0;
}

.node--filepool .filetree .controls li a {
  color: #9c9c9c;
}

.node--filepool .filetree .controls li a:hover {
  color: #838383;
}

.node--filepool .filetree .item-list ul {
  margin: 0;
  list-style: none;
}

.node--filepool .filetree .item-list .folder ul {
  margin-top: 13px;
}

.node--filepool .filetree .item-list .folder ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.node--filepool .filetree .item-list .file-size {
  color: #9c9c9c;
}

.node--filepool .filetree .item-list li.folder {
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
  color: #0071b7;
  padding: 16px 20px 13px 65px;
  border-bottom: 1px solid #efefef;
  cursor: pointer;
  position: relative;
}

.node--filepool .filetree .item-list li.folder:before {
  display: block;
  content: "\f114";
  font-family: FontAwesome;
  font-weight: 400;
  font-size: 30px;
  line-height: 40px;
  width: 40px;
  text-align: center;
  position: absolute;
  top: 5px;
  left: 20px;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.node--filepool .filetree .item-list li.folder:hover {
  color: #005284;
}

.node--filepool .filetree .item-list li.folder:first-child {
  border-top: 1px solid #efefef;
}

.node--filepool .filetree .item-list li.folder.expanded {
  color: #005284;
}

.node--filepool .filetree .item-list li.folder.expanded:before {
  content: "\f115";
}

.node--filepool .filetree .item-list .item-list {
  margin-left: -40px;
  margin-right: -20px;
}

.node--filepool .filetree .item-list li.file {
  font-weight: 400;
  padding: 5px 20px 6px 20px;
  border-bottom: 1px solid #efefef;
  margin-bottom: 0;
}

.node--filepool .filetree .item-list li.file span.file {
  margin-bottom: 0;
}

.node--filepool .filetree .item-list li.file:before {
  display: none;
}

.node--filepool .filetree .item-list li.file:first-child {
  border-top: 1px solid #efefef;
}

@media print {
  .teaser--box, .teaser--box span {
    text-decoration: none !important;
  }
  a[href]:after {
    content: "";
  }
  .column-block {
    margin-top: 0;
  }
  section img {
    width: auto !important;
    max-width: 50% !important;
  }
  header.page-header .header-bar #mobile-toggle {
    display: none;
  }
  header.page-header .header-bar .logo-wrapper {
    padding-left: 0;
  }
  header.page-header .header-bar .top-navigation {
    display: none;
  }
  header.page-header .header-bar .main-navigation {
    display: none;
  }
  header.page-header .region-mood-image {
    min-height: 0 !important;
  }
  header.page-header .region-mood-image .image-overlay {
    min-height: 0 !important;
    padding: 0 !important;
  }
  header.page-header .region-mood-image .bottom {
    display: none !important;
  }
  #gh-facet-search-form {
    display: none;
  }
  .button {
    display: none;
  }
  .facet--region {
    display: none;
  }
  .section--with-background {
    background-color: transparent !important;
  }
  .paragraph--type--image-gallery a.colorbox .gallery-image-wrapper {
    display: none;
  }
  .paragraph--type--image-gallery a.colorbox .print {
    display: block;
  }
  .paragraph--type--image-gallery a.colorbox:after {
    content: attr(title);
  }
  .paragraph--type--section > .paragraph + .paragraph {
    margin-top: 20px;
  }
  .teaser-image--image {
    display: none;
  }
  .teaser-content-container {
    margin: 0 !important;
  }
  .teaser-content-container .overlay {
    padding: 0 !important;
  }
  .teaser-image {
    height: auto !important;
    border: none !important;
  }
  .teaser-image > * {
    display: none !important;
  }
  .teaser-image > h3 {
    display: block !important;
    position: relative !important;
    padding: 0 !important;
  }
  .teaser-text {
    padding: 0 !important;
    padding-bottom: 20px !important;
    display: block !important;
  }
  footer.footer {
    display: none;
  }
}

footer.footer #footer-icons .footer-icon-list .view-content .views-row {
  width: 33.333%;
}

@media screen and (min-width: 40em) {
  footer.footer #footer-icons .footer-icon-list .view-content .views-row {
    width: auto;
  }
}

table.absence td {
    max-width: 350px;
}
table.grades td { max-width: 350px; }

table.homework td {
    max-width: 350px;
}
table.notes td {
    max-width: 350px;
}


