/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

body {
  height:100%;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.8;
  color: #77777a;
  font-weight: 300;
}


h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 300;
  line-height: 1.5;
}

h1, .h1 {
  font-size: 3.5rem;
}

h2, .h2 {
  font-size: 2.5rem;
}

h3, .h3 {
  font-size: 1.75rem;
}

h4, .h4 {
  font-size: 1.5rem;
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

section.top30 {
    padding-top:30px;
}
section.top50 {
    padding-top:50px;
}

section.booknow {
  background-color: #e4e4e5;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

a h6.linkcontact {
  color: #000;
  text-decoration: none;
  font-weight: 700!important;
}

a h6.linkcontact:hover {
  color: #000;
  text-decoration: none;
}

a.linkcontact {
  color: #000;
  text-decoration: none;
  font-weight: 700!important;
}

a.linkcontact:hover {
  color: #000;
  text-decoration: none;
}

.li-none {
  list-style: none;
}

.tagline  {
  height:100%;
  font-family: 'Times New Roman', serif;
  font-style: italic !important;
  font-weight: 400;
  color: #000;
}

.black {
  color: #000;
}

.white {
  color: #fff;
}

.turquesa {
  color: #12a7a1;
}

.bold {
  font-weight: 700;
}

.promocode-dark {
  padding-left: 10px;
  color: #000000;
}

.promocode-light {
  padding-left: 10px;
  color: #ffffff;
}


.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid black;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 1px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-outline-primary {
  color: #212529;
  border-color: #212529;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #12a7a1;
  border-color: #12a7a1;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-white {
  color: #fff;
  border-color: #fff;
}

.btn-outline-white:hover {
  color: #fff;
  background-color: #12a7a1;
  border-color: #12a7a1;
}

.btn-outline-white:focus, .btn-outline-white.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-ulc {
  color: #fff;
  border-color: #12a7a1;
  background-color: #12a7a1;  
  font-weight: 600;
}

.btn-ulc:hover {
  color: #12a7a1;
  background-color: rgba(18, 167, 161, 0);
  border-color: #12a7a1;
}

.btn-lateral {
  margin-left: 12px;
}

.separador-10{height:10px;}
.separador-20{height:20px;}
.separador-30{height:30px;}
.separador-40{height:40px;}
.separador-50{height:50px;}
.separador-60{height:60px;}
.separador-70{height:70px;}
.separador-80{height:80px;}
.separador-90{height:90px;}

.img-fluid {margin: 0 auto;}




header.masthead {
  background: no-repeat center center;
  background-size: cover;
  min-height: 450px;
}



/* top menu CSS ---*/

.bg-light {
    background-color: #fff!important;
    box-shadow: 0 3px 5px rgba(0,0,0,.1)
}

.navbar-expand-lg .navbar-nav.side-nav{flex-direction: column;}
.card {margin-bottom: 15px; border-radius:0; box-shadow: 0 3px 5px rgba(0,0,0,.1); }
.header-top {box-shadow: 0 3px 5px rgba(0,0,0,.1)}
.leftmenutrigger{display: none}

@media(min-width:992px) {
.leftmenutrigger{display: block;display: block;margin: 20px;cursor: pointer;}
.navbar-nav.side-nav.open {left:0;}
.navbar-nav.side-nav{
  background: #fff;
  box-shadow: 2px 1px 2px rgba(0,0,0,.1);
  position:fixed;top:80px;
  flex-direction: column!important;
  left:-320px;
  width:300px;
  padding: 20px;
  overflow-y:auto;
  bottom:0;
  overflow-x:hidden;
}
}
.animate{-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.nav-link.active  {
  font-weight: 700;
}
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,0);
    border-radius: 0rem;
}

/* top menu CSS ---*/

/* section ---*/
.section-intro {
  background-color:#e4e4e5;
  color: #414042;
}

.section-turquesa {
  background-color:#12a7a1;
  color: #fff;
}

.section-trama {
  background-image: url("../images/ulc-trama-bg.png");
  background-repeat: repeat;
}

.section-footer {
  background-color:#e4e4e5;
  color: #414042;  
  font-size: 0.85rem;
}

.section-footer h6 {
  padding-bottom: 10px;
}

.bg-white {
  background-color:#fff;
}

/* section ---*/


/* vertical align */
.aligner {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* vertical align */





.hero-parallax  {
  height:300px;
  margin: 0 auto;
  text-align: center;
  display: table;
  vertical-align: middle;
}
 
.container-parallax  {
  height:300px;
  display: table-cell;
  vertical-align: middle;
  width: 600px;
 margin: auto;
 background: rgba(255,255,255,.85);
 color: #77777a;
 text-decoration: none;
}

.container-parallax a {
 color: #77777a;
 text-decoration: none;
}

.container-parallax a:hover {
 color: #77777a;
 text-decoration: none;
}
/* parallax */


li.socialmedia-icon {
    float: left;
    padding-right: 15px;
}

li.ulc-legal{
  padding-bottom: 10px;
}

.resort-label {
    float: right;
}



.tiles .tile {
  display: inline-block;
  text-align: left;
  opacity: 0.99;
  overflow: hidden;
  position: relative;
  border-radius: 0px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}
.tiles .tile:before {
  content: "";
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  width: 100%;
  height: 75%;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  transition-property: top, opacity;
  transition-duration: 0.3s;
}
.tiles .tile img {
  display: block;
  max-width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.tiles .tile .details {
  padding: 20px;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
}
.tiles .tile .details span {
  display: block;
  opacity: 0;
  position: relative;
  top: 100px;
  transition-property: top, opacity;
  transition-duration: 0.3s;
  transition-delay: 0s;
}
.tiles .tile .details .title {
  line-height: 1;
  font-weight: 600;
  font-size:40px;
}
.tiles .tile .details .info {
  line-height: 1.2;
  margin-top: 5px;
  font-size: 18px;
}
.tiles .tile:focus:before,
.tiles .tile:focus span, .tiles .tile:hover:before,
.tiles .tile:hover span {
  opacity: 1;
}
.tiles .tile:focus:before, .tiles .tile:hover:before {
  top: 50%;
}
.tiles .tile:focus span, .tiles .tile:hover span {
  top: 0;
}
.tiles .tile:focus .title, .tiles .tile:hover .title {
  transition-delay: 0.15s;
}
.tiles .tile:focus .info, .tiles .tile:hover .info {
  transition-delay: 0.25s;
}

.comments {
  height:400px;
  overflow-y: scroll;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.booking-step {
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.booking-step-p {
  padding-top: 8px;
    font-size: 0.9em;
}

.numberCircle {
    border: 0.1em solid #77777a;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
    float: left;
    margin-right: 10px;
}

.numberCircle p {
  margin-top: 0.08em;
    font-size: 1.2em;
}

.booking-step-active {
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  background-color:#e4e4e5;
}

.booking-step-active-p {
  padding-top: 8px;
  font-weight: 700;
  color: #12a7a1;
    font-size: 0.9em;
}

.numberCircle-active {
    border: 0.1em solid #12a7a1;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
    float: left;
    margin-right: 10px;
}

.numberCircle-active p {
  margin-top: 0.08em;
    font-size: 1.2em;
    font-weight: bold;
    color: #12a7a1;
}


.booking-step-done {
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  background-color:#e4e4e5;
}

.booking-step-done-p {
  padding-top: 8px;
  font-weight: 700;
  color: #000;
    font-size: 0.9em;
}

.numberCircle-done {
    border: 0.1em solid #000;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
    float: left;
    margin: 10px;
}

.numberCircle-done p {
  margin-top: 0.08em;
    font-size: 1.2em;
    font-weight: bold;
    color: #000;
}

.numberCircleTop {
    border: 0.1em solid #12a7a1;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
}

.numberCircleTop p {
  margin-top: 0.08em;
  font-size: 1.2em;
  color:#12a7a1;
  font-weight: 500;
    text-align: center;
}

.nav-pills .nav-link {
  border-radius: 0rem;
    border-top: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
    padding: 15px 0;
    color: #77777a;
    min-height: 55px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #12a7a1;
    border-top: 1px solid #12a7a1;
    border-bottom: 1px solid #12a7a1;
    min-height: 55px;
}
.nav-pills .nav-link.done,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #ced4da;
    border-top: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
}
.numberCircleNav {
    border: 0.1em solid #77777a;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
    float: left;
    margin: 10px 0 0 10px;
}

.numberCircleNav p {
  margin-top: 0.08em;
    font-size: 1.2em;
}

.numberCircleNav.active {
    border: 0.12em solid #fff;
    border-radius: 100%;
    height: 2.5em;
    width: 2.5em;
    text-align: center;
    float: left;
    margin: 10px 0 0 10px;
}

.numberCircleNav.active p {
  margin-top: 0.08em;
    font-size: 1.2em;
    color: #fff;
}

.content-box {
  padding: 30px;
 background: rgba(255,255,255,.85);
}

/* carousel thumb
-------------------------------------------------- */

/* main carousel ---*/
.carousel-thumbnails {
  min-height: 420px;
}

.carousel-indicators.thumb li {
  box-sizing: content-box;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 100px;
  height: 50px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators.thumb li {
    transition: none;
  }
}

.carousel-indicators.thumb .active {
  opacity: 1;
}
/* carousel destinos
-------------------------------------------------- */

.pagination {
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #12a7a1;
  background-color: #fff;
  border: 0px solid #fff;
}

.page-link:hover {
  z-index: 2;
  color: #12a7a1;
  text-decoration: none;
  background-color: #f4f4f4;
  border-color: #fff;
}

.page-link:focus {
  z-index: 2;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #12a7a1;
  border-color: #fff;
}


/* RESPONSIVE CSS
-------------------------------------------------- */

@media (max-width: 768px) {

.carousel-item.hero {
  margin-top: 75px;
  height: 100vh;
  max-height: 350px;
  background: no-repeat top center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
}

.display-3 {
  font-size: 1.6rem;
  font-weight:300;
  line-height: 1.2;
  text-shadow: 1px 2px 3px rgba(0,0,0, 0.5);
}

h3, .h3 {
  font-size: 1.25rem;
}


.image-grid-cover {
    width: 100%;
    background-size: cover;
    min-height: 450px;
    position: relative;
    border-radius: 0px;
}
.image-grid-clickbox {
    position: absolute;
    top: 10%;
    left: 10%;
    display: block;
    width: 80%;
    height: 80%;
    z-index: 20;
    background: rgba(255,255,255,.85);
    text-align: center;
    display: table;
}

.image-grid-txt {
    display: table-cell;
    vertical-align: middle;
    padding: 0 30px;
  color: #212529;
}

.btn {
  font-size: 0.85rem;
  line-height: 1.25;
}

.nav-pills .nav-link {
  border-radius: 0rem;
    border-top: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
    padding: 15px 0;
    color: #77777a;
    min-height: 55px;
    font-size: 0.8em;
}

  .numberCircleNav {
    border: 0.1em solid #77777a;
    border-radius: 100%;
    height: 2em;
    width: 2em;
    text-align: center;
    float: left;
    margin: 10px 0 0 10px;
}

.numberCircleNav p {
  margin-top: 0.3em;
    font-size: 0.8em;
}

  .numberCircleNav.active {
    border: 0.12em solid #fff;
    border-radius: 100%;
    height: 2em;
    width: 2em;
    text-align: center;
    float: left;
    margin: 10px 0 0 10px;
}

.numberCircleNav.active p {
  margin-top: 0.3em;
    font-size: 0.8em;
    color: #fff;
}

#ulc-promo-01 {
  background: url('../images/promo-banner-01.jpg') no-repeat center left scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

#ulc-promo-02 {
  background: url('../images/promo-banner-02.jpg') no-repeat center left scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.carousel-caption-box {
  position: relative;
  top:130px;
}


  .vertical-center:before {
    /* height: auto; */
    display: none;
  }

  .text-center-mobile {
  text-align: center !important;
}

  .responsive-gap30-mobile {
  padding-bottom: 30px;
}

}
.tiles .tile .details .title {
  line-height: 1;
  font-weight: 600;
  font-size:25px;
}
.tiles .tile .details .info {
  line-height: 1.2;
  margin-top: 5px;
  font-size: 16px;
}

/* main carousel ---*/
.carousel-indicators.thumb {
  position: absolute;
  right: 0;
  top: 305px;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

}


@media (min-width: 768px) {
  .carousel-indicators.thumb {
  position: absolute;
  right: 0;
  top: 355px;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-caption-box {
  position: relative;
  top:25%;
}

}

@media (min-width: 992px) {
  .carousel-indicators.thumb {
  position: absolute;
  right: 0;
  top: 355px;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

}