.banner{
  height: 80vh;
}

@media (min-width: 576px) {
  .banner {
    height: 90vh;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, transparent 50%, rgba(0,0,0,0.7) 100%), url("../../assets/img/beneficiosvacacionalespremium-banner.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3rem 1rem 1rem;
    text-align: center;
  }
}

@media (max-width: 575px) {
  .banner .banner-content{
    height: 100%;
    padding: 3rem 0 0;
    text-align: center;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0%, transparent 50%, rgba(0,0,0,0.2) 100%), url("../../assets/img/beneficiosvacacionalespremium-banner-mobile.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .banner .banner-image{
    background-color: #000000;
    padding: 2rem 1rem 1rem;
  }
}

@media (min-width: 992px) {
  .banner {
    height: 100vh;
    padding: 2.5rem 1rem;
  }
}

h1::after {
  content: "";
  position: absolute;
  bottom: -8px;
  height: 1px;
  width: 100%;
  background-color: #ffffff;
  left: 0;
  right: 0;
  margin: 0 auto;
}

h1 {
  font-family: 'MillerBanner-Semibold';  
  font-size: 52px;
  line-height: 45px;
  color: #ffffff;
  display: inline-block;
  position: relative;
}

@media (min-width: 575px) {
  h1 {
    font-size: 60px;
  }
}

@media (min-width: 992px) {
  h1 {
    font-size: 64px;
  }
}

.banner h2 {
  font-family: 'MillerBanner-SemiBoldItalic';
  font-size: 25px;
  line-height: 30px;
  color: #ffffff;
  position: relative;
  max-width: 250px;
  margin: 0 auto 0.8rem;
}

@media (min-width: 575px) {
  .banner h2 {
    max-width: 280px;   
  }
}

@media (min-width: 992px) {
  .banner h2 {
    font-size: 27px;
    max-width: 300px;
  }
}

.banner h2::after, .banner h2::before {
  content: "";
  height: 1px;
  width: 30px;
  position: absolute;
  top: 50%;
  background: #ffffff;
}

@media (min-width: 576px) {
  .banner h2::after, .banner h2::before {
    width: 13px;
  }
}

@media (min-width: 992px) {
  .banner h2::after, .banner h2::before {
    width: 18px;
  }
}

.banner h2::after {
  right: 0;
}

.banner h2::before {
  left: 0;
}

.banner h3 {
  font-family: 'MillerBanner-Semibold';
  font-size: 27px;
  line-height: 29px;
    color: #ffffff;
    margin-bottom: 0.5rem;
}

.banner h4 {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 23px;
  letter-spacing: 0.5px;
  color: #CABCA5;
}

@media (min-width: 768px) {
  .banner h3 {
    font-size: 49px;
    line-height: 58px;
    margin-bottom: 0;
  }

  .banner h4 {
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 1px;
    color: #ffffff;
  }
}

.intro {
  background-color: #ffffff;
  padding: 1rem 0 0 1rem;
}

@media (min-width: 992px) {
  .intro {
    padding: 3rem 0 0;
  }
}

.intro h4 {
  text-transform: uppercase;
  font-family: 'MillerBanner-Bold';
  text-align: center;
  font-size: 27px;
  line-height: 76px;
  color: #000000;
  margin-bottom: 0.5rem;
}

@media (min-width: 992px) {
  .intro h4 {
    font-size: 42px;
    line-height: 76px;
    margin-bottom: 2rem;
  }
}

.intro #carousel-details h5 {
  margin: 0.5rem 1rem;
}

.intro h5 {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 29px;
  line-height: 30px;
  color: #242222;
  text-transform: capitalize;
  margin: 1.5rem 1rem;
}

@media (min-width: 992px) {
  .intro h5 {
    font-size: 29px;
    line-height: 30px;
  }
}

.card-img-overlay {
  border-radius: 0;
}

.card-img, .card-img-top, .card-img-bottom {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

#carousel-destinations .card {
  border: none;
  border-radius: 0;
  background-color: #f8f4f1;
  cursor: pointer;
}

@media (min-width: 768px) {
  #carousel-destinations .card{
    cursor: context-menu;
  }
}

#carousel-destinations .card .card-body{
  padding: 1rem 0.5rem 0.5rem;
}

#carousel-destinations .card .card-title {
  font-family: 'MillerBanner-Bold';
  font-size: 19px;
  line-height: 23px;
  text-align: center;
  margin-bottom: 0;
  text-transform: uppercase;
}

