html {
  position: relative;
  min-height: 100%;
}

body {
  margin:0;
  padding:0;
  height: 100%;
  width: 100%;
}

#main-container {
  margin-top: 95px;
/*   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: column;
   flex-direction: column;
   -webkit-align-items: center;
   align-items: center;
   -webkit-justify-content: center;
   justify-content: center;*/

}

#main-wrapper {
  margin-bottom: 55px;
}

@media (max-width : 400px) {
  #main-wrapper {
  margin-bottom: 75px;
  }
}

hr {
  margin-top: 23px;
  margin-bottom: 23px;
  border: 0;
  border-top: 1px solid #c6c2c2;
}

h1, h2, h3, h4, h5, h6 {
    color       : #3c3c3c;
    font-weight : 600;
    }

a {
    text-decoration    : none;
    -webkit-transition : all 0.3s ease 0s;
    -moz-transition    : all 0.3s ease 0s;
    -o-transition      : all 0.3s ease 0s;
    transition         : all 0.3s ease 0s;
    }

a,
a:active,
a:focus,
a:active {
    text-decoration : none;
    outline         : none
    }

a:hover {
    text-decoration : none;
    }


ul {
    margin     : 0;
    padding    : 0;
    list-style : none;
    }

.btn {
   -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
   box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.4);
   border-radius: 0;
 }


.vertical-centered-container-column {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction:column;
  flex-wrap: wrap;
}


.vertical-centered-container-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction:row;
  flex-wrap: wrap;
}

.vertical-centered-container-row .col-md-6{
  display: table-cell;
}

.show-ellipsis {
    line-height: 1.5em;
    height: 3.1em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}

.centered-text {
    text-align: center;
}

hr.small-separator {
    width: 10%;
    margin: auto;
}

hr.large-separator {
    width: 80%;
}

.uppercase {
    text-transform: uppercase;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.footer .section-container {
  padding: 3vmin 10vmin;
}

.footer p {
  margin-bottom:0;
}

/*  ----- Navbar  ----- */
/* -- utb-navbar fix -- */
#utb-nav .navbar-nav > li {
    margin-top: 0px;
}
#utb-nav .navbar-nav > li > a {

    font-weight: 200;
}

#CurrencyDropdown {
  display: none !important;
}
/* -- utb-navbar fix -- */


#utb-nav .navbar-btn {
  margin: 5px;
  padding: 2px 5px;

}


#utb-nav nav{
    margin-bottom: 0px;
    min-height: 0px;
}


.navbar-header {
    margin-left: 10%;
}

.navbar {
    margin-bottom: 0px;
    box-shadow: 0 0px 1px rgba(0, 0, 0, 0.3) !important;
}

.navbar-collapse {
    background-color: transparent;
}

.site-navbar {
    margin-bottom : 0;
    -webkit-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.3);
    margin-top: 0;
}

.navbar-brand {
    padding: 10px;
    padding-top    : 0;
    padding-bottom : 0;
    /*height: 10vh;*/
    }

.site-navbar .navbar-nav > li.navUser {
    margin-right : 5px
    }

.site-navbar .navbar-nav > li > a {
    font-size      : 15px;
    border         : 2px solid transparent;
    border-radius  : 2px;
    text-transform : uppercase;
    font-weight: 400;
    }

.site-navbar .navbar-brand > img {
    height: 80%;
    margin-top: 5%;
}

.navbar-nav > li > a {
    padding-top: 2px;
    padding-bottom: 2px;
    line-height: 23px;
}

@media (min-width : 768px) {
    .navbar-site-navbar {
        border-color       : transparent;
        -webkit-transition : all .5s ease-in-out;
        -moz-transition    : all .5s ease-in-out;
        transition         : all .5s ease-in-out;
        }

    .main-nav {
        margin-top: 2vmin;
        margin-right: 1vmin;
    }

    .navbar-collapse.collapse {
        display: none !important;
    }

   .navbar-nav > li > a {
     padding-top: 0a-123;
     padding-bottom: 0;
   }

}

@media (min-width: 1300px) {
   .navbar-collapse.collapse {
        display: block !important;
    }
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .navbar-default .navbar-nav > li > a {

    }

    .navbar-header {
        margin: 0 2%;
    }
}

@media (max-width: 1300px) {
    .site-navbar .navbar-header {
        float: none;
        padding-left: 10%;
        padding-right: 10%;
        margin: 0;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .site-navbar .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .site-navbar .navbar-collapse.collapse {
         display: none;
    }
    .site-navbar .main-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .site-navbar .main-nav>li {
        float: none;
    }
    .site-navbar .main-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 50px;
    }
    .collapse.in{
        display:block !important;
    }
   .site-navbar .main-nav .open .dropdown-menu {
       position: static;
       float: none;
       width: auto;
       margin-top: 0;
       background-color: transparent;
       border: 0;
       -webkit-box-shadow: none;
       box-shadow: none;
    }
}

