:root {
  --button-background: #e7e7e7;
  --button-color:
  rgb(82 82 82);
  --separation-color: #464646;
  --divCell-sm-background: #d1d1d142;
  --text-global: #2a2a2a;
  --day-available: #40e940;
  --calendar-day-selected:
  var(--selected);
  --calendar-day-hover: #e7e7e7;
  --selected: #7a8995;
  --color-primary:
  rgb(90 152 128);
  --text-white: #ffffff;
  --background-header:
  rgb(54, 57, 56);
  --marron-terra: #7F6661;
--separation-section: #DCE1DC;--separation-tarif: #a3a3a3;--border-color: #aaa;
  }

@font-face {
  font-family: 'magenta';
  src: url(../3rdparty/fonts/magenta-rose.ttf);
}

@font-face {
  font-family: 'galano';
  src: url(../3rdparty/fonts/galano/GalanoGrotesqueLight.otf);
}

@font-face {
  font-family: 'beautifully';
  src: url(../3rdparty/fonts/beautifully/BDSans-Bold.otf);
}

html {
  width: calc(100% - 0px);
  /* height: calc(100% - 2px); */
}

html, body {
  margin: 0px;
  padding: 0px;
  /* height: 100%; */
/* width: 100%; */}

body {
  font-family: 'galano', system-ui, ui-serif, sans-serif;
  height: 100%;
  transition: opacity 900ms;
  opacity: 1 !important;
  color: var(--text-global);
}

/* width */

::-webkit-scrollbar {
  width: 12px;
}

/* Track */

::-webkit-scrollbar-track {
  background: #e1e1e1;
}

/* Handle */

::-webkit-scrollbar-thumb {
  background: #999795;
  border-radius: 2px;
}

/* Handle on hover */

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

button.btn {
  background: var(--button-background);
  border: 0px solid var(--button-background);
  font-size: 15px;
  color: var(--button-color);
  padding: 5px 10px;
  cursor: pointer;
  border-radius: 0px;
  outline: none;
  font-family: inherit;
}

.hidden {
  /* display: none !important; */
  transform: scale(1);
}

.divMain {
  /* height: 100%; */
  width: calc(100%);
  transition: opacity 1600ms;
}

section.sec-header {
  position: fixed;
  top: 0;
  height: calc(72px + 32px);
  width: calc(100% - 0px);
  left: 0;
  z-index: 1;
  transition: background 500ms;
  background: var(--background-header);
  color: #dfdfdf;
}

section.sec-footer {
  height: auto;
}

img.imgLogo {
  /* width: 105px; */
  cursor: pointer;
}

.divHeader-menu-bars {
  font-size: 30px;
  padding: 30px;
  transform: translate(-13px, -8px);
  transition: opacity 100ms;
  display: none;
}

.divHeader {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  
  align-content: flex-start;
}

.menu-wrap {
  display: flex;
  font-size: 10px;
  text-transform: unset;
  letter-spacing: 4px;
}

.menu-item {
  padding: 20px;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
  transition: background 150ms;
}

.divHeader-menu {
  width: calc(100% - 300px);
  display: flex;
  justify-content: space-evenly;
  align-content: flex-end;
  align-items: center;
  margin-top: 10px;
}

.body-scrolled section.sec-header {}

.divHeader-logo {
  min-width: 205px;
  transform: translate(25px, 11px);
}

.menu-wrap-vertical {
  position: absolute;
  background: white;
  width: 245px;
  height: 376px;
  right: 20px;
  font-size: 16px;
  margin-top: -18px;
  border-radius: 3px;
  border: 1px solid #bdac95;
  box-shadow: 0 0 15px 0px #2a2a2a;
transform: translate(-40px, 40px);}

.menu-item-close {
  text-align: right;
  transform: translate(195px, 10px);
  cursor: pointer;
  /* border: 1px solid; */
  position: absolute;
  padding: 5px;
  border-radius: 4px;
  user-select: none;
  font-size: 28px !important;
}

.menu-item.first {
  margin-top: 50px;
}

.divHeader-menu-vertical.hidden {
  transform: translateX(0px) scale(0);
}

.divHeader-menu-bars i {
  padding: 0px;
  display: block;
  cursor: pointer;
}

.divHeader-menu-vertical {
  transition: transform 200ms;
color: rgb(79 80 80);}

.hover-efect {
  transition: all 50ms cubic-bezier(0.42, 0, 0.27, 1.76);
  position: relative;
}

