﻿.rv-banner {
  min-height:200px;
  margin-bottom: 30px;
  align-items: flex-start;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  width:100%;
  overflow:hidden
}
@media(max-width:1023px) {
  .rv-banner {
    align-items:stretch
  }
}
@media(min-width:1024px) {
  .rv-banner {
    min-height: 275px;
  }
}

.rv-banner:before {
  content:"";
  background-repeat:no-repeat;
  background-position:bottom;
  position:absolute;
  z-index:5;
  width: calc(100% + 2px);
  bottom: -1px;
  left: -1px;
  padding-top:50%;
  background-image: url(../img/waves-mobile.svg);
  background-size: 100%;
  pointer-events:none
}
@media(min-width:1024px) {
  .rv-banner:before {
    bottom: -1px;
    left: -1px;
    width: calc(100% + 2px);
    background-image: url(../img/waves-desktop.svg);
    background-size: 150%;
  }
}

.rv-banner__box {
  color:#fff;
  text-align:left;
  line-height:1;
  letter-spacing:-1px;
  align-items:flex-start;
  flex-direction:column;
  display:flex;
  padding:20px;
  flex:1;
  background:rgba(0,0,0,.5);
}
@media(min-width:1024px) {
  .rv-banner__box {
    display: inline-block;
    padding: 30px;
  }
}

.rv-banner__picture {
  max-height:325px;
  position:absolute;
  top:0;
  left:0;
  overflow:hidden;
  width:100%;
  height:100%;
}
@media(min-width:1024px) {
  .rv-banner__picture {
    max-height:none
  }
}

.rv-banner__picture img {
  top:50%;
  height:auto;
  position:absolute;
  transform:translate(-50%,-50%);
  left:50%;
  width:100%;
  height:100%;
  object-position:center;
  object-fit:cover;
}
@supports (object-fit:cover) {
  .rv-banner__picture img {
    object-fit:cover;
    height:inherit;
    top:auto;
    left:auto;
    transform:none
  }
}

.rv-banner__heading {
  font-weight: 300;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0;
}
.rv-banner__heading:empty {
  display:none
}
@media(min-width:768px) {
  .rv-banner__heading {
    font-size:25px;
    letter-spacing:-1px
  }
}
@media(min-width:1024px) {
  .rv-banner__heading {
    font-size:40px;
    margin-top:0
  }
}

.rv-banner__heading,
.rv-banner__sub-heading {
  text-align:left;
  text-transform:uppercase;
  width:100%
}
@media(min-width:1024px) {
  .rv-banner__heading,
  .rv-banner__sub-heading {
    min-width:300px;
    width:auto
  }
}

.rv-banner__sub-heading {
  font-size:48px;
  font-weight:300;
  line-height:1;
  letter-spacing:-1px
}
@media(min-width:768px) {
  .rv-banner__sub-heading {
    font-size:70px;
    line-height:80px
  }
}
@media(min-width:1024px) {
  .rv-banner__sub-heading {
    font-size:90px;
    line-height:80px;
    margin-bottom:20px
  }
}
.rv-banner__heading strong,
.rv-banner__sub-heading strong {
  font-weight:700
}

.rv-banner__blurb {
  text-align:left;
  line-height:1.5;
  color:#fff;
  margin-top:0;
  width:100%
}
@media(min-width:1024px) {
  .rv-banner__blurb {
    max-width:430px
  }
}

.rv-banner__blurb p {
  display:none;
  margin-top:0;
  font-weight:400
}
@media(min-width:1024px) {
  .rv-banner__blurb p {
    display:block
  }
}

.rv-banner__content {
  padding-right:.9375rem;
  padding-left:.9375rem;
  max-width:75rem;
  margin-left:auto;
  margin-right:auto;
  margin-top:60px;
  z-index:5;
  width:100%
}
@media screen and (min-width:48em) {
  .rv-banner__content {
    padding-right:.9375rem;
    padding-left:.9375rem
  }
}
@media(min-width:768px) {
  .rv-banner__content {
    margin-bottom:145px
  }
}

.rv-banner__content p {
  margin-bottom:0
}

.rv-banner .button {
  display:inline-block;
  margin-top:25px;
  margin-bottom:5px;
  font-weight:700;
  color:#fff;
  border:2px solid #fff
}
@media(min-width:1024px) {
  .rv-banner .button {
    margin-bottom:0
  }
}
.rv-banner .button:hover {
  color:#fff;
  background:#002235
}
@media(min-width:1024px) {
  .rv-banner .button:hover {
    background:hsla(0,0%,100%,.2)
  }
}

.rv-banner--home {
  margin-bottom:0;
}
@media(min-width:1024px) {
  .rv-banner--home {
    min-height:620px
  }
}

@media (min-width: 1024px) {
    .rv-banner--home::before {
        background-size: 2150px;
    }
}

.rv-banner--home .rv-banner__heading {
  margin-bottom:10px
}
@media(min-width:768px) {
  .rv-banner--home .rv-banner__picture {
    min-height:420px
  }
}

.rv-banner--home .rv-banner__picture {
  min-height:325px
}

.rv-banner--home .rv-banner__content {
  display:flex;
  flex:1;
  flex-flow:column nowrap;
  margin-top:30px
}
@media(min-width:1024px) {
  .rv-banner--home .rv-banner__content {
    display:block;
    margin-top:60px
  }
}

@media print {
  .rv-banner__picture {
    display: none;
  }
  .rv-banner__box {
    background:none;
    padding-left:0
  }
  .rv-banner__heading,
  .rv-banner__sub-heading {
    color:#000;
    margin:0;
    background:none;
    padding-right:.9375rem;
    padding-left:.9375rem
  }
  .rv-banner {
    min-height:0
  }
  .rv-banner__content {
    padding:0;
    margin:0 auto;
    padding-right: .9375rem;
    padding-left: .9375rem;
  }
}