
/* ---------------------------------- */
/* Intro Banner
------------------------------------- */

.intro-banner {
  padding: 105px 0;
  position: relative;
  &.big-padding {
    padding: 130px 0;
  }
  .container {
    z-index: 100;
    position: relative;
  }
  &:after, &:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    top: 0;
    left: 0;
    z-index: 15;
    background: linear-gradient(to right, rgba(250, 250, 250, 1) 20%, rgba(250, 250, 250, 0.95) 50%, rgba(250, 250, 250, 0.1) 80%, rgba(250, 250, 250, 0) 100%);
  }
  &:after {
    z-index: 5;
    background-color: #fafafa;
  }
  .background-image-container {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 100% 60%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 90%;
    left: 10%;
    z-index: 10;
    overflow: hidden;
  }
  /* Disabled Gradient */
  &.disable-gradient {
    &:before {
      background: #f2f2f2;
      opacity: 0.85;
    }
    .background-image-container {
      left: 0;
      width: 100%;
    }
  }
}

/* Banner Headline */
.banner-headline {
  display: block;
  max-width: 55%;
  h1, h2, h3, h4 {
    font-size: 28px;
    font-weight: 300;
    color: #777;
    line-height: 42px;
  }
  strong {
    font-weight: 600;
    color: $body-heading-color;
    &.color {
      color: $primary-color;
    }
  }
}

/* Alternative Headline */

.banner-headline-alt {
  margin: -10px 0 0 0;
  display: block;
  h3 {
    font-size: 40px;
    font-weight: 600;
    color: $body-heading-color;
    line-height: 50px;
  }
  span {
    font-size: 24px;
    color: #888;
    font-weight: 300;
    line-height: 34px;
    margin-top: 5px;
    display: inline-block;
  }
}

.dark-overlay .banner-headline-alt {
  h3 {
    color: #fff;
  }
  span {
    color: rgba(255, 255, 255, 0.7);
  }
}

/* Banner Search Form */

.intro-banner-search-form {
  display: flex;
  width: 100%;
  background-color: #fff;
  border-radius: $global-border-radius;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.09);
}

/* Video */

.video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  overflow: hidden;
  background-size: cover;
  background-position: 50%;
  video {
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -10;
    background-size: cover;
    transition: 1s opacity;
    position: absolute;
    z-index: 9;
  }
}

/* Field Row Styles */

.intro-search-field {
  padding: 10px 12px;
  border-right: 1px solid #e4e4e4;
  flex: 1;
  align-items: center;
  display: flex;
  position: relative;
  .field-title {
    content: attr(data-field-tiele);
    position: absolute;
    top: 0;
    left: 0;
    background: $primary-color;
    color: #fff;
    border-radius: $global-border-radius;
    padding: 5px 10px;
    line-height: 22px;
    transform: translateY(calc(-100% - 15px));
    cursor: default;
  }
}

.intro-banner-search-form .intro-search-field:nth-last-child(2) {
  border-right: none;
}

.intro-search-button {
  margin: 8px;
  margin-left: 0;
  flex: auto;
  flex-grow: 0;
  display: flex;
  align-items: center;
  .button {
    height: 52px;
    line-height: 52px;
    padding: 0 30px;
    font-size: 18px;
  }
}

/* Field Styles */

.intro-banner-search-form {
  input {
    &:focus {
      box-shadow: none;
    }
    box-shadow: none;
    font-size: 18px;
    margin: 0;
    &::placeholder {
      color: #888;
    }
  }
  .input-with-icon {
    align-self: center;
    flex: 1;
  }
  input {
    padding: 10px 15px;
  }
  .input-with-icon {
    input {
      padding: 10px 15px;
      padding-left: 43px;
    }
    i {
      position: absolute;
      right: auto;
      left: 10px;
      top: calc(50% - 1px);
      font-size: 24px;
      color: #b0b0b0;
    }
  }
}

/* Autocomplete Adjustment */

.intro-search-field {
  &.with-autocomplete .pac-container {
    border: none;
    padding-top: 0;
    z-index: 9;
    left: 0 !important;
    top: 100% !important;
    border-radius: 0 0 $global-border-radius $global-border-radius;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    width: 100% !important;
    margin-top: 0;
    overflow: visible;
    &:before {
      content: "";
      position: absolute;
      background-color: #fff;
      width: 100%;
      height: 5px;
      display: block;
      top: -5px;
      left: 0;
    }
  }
  .bootstrap-select.btn-group button {
    padding: 0 15px;
    box-shadow: none;
    font-size: 18px;
  }
}