.hover-efect:hover:before {
  width: calc(100% + 5px);
  opacity: 1;
  margin-left: -5px;
}

.hover-efect:before, .hover-efect:after {
  content: "";
  position: absolute;
  bottom: -8px;
  width: 0px;
  height: 2px;
  margin: 5px 0 0;
  transition: all 0.4s cubic-bezier(0.88, -0.42, 0.18, 1.46), margin-left 0ms;
  transition-duration: 400ms;
  opacity: 0;
  background-color: var(--text-white);
  border-radius: 14px;
}

.btn.hover-efect:before, .btn.hover-efect:after {
  content: "";
  position: absolute;
  bottom: -1px;
  width: 0px;
  height: calc(100% + 2px);
  margin: 5px 0 0;
  transition: all 0.4s cubic-bezier(0.7, 0.04, 0.25, 0.94), margin-left 0ms;
  transition-duration: 400ms;
  opacity: 0;
  background-color: var(--button-color);
  border-radius: 3px;
}

.btn.hover-efect:hover:before {
  width: calc(100% + 4px) !important;
  opacity: 0.2 !important;
  margin-left: -12px !important;
}

.divLoading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #000000a3;
  z-index: 3;
  /* transition: visibility 300ms; */
  visibility: visible;
}

.divModal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #6e6969db;
  z-index: 1;
  transition: visibility 300ms;
  visibility: hidden;
  cursor: pointer;
}

.menu_vertical_active .divModal {
  visibility: visible;
}

.menu-wrap-vertical i {
  width: 30px;
  text-align: center;
  font-size: 15px;
}

i.fa.fa-bars {
  font-size: 28px;
}

.menu-wrap-vertical .menu-item:hover {
  background: #f3f3f3;
}

.menu-wrap .menu-item {
  padding: 0;
  margin: 20px 31px;
  text-transform: uppercase;
}

.menu_vertical_active .divHeader-menu-bars {
  opacity: 0;
}

button.btn:hover:not(.button-selected):not(.text-price-button button) {
  background: var(--color-primary);
  color: var(--text-white);
}

a {
  color: inherit;
  text-decoration: underline;
}

.menu-wrap-vertical .menu-item-close i.fa {
  font-size: 28px;
  transition: transform 200ms;
}

.menu-wrap-vertical .menu-item-close i.fa:hover {
  transform: rotate(90deg);
}

.divMain-view {
  margin-top: calc(90px + 14px);
  transition: opacity 600ms, filter 600ms;
  
}

.dom-link:not(button) {
  text-decoration: underline;
  cursor: pointer;
}

.ol-2::marker {
  font-size: 17px;
}

i.fas.fa-external-link-alt {
  font-size: 13px;
  display: inline-block;
  margin-top: -5px;
  transform: translateY(-2px);
  opacity: 0.9;
}

button i.fa-angle-double-right {
  transform: translateY(0px);
  font-size: 12px;
}

button a {
  text-decoration: none;
}

.divMain-view.loading-view {
  opacity: 0.9;
  background-color: #fdfdfd;
}

span.spn-popup {
  cursor: pointer;
}

.divPopup-wrap {
  position: fixed;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: 0%;
  background: #d9d9d9;
  z-index: 4;
  opacity: 0;
  transition: height 300ms, opacity 300ms 100ms, visibility 100ms 400ms;
  overflow: hidden;
  border-radius: 5px;
  visibility: hidden;
}

.divPopup-wrap.visible {
  height: calc(100% - 40px);
  visibility: visible;
  opacity: 1;
  transition: height 700ms 0ms, opacity 400ms 0ms;
}

.popup-header {
  height: 0px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 20px;
  font-size: 30px;
}

.popup-header i {
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 83px;
  background: #e1e1e1;
  color: #a7a7a7;
}

.popup-content {
  background: whitesmoke;
  height: calc(100% - 61px);
  overflow: auto;
  padding: 30px;
  border-radius: 5px;
  transition: opacity 300ms;
}

li.li-nivel-2::marker {
  font-size: 16px;
}

.div-back {
  padding: 20px;
  font-size: 19px;
}

.spn-back i.fa.fa-arrow-left {
  font-size: 15px;
  margin-right: 7px;
}

span.spn-back {
  cursor: pointer;
}

span.spn-back:hover {}