#carousel-destinations .card .learnmore {
  color: #AD5F0B;
  text-transform: uppercase;
  margin: 5px 0;
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-size: 14px;
  position: relative;
}

#carousel-destinations .card .learnmore i::before{
  font-weight: 600 !important;
  width: 5px;
}

#carousel-destinations .card .card-img-top {
  height: auto;
}

#carousel-destinations .card .card-img-overlay .card-title, 
#carousel-details .card .card-img-overlay .card-title {
  font-family: futura-pt, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
  text-transform: uppercase;
  text-align: center;
  background-color: #ffffff;
  padding: 10px 15px;
  display: inline-block;
}

@media (min-width: 992px) {
  #carousel-destinations .card .card-img-overlay .card-title, 
  #carousel-details .card .card-img-overlay .card-title {
    font-size: 20px;
    line-height: 30px;
  }
}

#carousel-details .card .card-img-overlay .card-title {
  padding: 0;
  margin-bottom: 0;
}

#carousel-destinations .card-img-overlay, 
#carousel-details .card-img-overlay {
  top: auto;
  bottom: -2.7rem;
  text-align: center;
}

#carousel-destinations .details, 
#carousel-details .details {
  padding: 2rem 2rem 0.5rem;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  /*column-rule: 15px solid white;*/
  column-gap: 2rem;
}

@media(min-width: 992px){
  #carousel-destinations .details, 
  #carousel-details .details {
    padding: 3rem 2rem 0.5rem;
  }
}

#carousel-details .details {
  padding: 1rem 1.5rem 1.3rem;
  margin-bottom: 0;
}

#carousel-destinations .details li::marker, 
#carousel-details .details li::marker {
  color: #D5740B;
}

#carousel-destinations .details li, 
#carousel-details .details li {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 18px;
  margin-bottom: 16px;  
  break-inside: avoid-column;
}

@media (min-width: 992px) {
  #carousel-destinations .details li, 
  #carousel-details .details li {
    font-size: 17px;
    line-height: 18px
  }
}

#carousel-destinations .owl-item img, 
#carousel-destinations .card-img, 
#carousel-details .card-img {
  height: auto;
}

#carousel-destinations .owl-item {
  background-color: #F8F4F1;
}

@media (min-width: 768px) {
  #carousel-destinations .owl-item {
    opacity: 0.5;
  }
}

@media (min-width: 768px) {
  #carousel-destinations .owl-item.active.center {
    opacity: 1;
  }
}

#carousel-destinations .owl-nav button {
  position: absolute;
  top: 42%;
  width: 65px;
  height: 65px;
  border: 1px solid #E4E4E4;
  border-radius: 50%;
  background-color: #ffffff !important;
  transition: left 1s ease, right 1s ease;
}

#carousel-destinations .owl-nav button > img,
#carousel-destinations .owl-nav button > i {
  width: 30px;
  font-size: 30px;
}

#carousel-destinations .owl-nav button.owl-prev {
  left: 1%;
}

@media (min-width: 1000px) {
  #carousel-destinations .owl-nav button.owl-prev {
    left: 15%;
  }
}

#carousel-destinations .owl-nav button.owl-next {
  right: 1%;
}

@media (min-width: 1000px) {
  #carousel-destinations .owl-nav button.owl-next {
    right: 15%;
  }
}

#carousel-destinations .owl-stage {
  display: flex;
}

#carousel-destinations .owl-dots{
  display: none;
}

#carousel-details .modal-body {
  background-color: #f8f4f1;
}

@media (min-width: 1200px){
  .dining .container{
    max-width: 1250px;
  }
}

.dining .title > div:first-child {
  position: relative;
}

.dining .title > div:first-child:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #d5740b;
  width: 60px;
  bottom: 0;
}

@media (min-width: 768px) {
  .dining .title > div:first-child:after {
    border-right: 1px solid #d5740b;
    border-bottom: none;
    height: 60%;
    right: 14px;
    bottom: auto;
    width: auto;
  }
}

.extraordinary {
  padding: 2.5rem 1rem;
}

@media (min-width: 992px) {
  .extraordinary {
    padding: 3rem 1rem;
  }
}

