footer {
  border-top: solid 5px #88accc;
}
.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.site-header {
  background-color: rgba(17, 43, 66, 0.95);
}
.site-header a {
  color: #FFF;
  transition: ease-in-out color .15s;
}
.site-header a.link-reserva {
    background: #007bff;
    padding: 1rem;
}
.site-header a:hover {
  text-decoration: none;
}

.flex-equal > * {
  -ms-flex: 1;
  flex: 1;
}
@media (min-width: 768px) {
  .flex-md-equal > * {
    -ms-flex: 1;
    flex: 1;
  }
}

.overflow-hidden { overflow: hidden; }

.titulo {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 50px;
}
.titulo.duracion span {
  display: block;
  font-size: 0.8em;
  font-weight: normal;
  color: #626e78
}
.logo {
    display: inline-block;
    width: 120px;
    height: 110px;
    padding: 10px;
    border-radius: 0 0 50% 50%;
    background: #FFF;
    margin-bottom: -80px;
    box-shadow: 0 0 30px 0px rgba(21, 47, 69, 0.3);
}
.logo img {
    display: block;
    width: 100%;
    height: auto;
}

.slide-principal {
    background: url(../img/background.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 60vh;
}
.slide-principal h1{
    margin-bottom: 0;
    color: #FFF;
}
.slide-principal h1 span {
    display: table;
    font-size: 0.5em;
    letter-spacing: 2em;
    width: auto;
    text-align: center;
    margin: 0 auto;
    padding-left: 2em;
    border-top: solid 1px #546a7e;
    padding-top: 5px;
}

.contact-form .btn {
    width: 100%;
}

.content-map {
    width: 100%;
    height: 600px;
    overflow: hidden;
    position: relative;
}
.content-map:not(.simple) {
  height: calc(400px - 48px);
}

.content-map:not(.simple)::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: rgba(41, 123, 255, 0.38);
}
.content-map .mapa {
    border: 0;
    width: 100%;
    height: 100%;
}
.content-map:not(.simple) .mapa {
  margin-top:-48px;
  height: calc(400px + 48px);
}

.content-media {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: center;
}
.content-media:nth-child(even) .img {
  order: 1
}
.content-media .img {
    order: 0;
    flex: 0 1 auto;
    align-self: auto;
    padding: 30px
}
.content-media .img figure {
    display: block;
    width: 320px;
    height: auto;
    margin: 0;
    overflow: hidden;
    border-radius: 50%;
    border: solid 10px #e5e5e5;
    box-shadow: 0 0 9px 0px rgba(133, 197, 252, 0.3);

}
.content-media .img figure img {
  display: block;
  width: 100%;
  height: auto;
}
.content-media .text {
    order: 0;
    flex: 1 1 auto;
    align-self: auto;
}
.content-media .text p{
  margin: 0;
  padding: 30px
}

.contenedor-reserva {
    max-width: 960px;
    margin:-60px auto 0;
    padding: 30px;
    background: #1d364c;
    border-radius: 10px;
    box-shadow: 0 0 30px 0px rgba(21, 47, 69, 0.3);
}
.contenedor-reserva .btn {
  width: 100%;  
  margin-top: 32px;
}
.contenedor-reserva .form-group {
  margin-bottom: 0
}
.contenedor-reserva h3 {
  color: #FFF;
  margin-bottom: 15px
}
.contenedor-reserva label {
  color: #FFF
}

.lista-precios {
  margin-bottom: 100px;
}
.lista-precios.temporada {
      margin-top: 72px;
}
.lista-precios .precio h6,
.lista-precios .temporada , 
.lista-precios .pago {
    text-align: left;
    margin: 0;
    background: #297bff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 30px 0px rgba(21, 47, 69, 0.3);
    color: #FFF;
}

.lista-precios .precio h6 span {
  display: block;
}
.lista-precios .precio h6 > span:first-child {
  height: 50px;
}
.lista-precios .precio h6 > span:last-child {
    font-weight: normal;
    display: block;
    padding-top: 10px;
    margin-top: 10px;
    border-top: solid 1px #FFF;
    height: 87px;
}
.lista-precios .precio h6 span:last-child:not(.sin-estilo) {
  font-size: 2em;
  line-height: 122px;
}
.lista-precios .temporada {
  background: #1d364c;
  min-height: 173px;
  text-align: center;
}
.lista-precios .temporada span{
  display: block;
  text-align: center;
  padding: 15px;
  line-height: 1;
  border-radius: 10px;
  background: #297bff;
  margin-top: -42px;
  margin-bottom: 30px;
  box-shadow: 0 0 30px 0px rgba(21, 47, 69, 0.3);
  font-weight: 500;
  font-size: 1.2em;
}

.lista-precios .modo .pago {
  background: #B5CC14;
  color: #1d364c;
  text-align: center;
  font-size: 1.2em;
  font-weight: 500;
}
.lista-precios.modos-de-pagos .info {
    margin-top: 50px;
    max-width: 600px;
    text-align: center;
}
.lista-precios.modos-de-pagos .info p:not(:last-child) {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: solid 1px #CCC;
}
.lista-precios.modos-de-pagos .info p b{display: block;}

.slider-interno {
  height: 300px;
  background-color: #1d364c
}
.slider-interno.nosotros {
  background: url(../img/nosotros.jpg) no-repeat;
  background-position: center;
  background-size: cover
}
.slider-interno.fray {
  background: url(../img/fray.jpg) no-repeat;
  background-position: center;
  background-size: cover
}
.slider-interno.tour {
  background: url(../img/tour.jpg) no-repeat;
  background-position: center;
  background-size: cover
}


.parrafo-estilo-1 {
  text-align: center
}

.galeria {margin: 30px 0;}
.galeria .foto{}
.galeria .foto figure{
  overflow: hidden;
  border-radius: 10px;
}
.galeria .foto figure img{
  display: block;
  height: auto;
  width: 100%;
}