/*-------------------------booking------------------*/
:root {
	--border-section: 8px;
	--padding-section: 20px;
	--bg-section-title: #03337E;
	--color-label: #03337E;
	--color-button-active: #d43a5f;
	--color-icon: #03337E;
	--color-gray: #b6b5b575;
	--box-bg-primary: white;
	--box-font: inherit;
	--box-width: 320px;
	--box-min-heigth: 370px;
	--box-icon-primary: 15px;
	--box-size--primary: 18px;
	--booking-form-spacing: 10px 20px;
	--booking-height-min: 367px !important;
}
/*-------------------------end booking------------------*/

/*-------------------------plugin-calendar------------------*/
:root {
	--width-max: auto;
	--width-min: auto;
	--bg-primary: white;
	--size-primary: 18px;
	--box-title-shadow: none;
	--padding-container: 10px;
	--bg-select-day: rgb(16, 152, 161);
	--bg-disabled-day: rgb(189, 186, 186);
	--bg-today: rgb(7, 97, 68);
	--bg-day-active: #1D875A;
	--theme-color: #666;
}
/*------------------------end plugin-calendar------------------*/


@media screen and (min-width: 890px) {
.box__horizontal.booking {
max-width: 100%; box-shadow: initial }
.box__horizontal .booking__logos {
display: none!important }
.box__horizontal .booking__title,.box__horizontal .section__disabled_horizontal {
display: none }
.box__horizontal .booking__form {
display: grid; grid-gap: 20px; grid-template-columns: repeat(auto-fit,minmax(130px,auto)); align-items: flex-end }
.box__horizontal .section__row {
grid-column: auto }
.box__horizontal .section__active_horizontal {
display: flex }
.box__horizontal.section__reservation {
position: absolute!important; width: 100%; left: 40px; bottom: 40px; background:#fff; padding: 10px; max-width: calc(100% - 100px); min-height: initial; box-sizing: border-box; border-radius: 8px; z-index: 100 }
.box__horizontal .booking__form-view {
position: absolute; z-index: 100; border-radius: 5px; padding: 15px; background:#fff; overflow: initial; width: 200%; max-width: 270px; min-height: initial; height: initial }
.box__horizontal .booking__form-view-struct {
grid-template-rows: initial }
 }
.forzeBooking .booking__logos,.modal__booking-exit,.section__active_horizontal {
display: none }
.modal__program {
position: fixed; width: 100%; height: 100%; z-index: 100000; top: 0; left: 0; background:#00000091; flex-direction: column; justify-content: center; display: none }
.call,.call a {
background:#fff }
.modal__program-show {
display: flex!important }
.call {
position: absolute; bottom: 80px; left: 50%; width: 80%; z-index: 10000; display: flex; flex-direction: column; padding: 20px; transform: translate(-50%,0); box-shadow: 1px 1px 6px #d8d8d8 }
.call a {
border-bottom: 1px solid #ccc; text-align: right; padding: 10px; display: flex; align-items: center; justify-content: space-between; text-decoration: none }
.call a div.phones-mob {
display: flex; width: 80%; justify-content: space-between; align-items: center; margin: 0 auto }
.call span {
color:#999 }
.call strong {
color:#ff6000; font-weight: 700 }
.modal__program-close {
text-align: end; font-size: 30px; color:#fff; position: absolute; top: 30px; right: 30px; cursor: pointer }
.booking {
position: relative; top: 0;border-radius: var(--border-section); font-family: var(--box-font); font-size: var(--box-size--primary); width: 100%; max-width: var(--box-width); text-align: start!important; margin: 0 auto; user-select: none }
.booking::before {
position: fixed; top: 0; left: 0; width: 100%; height: 100%; background:#000 }
.booking__form {
display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--booking-form-spacing); padding: 20px; background-color: white; border:1px solid #d9d9d9; border-top:3px solid var(--bg-section-title); border-radius: 3px;}
.booking__min-height {
min-height: var(--booking-height-min); max-height: var(--booking-height-min); overflow: hidden }
.section__row {
grid-column: 1/-1 }
.section__icon {
font-size: var(--box-icon-primary); cursor: pointer }
.section__icon--primary {
color: var(--bg-section-title) }
.section__icon--secondary {
color: var(--color-gray) }
.booking__flex-end {
display: flex; flex-direction: column; justify-content: flex-end }
@media screen and (max-width: 490px) {
.TA_certificateOfExcellence,.reserva,.section__row .img-fluid {
display: none }
.reserva {
top: 23%; left: 0; z-index: 999999999; height: 100%; position: fixed; width: 100% }
 }
@media screen and (min-width: 889px) {
.booking {
display: block }
.booking__logos {
display: none; padding: 10px; font-size: 40px }
.forzeBooking .booking__logos {
display: grid; justify-content: center; grid-template-columns: repeat(4,63px); padding: 13px 33px; grid-gap: 10px }
.forzeBooking .booking__logos img {
width: 64px; height: 39px }
.forzeBooking .booking__logos .booking--only img {
width: 54px; height: 39px }
.forzeBooking .box__horizontal+.booking__logos {
display: none }
.box__horizontal.booking {
border: 2px solid #ededed; border-radius: 5px }
 }
@media only screen and (max-width: 890px) {
.forzeBooking .modal__booking,.forzeBooking .modal__call {
background:#0000009c; position: fixed; top: 0; width: 100%; height: 100%; display: none }
.forzeBooking .modal__booking {
left: 0; z-index: 999999; flex-direction: column; justify-content: center }
.forzeBooking .modal__call {
z-index: 99999; flex-direction: column; justify-content: center }
.modal__booking--open,.modal__call--open {
display: flex!important }
.forzeBooking .modal__booking--close,.forzeBooking .modal__call--close {
display: none }
.forzeBooking .modal__booking-exit {
text-align: end; font-size: 35px; color:#fff; position: absolute; top: 20px; right: 20px; display: block }
.forzeBooking .modal__booking-exit i {
cursor: pointer }
 }
.section__button {
border: none; outline: 0; border-radius: 30px; color:#676767; font-weight: 700; font-size:.9em; padding:.8em; width: 100%; min-height: 48px }
.section__button--disabled {
background:#ebe7e7; cursor: pointer }
.section__button--active {
color:#fff; background: var(--color-button-active); cursor: pointer }
.booking__dropdown {
position: absolute!important; left: 0; top: 0; width: 100%; border-radius: var(--border-section); z-index: 1; background:#fff; height: 100%; display: flex; flex-direction: column; justify-content: space-between }
.booking__dropdown-container {
flex-grow: 1; display: grid; overflow-y: auto; grid-template-columns: 1fr; grid-template-rows: 1fr }
.booking__dropdown-scroll {
overflow-y: auto }
.booking__dropdown-scroll::-webkit-scrollbar {
background:#fff; width: 5px }
.booking__dropdown-scroll::-webkit-scrollbar-thumb {
background: var(--bg-section-title); border-radius: 8px }
@media screen and (min-width: 790px) {
.box__horizontal .booking__dropdown-container {
padding: 20px }
.box__horizontal .booking__dropdown {
position: absolute; top: 67px; bottom: initial; left: initial; right: initial; box-shadow: 1px 1px 6px rgb(105 101 101 /39%); background:#fff; width: 100%; z-index: 100; border-radius: 5px; display: flex; flex-direction: column; justify-content: center; min-height: 50px; font-size: 15px; height: initial }
.box__horizontal .booking__dropdown::before {
content:""; position: absolute; width: 0; height: 0; filter: drop-shadow(0px -1px 1px rgb(105 101 101 /39%)); border-right: 10px solid transparent; border-bottom: 9px solid #fdfdfd; border-left: 10px solid transparent; border-top: 9px solid transparent; top:-18px }
.box__horizontal .booking__dropdown--direction-left {
left: 0 }
.box__horizontal .booking__dropdown--direction-right {
right: 0 }
.box__horizontal .booking__dropdown--direction-right::before {
right: 30px }
.box__horizontal .booking__dropdown--direction-left::before {
left: 30px }
.box__horizontal .booking__dropdown-min {
width: 100% }
.box__horizontal .booking__dropdown--max {
width: 200%; max-width: 270px }
.box__horizontal .booking__dropdown-item {
padding: 4px 10px }
.box__horizontal .booking__dropdown-item:hover {
cursor: pointer; background-color:#e4e4e4 }
 }
.flag-icon-us {
background-image: url(/plugin/Booking/Img/us.svg) }
.flag-icon-mx {
background-image: url(/plugin/Booking/Img/mx.svg) }
.flag-icon-ca {
background-image: url(/plugin/Booking/Img/ca.svg) }
.flag-icon-do {
background-image: url(/plugin/Booking/Img/do.svg) }
.flag-icon-jm {
background-image: url(/plugin/Booking/Img/jm.svg) }
.flag-icon {
background-size: contain; background-position: 50%; background-repeat: no-repeat; position: relative; display: inline-block; width: 1.33333333em; line-height: 1em }
.flag-icon:before {
content:"\00a0" }
.section__input {
display: flex; cursor: pointer; border: 1px solid #ededed; border-radius: 5px; padding: 10px; align-items: center; justify-content: space-between; font-size:.77em; position: relative!important }
.message__icon,.section__alert {
display: flex; justify-content: center }
.section__input--active,.section__input:hover {
border: 1px solid #069cc4 }
.section__input-text {
width: 100%; font-size:.9em; color:#767575 }
.section__input-text--select {
color:#000; font-weight: 700 }
.section__input-icon {
font-size: var(--box-icon-primary); cursor: pointer; color: var(--color-gray) }
.missing-input .section__icon--primary,.missing-input .section__input-icon,.missing-input .section__input-text,.missing-input .section__label {
color:#ff3838f2!important }
.missing-input .section__input {
border: 1px solid red!important }
.section__alert {
height: 100%; align-items: center; flex-direction: column; width: 170px; margin: auto }
.section__alert>div:nth-child(2) {
margin: 20px 0 0; color:#818181; text-align: center; font-size: 15px }
.section__alert i {
color: var(--color-icon); font-size: 30px }
.section__input-error {
position: absolute!important; background:#ff4035; color:#fff; font-size: 13px; padding: 5px; border-radius: 4px; bottom:-35px; left: 0; z-index: 1 }
.section__input-error::before {
content:""; position: absolute!important; width: 0; height: 0; border-right: 10px solid transparent; border-bottom: 9px solid #ff4035; border-left: 10px solid transparent; border-top: 9px solid transparent; left: 15px; top:-18px }
.message__modal {
position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.4); border-radius: 8px; padding: 10px; display: flex; flex-direction: column }
.message__modal-exit {
text-align: end; color:#000; font-size: 25px; margin: 0 0 10px; position: absolute; top: 76px; right: 52px }
.message__modal-exit i {
cursor: pointer }
.message__container {
background:#fff; border-radius: 8px; display: flex; flex-direction: column; justify-content: center a; width: 80%; margin: auto; height: 62%; padding: 14px }
.message__container span {
color: var(--color-icon); font-weight: 700 }
.message__icon {
font-size: 44px; color:#18415a }
.message__text {
text-align: center; margin: 10px 0 0; font-size: 14px }
.message__text_bottom {
margin-bottom: 10px }
.stickyMob {
display: block!important }
.forzeBooking .stickyMob {
background:#fff; position: fixed; left: 0; bottom: 0; height: 80px; box-shadow: 0 2px 14px rgba(0,0,0,.8); width: 100%; display: none; z-index: 1000 }
.forzeBooking .stickyMob__container {
display: flex; justify-content: center; align-items: center; align-content: center; height: 100% }
.forzeBooking .stickyMob__button {
padding: 5px 15px; width: 45%; margin: 0 10px; border-radius: 6px; text-align: center; height: 45px; line-height: 38px; text-transform: uppercase; font-size: 16px; cursor: pointer }
.forzeBooking .stickyMob__button--call {
border: 1px solid #d43a5f; font-weight: 700; color:#d43a5f }
.forzeBooking .stickyMob__button--booking {
background:#d43a5f; color:#fff }
@media screen and (min-width: 891px) {
.forzeBooking .stickyMob {
display: none!important }
 }
.calendar {
background: var(--bg-primary); min-width: var(--width-min); max-width: var(--width-max); font-size: var(--size-primary); font-family: inherit; color: var(--theme-color); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
.calendar__title-box {
display: flex; justify-content: space-between; align-items: center; font-size:.9em; font-weight: 700; color:#5a5757; box-shadow: var(--box-title-shadow); text-transform: capitalize }
.calendar__content-days,.calendar__week {
display: grid; grid-gap: 2px; grid-template-columns: repeat(7,1fr) }
.calendar__button {
cursor: pointer; font-size: 1.2em; fill:#3a3838 }
.calendar__button--disabled {
fill:#d2c6c6!important; cursor: initial }
.calendar__week {
margin: 0 0 5px; font-size:.9em }
.calendar__week-name {
text-align: center }
.calendar__day {
text-align: center; cursor: pointer; font-size:.66em; padding: 5px 0; border-radius: 2px }
.calendar__day--active {
background: var(--bg-day-active); color:#fff; position: relative }
.calendar__day--active:hover::before {
content:""; position: absolute; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,.3) }
.calendar__disabled {
background:#efefef; cursor: not-allowed }
.calendar__previusMonth {
color:#dbdbdb }
.calendar__disabled:hover::before {
content: none }
.calendar__today {
background:#fff; color:#000; border: 1px solid rgb(28 93 51)!important; display: flex; flex-direction: column }
.calendar__today::before {
content:"*"; position: absolute; right: 5px; top: 0 }
.activity__radio:after,.section__relative {
position: relative!important }
.calendar__day-select {
background: var(--bg-select-day) }
.section-quotation__subtotal {
    font-size: 11px;
    color: #2C2C2C;
    text-decoration: line-through;
    text-align: right; }
.section-quotation__total {
font-size: 15px; color:#333; margin: 2px 0;     display: flex;justify-content: space-between;}
.section-quotation__total-orange {
color:#E2526F; font-size: 18px; }
.section-quotation__taxes {text-align: right;display: grid;margin: 0 0 15px;}
.section-quotation__total-blue {
	color:#009CDE; font-size: 11px;  }
.section-quotation__promotion {
font-size: 14px; color:#333 }
.section-quotation__promotion-code {
color:#48A588; margin-left: 10px }
.activity__item {
display: flex; align-items: center; padding: 10px 20px; margin: 0 4px }
.activity__item:hover {
background:#99d9d7; cursor: pointer; color:#000; font-weight: 700 }
.activity__text {
margin-left: 20px; display: block; cursor: pointer; user-select: none; font-size: 13px }
.activity__input {
margin: auto 0; background:#f6f6f6; width: 31px; min-width: 33px; height: 33px; display: inline-flex; justify-content: center; align-items: center; border-radius: 100% }
.activity__radio,.activity__radio:after,.activity__radio:checked::after {
width: 16px; height:16px; display:block }
.activity__radio {
cursor: pointer }
.activity__radio:after {
border-radius: 15px; top: 0; left: 0; background-color:#d1d3d1; content:''; visibility: visible; border: 2px solid #fff }
.activity__radio:checked::after {
border-radius: 15px; top: 0; left: 0; position: relative!important; background-color:#0094a4; content:''; visibility: visible; border:2px solid #fff }
.booking__title {
padding:.8em 10px; border-top-left-radius: 3px; border-top-right-radius: 3px; font-size:.83em; min-height: 45px }
.booking__title--theme-blue {
font-weight: 700; color: var(--bg-section-title)!important; text-align: center; }
.booking__title--theme-white {
padding: 10px 20px 0; color:#818181; display: flex; justify-content: space-between; align-items: center }
.booking__title--theme-white i {
color: var(--color-icon); font-size: 20px; cursor: pointer }
.section__subtitle {
display: flex; align-items: center; margin: 0 0 5px }
.section__subtitle i {
font-size: 16px; color: var(--color-icon) }
.section__label {
color: var(--color-label); font-weight: 700; font-size: 13px; margin: 0 10px 0 8px }
.u-booking__padding-tb {
padding: 10px 0 }
.u-booking__padding {
padding: 10px 20px 20px }
.u-booking__mt-2 {
margin: 10px 0 0 }
.section__view--buttom {
padding: 20px }
ul.includes-list {
	list-style: none;
	text-align: left;
	font-size: 14px;
	display: flex;
	flex-direction: column;
}

ul.includes-list li { padding: 10px 0 0;  display: inline-flex; align-items: flex-start;} 

ul.includes-list li img {
	margin: 0 6px 0 0;
}
.promo-container.includeslist { width:320px; border-radius:5px; padding:20px; background-color:  white; border-top:1px solid #D9D9D9; margin: 15px auto 0;}

@media (max-width:767px) {
	.promo-container.includeslist {
		display: none;
	}
	.booking__title--theme-blue {
		color: #ffffff!important;
	}
}