/*  ----- Back to top  ----- */
#toTop {
    position    : fixed;
    bottom      : 30px;
    right       : 30px;
    cursor      : pointer;
    display     : none;
    z-index     : 9999;
    width       : 30px;
    height      : 30px;
    text-align  : center;
    font-size   : 18px;
    line-height : 24px;
    color: #ffffff;
    background-color: gray;
    border: 1px solid transparent;
    }


/*  ----- Cookies  ----- */
.cookie-bar {
    position: fixed;
    width: 100%;
    bottom: 0px;
    right: 0;
    left: 0;
    min-height: 30px;
    text-align: center;
    line-height: 30px;
    background: gray;
    color: white;
    font-size: 10px;
    font-family: "Lato", sans-serif;
    display: none;
    z-index: 10000;
}

.cookie-bar .message {
    width: 90vw;
}

.cookie-bar .close-cb {
  border: none;
  color: white;
  background: #616161;
  position: absolute;
  display: inline-block;
  right: 10px;
  top: 0;
  cursor: pointer;
  border-radius: 3px;
  line-height: 30px;
  min-height: 30px;
  width: 30px;
  font-size: 16px;
  font-weight: bold;
  &:hover {
    background: black;
  }
}

/* ----- Generic section ----- */
.section-container {
    padding-top: 2vmin;
    text-align: center;
    padding-bottom: 2vmin;
    color: #333;
}

h1 {
    font-size: 35px;
    color: #3c3c3c;
    font-weight: 600;
}

h2 {
    max-width: 1500px;
    margin: auto;
    text-transform : uppercase;
    color: #333;
font-weight: 400;
font-size: 20px;
}

h3 {
    color: #ffffff;
    line-height: 5vmin;
    font-size: 14px;
}

h4 {
    font-size: 14px;
}

p {
    font-size: 13px;
}

.container-fluid {
    width:100%;
    height:100%;
    position:relative;
}


/*  ----- Partials  ----- */
  /*  ----- Banners  ----- */

.row {
  margin-left: 0px;
  margin-right: 0px;
}
.main-banner  {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*width: 100vw;*/
  height: 500px;
  margin: 0 auto;
  position: relative;
}

.main-banner-text-wrapper {
    display: flex;
    flex-flow: column wrap;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
}

.main-banner .text {
    padding: 2vmin;
}

.main-banner .button {
    text-transform: uppercase;
    font-weight: 800;
    padding: 1.5vmin 5vmin;
    font-size: 12px;
    color: white;
    border:0px;
}

.parallax {
  background-attachment: fixed;
  position: relative;
}

.parallax .text-container {

  width: 100%;

}

#parallax .text-container .btn {
background: #bcbcbc4d;
}
#parallax .text-container .btn:hover {
background: #595858b3;
}

#parallax_old h1 {
  font-size: 50px;
}

#parallax_old h2 {
  font-size: 4vmin;
}

.oblique {
  font-style: oblique;
}


  /*  ----- Full-width-text  ----- */


.full-width-text {
text-align: center;
font-size: 3vmin;
padding: 20px;
}

.full-width-text h2 {
color: inherit;
font-weight: 200;
text-transform: capitalize;
}

.treatment-group {
    max-width: 1500px;
    margin: auto;
    padding-bottom: 30px;
}


  /*  ----- Partials  ----- */
.treatment-box .title-wrapper h4 {
    line-height: 1.25;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 16px;
}

@media (max-width: 400px) {
  .treatment-box .title-wrapper h4 {
    font-size: 12px;
  }
}

.treatment-box .title-wrapper h4:hover {
  font-weight: 400;
}

.treatment-box p {
    line-height: 1.25;
    letter-spacing: 0px;
    margin: 0 0 20px;
}

.teatment-category-link {
    padding-bottom: 5px;
  border-bottom: 1px solid #3c3c3c;
  font-weight: 400;
  font-size: 15px;
}

.wrapper {
  display: flex;
  flex-flow: row wrap;
  flex-wrap: wrap;
  justify-content: center;
}

.box {
  padding: 4vmin;
}

.box img {
  width: 100%;
}

.box-item {
  /*text-align: center;
  padding: 15px 0;*/
}

.image-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 2vmin;
  height: 230px;
}