.extraordinary .subtitle {
  font-family: 'MillerBanner-BoldItalic';
  font-size: 36px;
  line-height: 50px;
  text-transform: capitalize;
  color: #000000;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .extraordinary .subtitle {
    font-size: 47px;
    line-height: 50px;
  }
}

.extraordinary .title {
  color: #AD5F0B;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 28px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .extraordinary .title{
    font-size: 27px;
    line-height: 50px;
  }
}

.extraordinary .description {
  padding: 1rem 0 0 1rem;
}

.extraordinary .description p {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 28px;
}

@media (min-width: 992px) {
  .extraordinary .description p {
    max-width: 420px;
    font-size: 20px;
    line-height: 30px;
  }
}

.dining {
  background-color: #F8F4F1;
  padding: 1.5rem 0 1rem;
}

@media (min-width: 992px) {
  .dining {
    padding: 3rem 0;
  }
}

.dining .title {
  max-width: 950px;
  margin: 0 auto;
}

.dining .title .encabezado {
  font-family: 'MillerBanner-BoldItalic';
  font-size: 32px;
  line-height: 50px;
  text-transform: capitalize;
  margin-bottom: 0.5rem;
}

@media (min-width: 992px) {
  .dining .title .encabezado {
    font-size: 27px;
    line-height: 50px;
    margin-bottom: 0;
  }
}

.dining .title p {
  font-family: 'MillerBanner-Semibold';
  font-size: 26px;
  line-height: 34px;
}

@media (min-width: 992px) {
  .dining .title p {
    font-size: 25px;
    line-height: 31px;
  }
}

.dining .subtitle {
  max-width: 960px;
  margin: 0 auto;
}

.dining .subtitle p{
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 28px;
}

@media (min-width: 992px) {
  .dining .subtitle p {
    font-size: 20px;
    line-height: 30px;
  }
}

.dining .card:last-child {
  margin-right: 0;
}

@media (min-width: 992px) {
  .dining .card:first-child {
    margin-left: 0;
  }
}

.dining .card {
  border: none;
  text-align: center;
  border-radius: 0 !important;
  background-color: transparent;
}

@media (min-width: 768px) {
  .dining .card {
    margin: 0 10px;
    padding: 14px 0 0;
    background-color: #ffffff;
  }
}

.dining .card .title {
  font-family: 'MillerBanner-Semibold';
  text-align: center;
  text-transform: capitalize;
  font-size: 18px;
  line-height: 20px;
  padding: 14px 0 0.7rem;
  background-color: #fff;
  margin-bottom: 0;
  width: 100%;
}

@media (min-width: 992px) {
  .dining .card .title {
    font-size: 20px;
    line-height: 20px;
    padding: 0 0 0.7rem;
  }
}

.dining .card .card-body {
  background-color: #ffffff;
}

.dining .card .card-title {
  font-family: futura-pt-bold, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 22px;
}

@media (min-width: 992px) {
  .dining .card .card-title {
    font-size: 17px;
    line-height: 22px;
  }
}

.dining .card .card-text {
  font-family: 'MillerBanner-Roman';
  font-size: 16px;
  line-height: 21px;
}

@media (min-width: 992px) {
  .dining .card .card-text {
    font-size: 16px;
    line-height: 21px;
  }
}

.card-group {
  flex: auto;
}

.card-group > .card {
  margin-bottom: 0.5rem;
  flex: 0 0 auto;
}

@media (min-width: 576px) {
  .card-group > .card {
    flex: 0 0 45%;
  }
}

@media (min-width: 991px) {
  .card-group > .card {
    flex: 1 0 0%;
  }
}

.modal-content, .modal-header {
  border-radius: 0;
  border-bottom: 0;
}

#carousel-details .modal-header .btn-close {
  position: absolute;
  right: 1rem;
  margin: auto;
}

#carousel-details .card-img-overlay {
  position: relative;
  top: 0;
  bottom: 0;
}

#carousel-details .modal-content {
  display: none;
}

.card {
  border: none;
  border-radius: 0;
}

.modal-dialog {
  margin: 0 auto;
}

footer {
  background: #000000;
  padding: 1rem;
  text-align: center;
}

@media (min-width: 768px) {
  footer {
    padding: 1.5rem 2rem;
  }
}

footer .logo{
  max-width: 150px;
}

footer a{
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
}

footer a:hover{
  color: #AD5F0B;
}

@media (min-width: 768px) {
  footer a{
    font-size: 18px;
  }
}