input.form-input, .form-textarea {
  padding: 3px 8px;
  height: 40px;
  color: inherit;
  border: 1px solid #aaa;
  width: 100%;
  outline: none;
  font-size: 16px;
}

.form-item {
  padding: 10px 0;
  display: flex;
  align-items: flex-start;
}

.divForm-wrap {
  max-width: 100%;
}

.form-textarea {
  height: 130px;
}

.divCell.divCell-map.cell-form {
  min-width: calc(50%);
  padding: 0 10px;
}

input.form-input:focus, .form-textarea:focus {
  border-color: black;
}

button[disabled] {
  opacity: 0.4;
  cursor: default;
}

img.img-inicio {
  margin-top: 20px;
}

section.sec-subtitle {
  min-height: 300px;
  padding: 50px;
  height: 100%;
}

.hidden-down {
  transform: translate(0px, -80px);
  opacity: 0;
}

.div-intro-col {
  justify-content: flex-start;
  display: flex;
  flex-basis: 315px;
  flex-direction: column;
  border: 1px solid #5a9880;
  padding: 22px;
  margin: 12px 12px;
  border-color: #f3f1f1;
}

.div-intro-row {
  display: flex;
  /* min-height: 340px; */
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  align-content: space-between;
  /* height: 100%; */
}

.item-mur .item-col-img {
  background-image: url(../media/fotos/murcielagos-2-small.jpg);
}

.div-intro-row-wrap {
  margin-top: 300px;
}

.item-col-img {
  border-radius: 0px;
  background-size: cover;
  /* height: calc(100% - 290px); */
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  transition: transform 600ms;
  cursor: pointer;
  min-height: 179px;
}

.item-vis .item-col-img {
  background-image: url(../media/fotos/visita-bodega-small.jpg);
}

.item-col-text {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  padding: 0 0px;
  justify-content: space-between;
}

.item-eco .item-col-img {
  background-image: url(../media/fotos/ecoturismo-small.jpg);
}

.text-title {
  font-size: 20px;
  text-align: center;
  width: 100%;
  padding: 25px 0;
}

.text-desc {
  overflow: auto;
  text-align: justify;
  height: 178px;
  text-align: center;
  font-size: 12px;
}

.text-price {
  display: flex;
  justify-content: space-around;
  align-items: center;
  /* border: 1px solid; */
  width: 100%;
  padding: 5px;
  margin: 8px 0;
  flex-direction: column;
  flex-wrap: wrap;
}

.sec-subtitle .title {
  font-size: 40px;
  text-align: center;
  margin-bottom: 40px;
}

span.spnProx {
  width: 100%;
  display: inline-block;
  text-align: right;
  transform: rotate(30deg) translate(-10px, -39px);
}

.spnProx img {
  width: 60%;
  filter: saturate(0.5);
  opacity: 0.8;
}

.item-col-img:hover {
  transform: scale(1.02);
}

.item-col-img-wrap {
  transition: all 300ms;
  overflow: hidden;
  border-radius: 0px;
  min-height: 150px;
  max-height: 178px;
}

.popup-visible .divLoading {
  visibility: visible !important
}

body.popup-visible {
  overflow: hidden;
}

@media (max-width: 1090px) {
  .divHeader-menu-bars {
    display: block !important;
  }
  .divHeader-menu {
    visibility: hidden;
  }
  .div-intro-col {
    /* min-width: 300px !important; */
    /* margin-bottom: 80px !important; */
  }
  .popup-content {
    padding: 10px 10px;
    height: calc(100% - 20px);
  }
}

.popup-content.loading {
  opacity: 0.1;
}

.popup-title {
  font-size: 30px;
  text-align: left;
  padding: 30px 0;
  margin-top: -30px;
}

.title-exper {
  font-size: 26px;
  padding: 10px 0;
}

.title-exper-desc {
  font-size: 18px;
  display: flex;
  flex-direction: row;
  /* flex-basis: 200px; */
  /* max-width: 800px; */
  flex-wrap: wrap;
}

.popup-section {
  padding: 0px 0;
  font-size: 20px;
  border: 1px solid #aaa;
  border-width: 0 0 1px 0;
  margin: 30px 0 15px 0;
}

.tarifa-bloque {
  display: flex;
  font-size: 20px;
  padding: 20px 20px;
  flex-direction: row;
  justify-content: flex-start;
  max-width: 500px;
  
}

.tarifa-title {
  min-width: 200px;
  min-width: calc(100% - 205px);
}