.image-wrapper img {
  max-width: 100%;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.image-wrapper:hover img {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.treatment-group .btn-default, .treatment-group .btn-primary {
    text-transform: uppercase;
    font-weight: 600;
    color: white;
    border: 0px;
    margin-bottom: 5px;
    width: 48%;
    border-radius: 5px;
}

/* ----- Carousel ----- */

.img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  min-height: 190px;
}

.carousel-caption .btn {
    text-shadow: none;
    font-size: 0.8em;
}

@media (max-width : 600px) {

.carousel-caption .btn {
    text-shadow: none;
    font-size: 9px;
}
}



/* ----- Carousel ----- */

  /*  ----- Contact  ----- */

.contact-icon {
    border-color: #ffffff;
    border-width: 0px;
    background-color: #ffffff;
    height: 100px;
    width: 100px;
    line-height: 100px;
    border-radius: 50%;
    color: #3c3c3c;
    font-size: 46px;
    margin: 4vmin;
}

  /*  ----- Service page  ----- */
.service-container {
  padding-top: 2vmin;
}

.service-description {
  text-align: justify;
  font-size: 2.5vmin;
  line-height: 4vmin;
}
/* ---------------------------*/

/* ----- tratamiento ------*/

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
  border: none;
  -webkit-box-shadow: inset 0 -2px 0 #EF3437;
  box-shadow: inset 0 -2px 0 #EF3437;
  color: #EF3437;
  font-weight: 600;
}

.wrap-div {
  padding: 5px;
}

.wrap-div p {
  margin-left: 15px;
}

/* ----- tratamiento ------*/

/* ----- Gallery section ----- */
.thumb{
  overflow: hidden;
  padding: 3px;
  display: inline-block;
  margin: 1vmin;

}

.thumbnail {
    margin: 0px;
    padding: 0px;
    max-width: 320px;
    margin-bottom: 0;
    height: 240px;

}


.box img{
    height: 100%;
    width: 100%;
    object-fit:cover;
    -o-object-fit:cover;
}


.thumb a:focus{
    outline: none;
}

.thumb a:after{
      content:"\e003";
    font-family: 'Glyphicons Halflings';
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.75);
    position: absolute;
    right: 0px;
    left: 0px;
    top: -30px;
    bottom: 0px;
    text-align: center;
    line-height: 350px;
    font-size: 30px;
    color: #fff;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
}

.thumb a:hover:after{
    opacity: 1;
}

@media (max-width : 400px) {

  .thumb a::after {

    line-height: 190px;

  }
}

.gallery-modal-body {
    padding: 0;
}

.gallery-modal-body img {
    width: 100%;
}


  /*  ----- Gift vouchers  ----- */
.gift-voucher h3 {
    line-height: 1.63;
    letter-spacing: 2px;
    font-size: 16px;
}

.gift-voucher h4 {
  color: #333333;
}

.gift-voucher {
    text-align: center;
    border: 1px solid #cccccc;
    background-color: white;
    margin: 8vmin 10vmin;
    margin-top: 5vmin;
    }


/*  ----- Categories mosaic  ----- */
.categories-mosaic.section-container {
  /*padding-left:40vmin;
  padding-right:40vmin;*/
}

.categories-mosaic a {
  color:white;
  text-transform: uppercase;
  font-weight: 600;
}

.categories-mosaic a div:hover {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  transition: all 0.3s ease 0s;
}

.categories-mosaic a div {
  text-align:left;
  height:400px;
  background-size:cover;
  margin-bottom:0;
  transition: all 0.3s ease 0s;
  -moz-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}

.categories-mosaic a div *{
  font-weight: 600;
}

.categories-mosaic h3 {
color: #ffffff;
font-size: 20px;
text-align: center;
}

/*  ----- Slogan ----- */
.slogan {
    padding-top: 5vmin;
    padding-bottom: 5vmin;
    line-height: 22px;
}

@media (max-width : 600px) {
.row {
    margin-right: 0px;
    margin-left: 0px;
}

.section-container {
    padding-left: 1vmin;
    padding-right: 1vmin;
}

.main-banner .button {
    font-weight: 800;
    padding: 2vmin 5vmin;
    font-size: 12px;
}

.carousel-caption h1 {
  font-size: 25px;
}

.carousel-caption h2 {
  font-size: 14px;
  margin-top: 10px;
  display: none
}

h1 {
    /*font-size:25px;*/
    font-weight: 600;
}

h2 {
    /*font-size: 5vmin;*/
}

h3 {
    line-height: 10vmin;
    font-size: 4vmin;
}

h4 {
    /*font-size: 4vmin;*/
}

p {
    font-size: 12px;
}

}

/* ----- Contact section -----*/

/* Gmap - full with map */
#gmap {
  height: 500px;
}

@media (max-width: 600px){
  #gmap {
    height: 250px;
  }
}

/*Gmap - two cols with map*/

 #horariosMapa {

    padding: 0;
    color: #3c3e47;

}

#horariosMapa h2 {
    display: block;
    color: #ef3437;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: bold;
}

 #horariosMapa p {
    display: block;
    color: #3c3e47;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
}


/* ----- Contact section -----*/
