body {
  font-family: var(--lato);
  color: var(--primaryColor); }

p,
li {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 40px; }

b,
strong {
  font-weight: 700; }

.banner.video {
  position: relative;
  height: 630px;
  padding: 0px 95px;
  display: flex;
  align-items: center; }
  @media (max-width: 1145px) {
    .banner.video {
      padding: 0px 50px;
      margin: 20px; } }
  @media (max-width: 767px) {
    .banner.video {
      align-items: center;
      height: 400px;
      padding: 0px 30px;
      padding: 0px 20px; } }
  .banner.video .background-gradient {
    display: none; }
  .banner.video .hero-video-wrapper {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: block;
    z-index: -1; }
    .banner.video .hero-video-wrapper video {
      object-fit: cover;
      display: block;
      width: 100%;
      height: 100%; }
  .banner.video .hero-image-wrapper {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: none; }
    .banner.video .hero-image-wrapper img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      object-position: top center;
      display: block; }
  .banner.video .banner-inner {
    text-align: center;
    max-width: 1130px;
    margin: 0 auto 70px; }
    @media (max-width: 1145px) {
      .banner.video .banner-inner {
        max-width: 565px;
        margin-bottom: 0; } }
    @media (max-width: 865px) {
      .banner.video .banner-inner {
        width: 100%;
        max-width: 500px;
        text-align: center; } }
    @media (max-width: 767px) {
      .banner.video .banner-inner {
        padding: 0px; } }
    .banner.video .banner-inner .headline {
      font-family: var(--oswald);
      font-size: 85px;
      line-height: 111px;
      font-weight: var(--regular);
      color: #fff; }
      @media (max-width: 1145px) {
        .banner.video .banner-inner .headline {
          font-size: 60px;
          line-height: 80px; } }
      @media (max-width: 1145px) {
        .banner.video .banner-inner .headline {
          font-size: 60px;
          line-height: 81px; } }
      @media (max-width: 767px) {
        .banner.video .banner-inner .headline {
          font-size: 45px;
          line-height: 65px; } }
      @media (max-width: 414px) {
        .banner.video .banner-inner .headline {
          font-size: 40px;
          line-height: 55px; } }
    .banner.video .banner-inner .tagline {
      color: #fff;
      font-size: 22px;
      text-transform: uppercase;
      padding-left: 10px;
      margin-bottom: 10px;
      letter-spacing: 5px;
      font-weight: 300px; }
      @media (max-width: 380px) {
        .banner.video .banner-inner .tagline {
          font-size: 18px;
          border-left: 0px; } }
    .banner.video .banner-inner .byline {
      font-family: var(--lato);
      font-weight: var(--bold);
      font-size: 20px;
      letter-spacing: 2px;
      line-height: 40px;
      margin-top: 10px;
      margin-bottom: 0px;
      color: #fff; }
      @media (max-width: 1300px) {
        .banner.video .banner-inner .byline {
          font-size: 21px;
          line-height: 35px; } }
      @media (max-width: 767px) {
        .banner.video .banner-inner .byline {
          font-size: 18px;
          line-height: 28px; } }
      @media (max-width: 550px) {
        .banner.video .banner-inner .byline {
          display: none; } }
    .banner.video .banner-inner .reviews-logo {
      height: 65px;
      width: auto;
      margin-top: 50px; }
      @media (max-width: 767px) {
        .banner.video .banner-inner .reviews-logo {
          margin-top: 0px;
          height: 50px; } }
    .banner.video .banner-inner .free-consult-button {
      display: flex;
      justify-content: center; }
      @media (max-width: 767px) {
        .banner.video .banner-inner .free-consult-button {
          position: absolute;
          bottom: 0px;
          left: 0px;
          width: 100%; } }
      @media (max-width: 767px) {
        .banner.video .banner-inner .free-consult-button .button {
          width: auto;
          flex-grow: 1; } }
      .banner.video .banner-inner .free-consult-button .video-play-button {
        height: 70px;
        width: 70px;
        margin-left: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: border 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98), background-color 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98);
        border: 3px solid var(--tertiaryColor); }
        .banner.video .banner-inner .free-consult-button .video-play-button .arrow {
          width: 15px;
          height: 20px;
          background-color: var(--secondaryColor);
          clip-path: polygon(100% 50%, 0 0, 0 100%);
          transition: background-color 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98); }
        .banner.video .banner-inner .free-consult-button .video-play-button:hover {
          background-color: var(--tertiaryColor); }
          .banner.video .banner-inner .free-consult-button .video-play-button:hover .arrow {
            background-color: #fff; }

.banner.novideo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 865px) {
    .banner.novideo {
      align-items: flex-end; } }
  .banner.novideo .background-gradient {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: black;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 0%); }
    @media (max-width: 767px) {
      .banner.novideo .background-gradient {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%); } }
  .banner.novideo .hero-video-wrapper {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none; }
  .banner.novideo .hero-image-wrapper {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -1; }
    .banner.novideo .hero-image-wrapper img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      object-position: top center;
      display: block; }
      @media (max-width: 1145px) {
        .banner.novideo .hero-image-wrapper img {
          object-position: 40% center; } }
      @media (max-width: 767px) {
        .banner.novideo .hero-image-wrapper img {
          object-position: top center; } }
  .banner.novideo .banner-inner {
    flex-basis: 100%;
    z-index: 1;
    text-align: left;
    padding: 100px 40px 160px;
    display: flex;
    justify-content: flex-end; }
    @media (max-width: 1145px) {
      .banner.novideo .banner-inner {
        padding: 100px 40px 40px; } }
    @media (max-width: 865px) {
      .banner.novideo .banner-inner {
        width: 100%; } }
    @media (max-width: 767px) {
      .banner.novideo .banner-inner {
        display: block;
        padding: 235px 20px 30px;
        max-width: 565px;
        margin: 10px auto 0;
        text-align: center; } }
    .banner.novideo .banner-inner .banner-content {
      width: 50%; }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .banner-content {
          max-width: 600px;
          width: auto; } }
    .banner.novideo .banner-inner .tagline {
      color: #fff;
      font-size: 22px;
      text-transform: uppercase;
      font-weight: bold;
      margin-bottom: 20px;
      letter-spacing: 5px;
      font-weight: 300px; }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .tagline {
          font-size: 16px;
          line-height: 26px;
          margin-bottom: 5px; } }
    .banner.novideo .banner-inner .headline {
      font-family: var(--oswald);
      font-size: 85px;
      line-height: 95px;
      font-weight: var(--regular);
      margin-bottom: 20px;
      color: #fff; }
      @media (max-width: 1145px) {
        .banner.novideo .banner-inner .headline {
          font-size: 50px;
          line-height: 71px; } }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .headline {
          font-size: 44px;
          line-height: 52px;
          margin-bottom: 20px; } }
    .banner.novideo .banner-inner .byline {
      font-family: var(--lato);
      font-weight: var(--bold);
      font-size: 20px;
      letter-spacing: 2px;
      line-height: 40px;
      color: #fff;
      margin-bottom: 0; }
      @media (max-width: 1300px) {
        .banner.novideo .banner-inner .byline {
          font-size: 21px;
          line-height: 35px; } }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .byline {
          font-size: 18px;
          line-height: 28px;
          display: none; } }
    .banner.novideo .banner-inner .reviews-logo {
      height: 55px;
      width: auto;
      margin-top: 30px; }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .reviews-logo {
          margin-top: 0px;
          height: 42px; } }
    .banner.novideo .banner-inner .free-consult-button {
      display: flex;
      justify-content: center;
      margin-top: 20px; }
      @media (max-width: 865px) {
        .banner.novideo .banner-inner .free-consult-button {
          justify-content: center; } }
      @media (max-width: 767px) {
        .banner.novideo .banner-inner .free-consult-button .button {
          width: auto;
          flex-grow: 1; } }
      .banner.novideo .banner-inner .free-consult-button .video-play-button {
        height: 70px;
        width: 70px;
        margin-left: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: border 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98), background-color 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98);
        border: 3px solid var(--secondaryColor); }
        .banner.novideo .banner-inner .free-consult-button .video-play-button .arrow {
          width: 15px;
          height: 20px;
          background-color: #fff;
          clip-path: polygon(100% 50%, 0 0, 0 100%);
          transition: background-color 0.5s cubic-bezier(0.17, 0.66, 0.34, 0.98); }
        .banner.novideo .banner-inner .free-consult-button .video-play-button:hover {
          border: 3px solid var(--tertiaryColor); }
          .banner.novideo .banner-inner .free-consult-button .video-play-button:hover .arrow {
            background-color: var(--tertiaryColor); }