/* Dropdown Adjustment */

/* IE 11 Fixes */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .intro-search-field .field-title {
    transform: translateY(-100%);
    margin-top: -15px;
  }
  .intro-banner-search-form input {
    line-height: 20px;
  }
  .intro-search-field .bootstrap-select.open .dropdown-menu {
    top: 55px;
  }
}

/* IE 11 Fixes - End */

/* Intro Stats */

.intro-stats {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  li {
    flex: auto;
    flex-grow: 0;
    margin-right: 35px;
    padding-right: 35px;
    border-right: 1px solid #e0e0e0;
    &:last-child {
      margin-right: 0;
      padding-right: 0;
      border-right: none;
    }
    span {
      display: block;
      margin: 0;
      padding: 0;
    }
    strong {
      display: block;
      margin: 0;
      padding: 0;
      font-weight: 600;
      color: $body-heading-color;
      font-size: 28px;
      margin-bottom: 2px;
    }
    span {
      font-weight: 300;
      color: #888;
      font-size: 18px;
    }
  }
}

/* Dark Style */

.intro-banner.dark-overlay {
  &:before {
    background: #333;
    opacity: 0.75;
  }
  .background-image-container {
    left: 0;
    width: 100%;
    background-position: 100%;
  }
  .intro-stats li span {
    color: rgba(255, 255, 255, 0.7);
  }
  .banner-headline {
    strong, h1, h2, h3, h4 {
      color: rgba(255, 255, 255, 0.7);
    }
  }
  .intro-stats li strong, .banner-headline strong {
    color: #fff;
  }
  .intro-banner-search-form {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
  }
  .intro-stats li {
    border-right: 1px solid rgba(255, 255, 255, 0.25);
    &:last-child {
      border-right: none;
    }
  }
}

/* Intro Banner Media Queries
------------------------------------- */
@media (max-width: 1366px) {
  .banner-headline {
    h1, h2, h3, h4 {
      font-size: 26px;
      line-height: 42px;
    }
  }
}

@media (max-width: 1240px) {
  .banner-headline {
    max-width: 65%;
  }
}

@media (max-width: 992px) {
  .intro-search-field .bootstrap-select.btn-group .dropdown-toggle .filter-option {
    height: auto;
    line-height: 20px;
  }
  .intro-banner {
    padding: 70px 0;
  }
  .banner-headline {
    max-width: 100%;
    h1, h2, h3, h4 {
      font-size: 24px;
      line-height: 38px;
    }
  }
  /* Alternative Banner Style */
  .intro-banner {
    &.dark-overlay .intro-banner-search-form {
      box-shadow: none;
    }
    &.big-padding {
      padding: 70px 0;
    }
  }
  .banner-headline-alt {
    margin-bottom: 0;
    h3 {
      font-size: 36px;
      line-height: 42px;
    }
    span {
      font-size: 22px;
      line-height: 32px;
    }
  }
  /* Photo Position */
  .intro-banner {
    &:after, &:before {
      background: rgba(250, 250, 250, 0.9);
    }
    .background-image-container {
      background-size: cover;
      height: 100%;
      width: 100%;
      left: 0;
    }
  }
  /* Photo Position - End*/
  .intro-banner-search-form {
    .intro-search-field .bootstrap-select.btn-group button, input {
      height: 56px;
      padding: 15px 22px;
    }
    .input-with-icon {
      i {
        left: 17px;
      }
      input {
        padding-left: 50px;
      }
    }
    &.margin-top-100, &.margin-top-95, &.margin-top-90, &.margin-top-85 {
      margin-top: 20px !important;
    }
    flex-direction: column;
    background: transparent;
    box-shadow: none;
    margin-top: 20px;
    .intro-search-field {
      padding: 0;
      border-radius: $global-border-radius;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
      margin-top: 20px;
      &.with-label {
        margin-top: 80px;
      }
    }
    .intro-search-button {
      margin-top: 30px;
    }
  }
  /* Intro Stats */
  .intro-stats {
    flex-direction: column;
    background: #fff;
    padding: 20px;
    border-radius: $global-border-radius;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    justify-content: center;
    li {
      display: flex;
      flex-direction: column;
      margin: 0 0 10px 0;
      padding: 0 0 10px 0;
      border: none;
      border-bottom: 1px solid #eee;
      width: 100%;
      align-self: center;
      text-align: center;
      &:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border: none;
      }
    }
  }
}