.tarifa-price {
  min-width: 40px;
  text-align: right;
  padding: 0 15px;
}

span.spnCant {
  padding: 0 0px;
  min-width: 50px;
  display: inline-block;
  text-align: center;
  border: 1px solid #aaa;
}

.total-tickets {
  display: inline-block;
}

.total-tickets-title {
  display: inline-block;
}

.total-order-title {
  font-weight: bold;
  min-width: 60px;
}

.total-order-price {
  font-weight: bold;
}

.calendario-wrap th {
  min-width: 50px;
  min-height: 40px;
  height: 29px;
  /* background: #e7e7e7; */
}

.tblCal td {
  text-align: center;
  font-size: 20px;
  cursor: pointer;
  height: 43px;
  border-radius: 3px;
}

table.tblCal {
  border-collapse: separate;
  border-spacing: 2px 2px;
  width: 100%;
}

.tblCal tbody td:hover:not(.state-selected):not(.state-disabled) {
  background: var(--calendar-day-hover);
}

.calendario-title {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 50px;
}

.tblCal td.state-disabled {
  opacity: 0.3;
  cursor: default;
  /* pointer-events: none; */
}

.tblCal td.state-available {
  /* background: var(--day-available); */
}

.calendario-wrap .calendario-title .calendario-arrow {
  min-width: 20px;
  cursor: pointer;
  text-align: center;
}

td.state-available.state-selected {
  background: var(--calendar-day-selected);
  color: white;
}

.tarifa-bloque.bloq-calendar {
  display: flex;
  flex-direction: column;
}

.date-selected {
  font-weight: bold;
  padding: 30px 0;
}

.popup-subtitle {
  font-size: 13px;
  padding: 8px 0;
}

img.img-title {
  height: 260px;
  border-radius: 3px;
}


.title-exper-img {
  padding: 20px;
}

.title-exper-text {
  padding: 20px;
  max-width: 500px;
  text-align: justify;
}

.lang-selected {
  font-weight: bold;
  padding: 30px 0;
}

.tarifa-bloque.bloq-lang {
  display: block;
}

button.btn.btnLang {
  min-width: 100px;
}

.btnLang.button-selected {
  background: var(--selected);
  color: white;
}

goto {
  text-decoration: underline;
  cursor: pointer;
}

span.spnDate-selected {
  letter-spacing: 2px;
  /* font-family: sans-serif; */
}

span.spnLang-selected {
  text-transform: capitalize;
}

.month-title {
  min-width: 210px;
  text-align: center;
  cursor: default;
}

.calendario-wrap .calendario-month {
  min-height: 320px;
}

input.inp {
  font-size: inherit;
  outline: none;
  border: 1px solid #aaa;
  padding: 3px 10px;
  font-family: inherit;
}

.bloq-name {
  display: flex;
  flex-direction: column;
}

.form-item .item-title {
  min-width: 160px;
}

button.btn.btnPay {
  background: var(--color-primary);
  color: white;
  transition: background 200ms;
  margin-right: 10px;
  cursor: pointer;
}

.bloq-pay {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.item-value {
  width: calc(100%);
}

.form-item input.inp {
  width: 100%;
}

.pay-img {
  padding-top: 30px;
}

.pay-img img {
  width: 214px;
}

.td-state {
  font-size: 11px;
  width: 100%;
  transform: translate(1px, 1px);
}

.tblCal .state-available .td-state {
  background: transparent;
}

.tblCal .td-day {
  margin-top: -4px;
}

.calendario-arrow:hover {
  background: #e7e7e7;
}

.tblCal .state-available.state-few .td-state .spn-state {
  background: #e70909a3;
}

.tblCal .state-available.state-good .td-state .spn-state {
  background: #ffbe47;
}

.tblCal .state-available.state-all .td-state .spn-state {
  background: #8bc34a;
}

span.spn-state {
  display: inline-block;
  width: 8px;
  height: 9px;
  transform: translate(-3px, 1px);
}

.cupon-title {
  /* min-width: 160px; */
}

.inpCupon {
  width: 100px;
}

.bloq-cupon {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  display: none;
}

.cupon-id {
  padding: 0 20px;
}

input.inp.inpCupon {
  text-align: left;
  width: calc(100% - 100px);
  margin-right: 18px;
}

button.btn.btnPay:hover {
  background: #636e76;
}

.home-wrap {
}

section.sec-intro {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 50px;
  min-height: 100px;
  }

.intro-item {
  /* width: 49%; */
  text-align: center;
  padding: 0px;
  overflow: hidden;
  /* border: 1px solid red; */
  flex-basis: calc(50% - 50px);
}

section.sec-client-menu 
{
  height: 60px;
  background: rgb(90 152 128);
  margin-top: 4px;
  color: var(--text-white);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 5px;
  margin-bottom: 30px;
  height: auto;
  min-height: 60px;
}

section.sec-inicio-content {
  margin-bottom: 60px;
}

.div-intro-col:hover {
  border-color: var(--color-primary);
  ;
}

.div-intro-col:hover .btn {
  background: var(--color-primary);
  color: var(--text-white);
}

.text-price-title {
  font-weight: bold;
  padding: 20px 0;
  min-height: 60px;
  letter-spacing: 4px;
  font-size: 12px;
  text-transform: uppercase;
  text-align: center;
}

.text-price-button .btn {
  letter-spacing: 3px;
  font-size: 13px;
  padding: 10px 30px 12px 30px;
}

.text-price-title div {
  line-height: 20px;
}

.mini-Banner {
  background: var(--marron-terra);
  text-align: center;
  font-size: 10px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 1px;
}

.intro-item-sep {
  width: 1px;
  background: var(--separation-section);
  margin: 0 20px;
}

.size-small .intro-item {
  flex-basis: 100%;
  margin-bottom: 40px;
}

section.sec-other {
  display: flex;
  margin: 25px;
}

.others-item {
  /* padding: 36px; */
  width: calc(50% - 0px);
  height: 610px;
  background-repeat: no-repeat !important;
  margin: 50px;
  background-size: cover !important;
}

.others-item img {
  width: 100%;
  opacity: 0.6;
  border: none;
  position: a;
}

.size-small .others-item {
  width: calc(100% - 90px);
height: 450px;}

.size-small section.sec-other {
  display: flex;
  flex-direction: column;
}

.others-item-wrap {
  background: #4a4a4abf;
  /* padding: 0px; */
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}

.others-item.item-left {
  background: url(../media/fotos/nuestros-vinos-img.png);
}

.others-item.item-right {
  background: url(../media/fotos/enguera-planet-img.png);
}

.other-title-main {text-align: center;letter-spacing: 10px;font-size: 24px;font-family: serif;}

.size-small .item-left img.img-intro {width: 100%;width: auto;}

.other-title-sub-2 {text-align: center;font-size: 12px;letter-spacing: 5px;cursor: pointer;}

.other-title-sub-2:hover {text-decoration: underline;}

.item-right .other-title-sub-2 {transform: translate(0px, 40px);}

.item-right .other-title-sub {transform: scale(0.8);}

.other-title-sub {text-align: center;height: 100px;}

.item-left .other-title-sub {transform: translate(0px, 20px);}

.item-left .other-title-sub-2 {transform: translate(0px, 40px);}

.footer-logo {display: flex;justify-content: center;padding: 90px;}

.footer-info {display: flex;justify-content: space-evenly;flex-wrap: wrap;}

.info-item {text-align: center;display: flex;flex-direction: column;align-items: center;flex-basis: 322px;margin-bottom: 50px;}

.divSep-ver {height: 60px;width: 1px;background: #7c7c7c;text-align: center;margin: 40px 0;}

.elec-step {display: flex;justify-content: center;/* width: 100%; */border: 1px solid var(--separation-section);font-family: serif;letter-spacing: 2px;font-size: 15px;flex-wrap: wrap;border-width: 0 0 1px 0;}

.step {padding: 20px;white-space: nowrap;display: flex;justify-content: flex-start;width: 270px;/* border: 1px solid green; */opacity: 0.2;cursor: pointer;}

section.sec-eleccion {max-width: 1200px;/* display: flex; *//* justify-content: center; */margin: auto;margin-bottom: 100px;}

.step-content {margin-top: 30px;min-height: 500px;}

.step.selected {opacity: 1;cursor: default;pointer-events: none;}

.size-small section.sec-intro {padding: 20px;}

body.size-small img.img-intro {max-width: 100%;}

.menu-wrap-vertical label {cursor: pointer;}

input {outline: none;}

button.btn.active {
    background: var(--color-primary);
    color: white;
}

.client-menu .item span {
    /* margin-left: 10px; */
}

.client-menu .item i.fa {
    width: 30px;
}