Plugin Directory

Changeset 3415084


Ignore:
Timestamp:
12/09/2025 08:54:03 AM (4 months ago)
Author:
slopeit
Message:

Release widget version 4.3.4

Location:
slope-widgets
Files:
2 added
2 deleted
28 edited
1 copied

Legend:

Unmodified
Added
Removed
  • slope-widgets/tags/4.3.4/css/slope-admin.css

    r3385288 r3415084  
    33@keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}}
    44.slp-welcome-button{display:inline-flex;align-items:center;right:10px;bottom:30px;height:36px;padding:0 10px;border-radius:3px;text-align:center;text-transform:uppercase;text-decoration:none}.slp-welcome-button #skip-icon{margin-right:8px}.slope-slp-welcome{width:99%}#slp-welcome-button-container{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;margin-top:1rem}#slp-next-button{display:inline-flex;align-items:center;gap:2px;margin-right:1rem;height:36px;text-transform:uppercase;padding:0 10px;border-radius:3px;text-align:center;text-decoration:none}#slp-next-button-icon{width:10px;margin-right:5px}
    5 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
     5.slope-widgets-container{box-sizing:border-box}.slope-widgets-container span{display:inline}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right;overflow:hidden;text-overflow:ellipsis}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex;align-items:center}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
  • slope-widgets/tags/4.3.4/css/slope-widgets.css

    r3385288 r3415084  
    1 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
     1.slope-widgets-container{box-sizing:border-box}.slope-widgets-container span{display:inline}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right;overflow:hidden;text-overflow:ellipsis}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex;align-items:center}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
    22#slope-promotions a.slp-button{padding:1.5rem .5rem;transition:all .2s ease-in-out;text-decoration:none}#slope-promotions a.slp-button:hover{opacity:.7}#slope-widget{font-family:inherit!important}table.slp{min-width:initial;font-family:inherit}table.slp td{font-family:inherit;text-align:left!important;word-break:normal}[id^=promotion-submit-].slp-button{font-family:inherit!important;font-weight:700;letter-spacing:inherit}
    33@keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}}
    44@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus,.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i,.numInputWrapper{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.flatpickr-current-month span.cur-month:hover,.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{background:0 0;border:0;border-radius:0;box-sizing:border-box;color:inherit;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;padding:0 0 0 .5ch;vertical-align:initial;-webkit-box-sizing:border-box}.flatpickr-current-month input.cur-year{cursor:text;margin:0;display:inline-block;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;cursor:pointer;margin:-1px 0 0;outline:0;position:relative;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer,span.flatpickr-weekday{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;font-weight:bolder}.flatpickr-weeks{padding:1px 0 0}.flatpickr-days,.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-days{position:relative;overflow:hidden;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer,.flatpickr-day{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{background:0 0;border-color:transparent}.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:0}.flatpickr-innerContainer,.flatpickr-rContainer{-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0}.flatpickr-time,.flatpickr-time input{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{outline:0;display:block;height:0;line-height:40px;max-height:40px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}
    55input#border_size,input#range_button,input#slope_border_radius,input#slope_title_size{max-width:130px}input#slope_text_border_radius,input#slope_text_border_size,input#slope_text_title_size{cursor:pointer;background:0 0;color:#444;font-size:14px;width:22px;font-weight:700!important;border:0;pointer-events:none;box-shadow:none!important;padding-left:0}.slope-grid-container{display:grid;grid-template-columns:3fr 2fr}.slope-setting-container{margin-top:10px}.slope-docs-container{margin-left:30px;text-align:left;border-left:1px solid #d3d3d3;margin-right:10px;padding-left:10px}@media only screen and (max-width:1250px){.slope-grid-container{grid-template-columns:1fr}.slope-docs-container{margin-top:25px;margin-left:initial;padding-left:initial;border-color:transparent!important;margin-right:30px}}@media only screen and (max-width:768px){#slope-widget-container .form-table th,.slope-style-field{width:100%!important}.slope-radio-field label{margin-top:0!important}.slope-terms input[type=checkbox]{margin-bottom:4rem!important}.slope-setting-field input[type=checkbox]{margin:-.25rem .25rem 1rem 0}}#slope-widget-container .form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both;margin-bottom:1em}#slope-widget-container tbody{display:table-row-group;vertical-align:middle;border-color:inherit}#slope-widget-container .form-table th,.slope-style-field{padding-top:2em;text-align:left;width:240px;font-size:13px;font-weight:700;cursor:default!important;margin-right:20px}#slope-widget-container .form-table td{padding:1em 0;vertical-align:middle;font-weight:initial}.slope-setting-field input{display:flow;font-weight:400}.slope-setting-field input.wp-picker-clear,input[data-role=slope-color-picker]{position:relative;left:0}.slope-style-container{display:none;width:60%;float:left;margin-top:25px}.slope-setting-field input:checked[type=checkbox]:before,.slope-style-field input:checked[type=checkbox]:before{left:27px!important;top:2px!important}.slope-layout-container-promotions input[type=radio],.slope-setting-container input[type=checkbox],.slope-setting-container input[type=radio],.slope-setting-container-promotions input[type=checkbox],.slope-style-container-promotions input[type=radio]{float:left!important;display:block!important}#slope_children_age_max,#slope_min_days{width:70px}.slope-setting-field.slope-radio-field{padding:1em;margin-bottom:-2.5em;font-weight:400;display:block}.slope-radio-field label{margin-left:15px;width:100%;display:block!important;margin-bottom:.5em;margin-top:-5px}.slope-layout-container{display:none;width:60%;float:left}.slope-setting-container-promotions{display:block}.slope-layout-container-promotions,.slope-style-container-promotions{display:none}.slope-layout-container-promotions,.slope-setting-container-promotions,.slope-style-container-promotions{margin-top:25px}.slope-border-size-promotions{width:50px;text-align:center;border:0}input#slope_promotions_uuid{background:0 0}input#slope_promotions_border_size{text-align:left!important}#slope_uuid{width:40%!important;min-width:280px!important}.slp-font-16{font-size:16px!important}.slp-font-normal{font-weight:400!important}.slp-font-semibold{font-weight:600!important}.slp-font-bold{font-weight:700!important}.slp-gap-10px{gap:10px}.slp-margin-auto{margin:auto}.slp-margin-0{margin:0}.slp-width-full{width:100%}.slp-box-sizing-border-box{box-sizing:border-box}.slp-padding-24px{padding:24px}.slp-margin-top-10px{margin-top:10px}.slp-margin-top-20px{margin-top:20px}.slp-margin-top-5px{margin-top:5px}.slp-margin-bottom-10px{margin-bottom:10px}.slp-margin-bottom-0{margin-bottom:0}.slp-bg-white{background-color:#fff}.slp-bg-gray{background-color:#adb9c9}.slp-bg-light-gray{background-color:#f5f5f5}.slp-padding-bottom-24px{padding-bottom:24px}.slp-cursor-pointer,.slp-cursor-pointer:hover{cursor:pointer}.slp-settings-container{border-radius:12px}.slp-divider{border-bottom:1px solid #e0e0e0;width:100%;min-width:100%}.slp-select{width:25%;min-width:140px}.slp-radio{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.slp-radio-title{display:inline-block;margin-right:1rem}.slp-radio-options{display:flex;gap:20px;flex-wrap:wrap}.slp-flex-adaptive-row,.slp-flex-row{display:flex;flex-direction:row;align-items:center}.slp-flex-adaptive-row{align-items:baseline}.slp-padding-0{padding:0!important}.slp-bg-gold{background-color:#ffdc73}.slp-warning-container{display:flex;align-items:center;gap:10px;padding:1px 10px;margin-top:10px;border-radius:8px}@media only screen and (max-width:768px){.slp-radio{flex-direction:column;align-items:flex-start}.slp-radio-options{margin-top:10px}.slp-select{width:100%}.slp-radio-title{margin-right:0;margin-bottom:10px}.slp-flex-adaptive-row{flex-direction:column;align-items:flex-start}}@media only screen and (max-width:480px){.slp-settings-container{border-radius:8px}.slp-flex-row{flex-direction:column;align-items:flex-start}}
    6 .slope-flatpickr-calendar{padding:10px 2px;-webkit-justify-content:flex-start;justify-content:flex-start}.numInputWrapper span{display:none}.slope-flatpickr-calendar.open{z-index:9999!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year,.slope-flatpickr-calendar .flatpickr-month input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important;background:0 0!important;border-radius:0!important;border:0!important;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit!important;cursor:text;display:inline-block!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;height:auto!important;line-height:inherit!important;margin:0!important;padding:0 0 0 .5ch!important;vertical-align:initial!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year:focus,.slope-flatpickr-calendar .flatpickr-month input[type=number]:focus{box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-month .numInputWrapper{background:0 0}.slope-flatpickr-calendar .flatpickr-month .flatpickr-current-month{padding-top:0!important}.slope-flatpickr-calendar .dayContainer+.dayContainer,.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:none!important;box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.today.inRange,.slope-flatpickr-calendar .flatpickr-day:focus,.slope-flatpickr-calendar .flatpickr-day:hover{background-color:rgba(0,0,0,.1);border-color:transparent}.slope-flatpickr-calendar .flatpickr-day{height:44px;line-height:44px;max-height:44px;max-width:44px;width:44px}.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled{opacity:.3}.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover{background-color:unset}.slope-flatpickr-calendar .prevMonthDay.hidden{display:inherit!important}
     6.slope-flatpickr-calendar{padding:0 2px 10px;-webkit-justify-content:flex-start;justify-content:flex-start}.numInputWrapper span{display:none}.slope-flatpickr-calendar.open{z-index:9999!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year,.slope-flatpickr-calendar .flatpickr-month input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important;background:0 0!important;border-radius:0!important;border:0!important;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit!important;cursor:text;display:inline-block!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;height:auto!important;line-height:inherit!important;margin:0!important;padding:0 0 0 .5ch!important;vertical-align:initial!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year:focus,.slope-flatpickr-calendar .flatpickr-month input[type=number]:focus{box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-month .numInputWrapper{background:0 0}.slope-flatpickr-calendar .flatpickr-month .flatpickr-current-month{padding-top:10px!important}.slope-flatpickr-calendar .dayContainer+.dayContainer,.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:none!important;box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.today.inRange,.slope-flatpickr-calendar .flatpickr-day:focus,.slope-flatpickr-calendar .flatpickr-day:hover{background-color:rgba(0,0,0,.1);border-color:transparent}.slope-flatpickr-calendar .flatpickr-day{height:44px;line-height:44px;max-height:44px;max-width:44px;width:44px}.slope-flatpickr-calendar .flatpickr-day.disabled,.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled{opacity:.3}.slope-flatpickr-calendar .flatpickr-day.disabled:hover,.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover{background-color:unset}.slope-flatpickr-calendar .prevMonthDay.hidden{display:inherit!important}
    77@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.slope-widgets-container .dayContainer{display:block!important;width:356px!important}}
  • slope-widgets/tags/4.3.4/includes/admin/GlobalSettings.php

    r3385288 r3415084  
    2121        $slug = 'slope-widgets/slope-widgets.php';
    2222
     23        // According to WordPress this comment in the codex the best way to add a menu icon is to use a base64 encoded
     24        // SVG image: https://developer.wordpress.org/reference/functions/add_menu_page/#comment-5845
     25        $svg = file_get_contents(SLOPE_WIDGETS_PATH . '/images/icon.svg');
     26
    2327        add_menu_page(
    2428            esc_html__('Impostazioni di Slope Widgets', 'slope-widgets'),
     
    2731            $slug,
    2832            [$this, 'renderSettingsPage'],
    29             plugins_url('slope-widgets/images/icon.png')
     33            'data:image/svg+xml;base64,'.base64_encode($svg)
    3034        );
    3135
  • slope-widgets/tags/4.3.4/includes/admin/Promotions.php

    r3385288 r3415084  
    139139
    140140        // NOTE: An expiration time of 0 means the cache will not expire!
    141         if (SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS !== 0) {
    142             set_transient($cache_key, $promotions, SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS);
     141        if (SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS !== 0) {
     142            set_transient($cache_key, $promotions, SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS);
    143143        }
    144144        wp_send_json_success($promotions);
     
    148148     * Returns the content displayed by the shortcode
    149149     *
    150      * @param mixed[] $atts The shortcode attributes
     150     * @param mixed[]|string $atts The shortcode attributes
    151151     */
    152     function slope_promotions_shortcode(array $atts): string
     152    function slope_promotions_shortcode($atts): string
    153153    {
    154154        $uuid = GlobalSettingsProvider::getEstablishmentId();
    155155        $bookTarget = GlobalSettingsProvider::shouldOpenLinksOnANewTab() ? ' data-open-new-tab="true"' : '';
    156156        // Try to get the language from the shortcode attribute
    157         $atts = shortcode_atts(
     157        $shortcodeAttributes = shortcode_atts(
    158158            [
    159159                'lang' => '',
    160160            ],
    161             $atts
     161            // TODO: $atts should always be an array, but when no attributes are passed it can be a string.
     162            //  This has been fixed in later versions of WordPress (>=6.5), so we can remove this check in the future
     163            //  and enforce $atts type to be always an array.
     164            //  see: https://core.trac.wordpress.org/changeset/57597
     165            is_array($atts) ? $atts : []
    162166        );
    163167
    164168        $uuid = esc_attr($uuid);
    165169
    166         $languageAttribute = $atts['lang']
    167             ? ' data-lang="' . esc_attr($atts['lang']) . '"'
     170        $languageAttribute = $shortcodeAttributes['lang']
     171            ? ' data-lang="' . esc_attr($shortcodeAttributes['lang']) . '"'
    168172            : '';
    169173
  • slope-widgets/tags/4.3.4/includes/admin/Reservations.php

    r3385288 r3415084  
    5858     * Returns the content displayed by the shortcode
    5959     *
    60      * @param mixed[] $atts The shortcode attributes
     60     * @param mixed[]|string $atts The shortcode attributes
    6161     */
    62     public function getShortcodeContent(array $atts): string
     62    public function getShortcodeContent($atts): string
    6363    {
    6464        $languageResolver = new LanguageResolver();
     
    6868
    6969        // Try to get the language from the shortcode attribute
    70         $atts = shortcode_atts(
     70        $shortcodeAttributes = shortcode_atts(
    7171            [
    7272                'lang' => null,
    7373            ],
    74             $atts
    75         );
    76 
    77         $lang = $languageResolver->resolveLanguage($atts['lang']);
     74            // TODO: $atts should always be an array, but when no attributes are passed it can be a string.
     75            //  This has been fixed in later versions of WordPress (>=6.5), so we can remove this check in the future
     76            //  and enforce $atts type to be always an array.
     77            //  see: https://core.trac.wordpress.org/changeset/57597
     78            is_array($atts) ? $atts : []
     79        );
     80
     81        $lang = $languageResolver->resolveLanguage($shortcodeAttributes['lang']);
    7882
    7983        // Strings mapping for languages
     
    276280                color: <?php echo esc_attr($fontColor) ?> !important;
    277281            }
    278 
    279             .slope-flatpickr-calendar .flatpickr-current-month span.cur-month:hover,
    280             .slope-flatpickr-calendar .flatpickr-current-month input.cur-year,
    281282        </style>
    282283
    283         <div id="slope-widgets-config" data-language="<?php echo esc_attr($atts['lang']) ?>" data-min-days="<?php echo esc_attr($minDays) ?>"></div>
     284        <div id="slope-widgets-config" data-language="<?php echo esc_attr($shortcodeAttributes['lang']) ?>" data-min-days="<?php echo esc_attr($minDays) ?>"></div>
    284285        <div class="slope-widgets-container" data-widget-count>
    285286        <form action="<?php echo esc_url($bookingEngineActionURL) ?>" method="POST">
  • slope-widgets/tags/4.3.4/js/slope-admin.js

    r3289147 r3415084  
    1010  jQuery("#layout_page_promotions_select").removeClass("nav-tab-active");
    1111}
    12 
    1312function activate_page_style_promotions() {
    1413  jQuery(".slope-setting-container-promotions").css("display", "none");
     
    1918  jQuery("#layout_page_promotions_select").removeClass("nav-tab-active");
    2019}
    21 
    2220function activate_page_layout_promotions() {
    2321  jQuery(".slope-setting-container-promotions").css("display", "none");
     
    3230function slopeCheckValidity() {
    3331  var form = new SlopeForm(jQuery("#slp-welcome-form"), ["user-type", "email-address"]);
    34 
    3532  if (!form.isValid() || !document.getElementById("slope-terms").checked) {
    3633    jQuery(this).find('button[type="submit"]').attr("disabled", true);
     
    3936  }
    4037}
    41 
    4238function slopeSendDataAndRedirect(nextPageUrl) {
    4339  var slopeWelcomeForm = new SlopeForm(jQuery("#slp-welcome-form"), ["user-type", "email-address"]);
    4440  var ZAPIER_URL = "https://hooks.zapier.com/hooks/catch/3734337/o3u54mk/";
    45 
    4641  if (slopeWelcomeForm.isValid() || !document.getElementById("slope-terms").checked) {
    4742    slopeWelcomeForm.send(ZAPIER_URL, function () {
     
    5045  }
    5146}
    52 
    5347jQuery(document).on("change", "#slp-welcome-form", slopeCheckValidity);
  • slope-widgets/tags/4.3.4/js/slope-modules.js

    r2806537 r3415084  
    88    return (e = Object.assign || function (e) {
    99      for (var t, n = 1, a = arguments.length; n < a; n++) for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
    10 
    1110      return e;
    1211    }).apply(this, arguments);
    1312  };
    14 
    1513  function t() {
    1614    for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length;
    17 
    1815    var a = Array(e),
    19         i = 0;
    20 
     16      i = 0;
    2117    for (t = 0; t < n; t++) for (var o = arguments[t], r = 0, l = o.length; r < l; r++, i++) a[i] = o[r];
    22 
    2318    return a;
    2419  }
    25 
    2620  var n = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"],
    27       a = {
    28     _disable: [],
    29     allowInput: !1,
    30     allowInvalidPreload: !1,
    31     altFormat: "F j, Y",
    32     altInput: !1,
    33     altInputClass: "form-control input",
    34     animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"),
    35     ariaDateFormat: "F j, Y",
    36     autoFillDefaultTime: !0,
    37     clickOpens: !0,
    38     closeOnSelect: !0,
    39     conjunction: ", ",
    40     dateFormat: "Y-m-d",
    41     defaultHour: 12,
    42     defaultMinute: 0,
    43     defaultSeconds: 0,
    44     disable: [],
    45     disableMobile: !1,
    46     enableSeconds: !1,
    47     enableTime: !1,
    48     errorHandler: function (e) {
    49       return "undefined" != typeof console && console.warn(e);
     21    a = {
     22      _disable: [],
     23      allowInput: !1,
     24      allowInvalidPreload: !1,
     25      altFormat: "F j, Y",
     26      altInput: !1,
     27      altInputClass: "form-control input",
     28      animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"),
     29      ariaDateFormat: "F j, Y",
     30      autoFillDefaultTime: !0,
     31      clickOpens: !0,
     32      closeOnSelect: !0,
     33      conjunction: ", ",
     34      dateFormat: "Y-m-d",
     35      defaultHour: 12,
     36      defaultMinute: 0,
     37      defaultSeconds: 0,
     38      disable: [],
     39      disableMobile: !1,
     40      enableSeconds: !1,
     41      enableTime: !1,
     42      errorHandler: function (e) {
     43        return "undefined" != typeof console && console.warn(e);
     44      },
     45      getWeek: function (e) {
     46        var t = new Date(e.getTime());
     47        t.setHours(0, 0, 0, 0), t.setDate(t.getDate() + 3 - (t.getDay() + 6) % 7);
     48        var n = new Date(t.getFullYear(), 0, 4);
     49        return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7);
     50      },
     51      hourIncrement: 1,
     52      ignoredFocusElements: [],
     53      inline: !1,
     54      locale: "default",
     55      minuteIncrement: 5,
     56      mode: "single",
     57      monthSelectorType: "dropdown",
     58      nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
     59      noCalendar: !1,
     60      now: new Date(),
     61      onChange: [],
     62      onClose: [],
     63      onDayCreate: [],
     64      onDestroy: [],
     65      onKeyDown: [],
     66      onMonthChange: [],
     67      onOpen: [],
     68      onParseConfig: [],
     69      onReady: [],
     70      onValueUpdate: [],
     71      onYearChange: [],
     72      onPreCalendarPosition: [],
     73      plugins: [],
     74      position: "auto",
     75      positionElement: void 0,
     76      prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
     77      shorthandCurrentMonth: !1,
     78      showMonths: 1,
     79      static: !1,
     80      time_24hr: !1,
     81      weekNumbers: !1,
     82      wrap: !1
    5083    },
    51     getWeek: function (e) {
    52       var t = new Date(e.getTime());
    53       t.setHours(0, 0, 0, 0), t.setDate(t.getDate() + 3 - (t.getDay() + 6) % 7);
    54       var n = new Date(t.getFullYear(), 0, 4);
    55       return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7);
     84    i = {
     85      weekdays: {
     86        shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
     87        longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
     88      },
     89      months: {
     90        shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
     91        longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
     92      },
     93      daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
     94      firstDayOfWeek: 0,
     95      ordinal: function (e) {
     96        var t = e % 100;
     97        if (t > 3 && t < 21) return "th";
     98        switch (t % 10) {
     99          case 1:
     100            return "st";
     101          case 2:
     102            return "nd";
     103          case 3:
     104            return "rd";
     105          default:
     106            return "th";
     107        }
     108      },
     109      rangeSeparator: " to ",
     110      weekAbbreviation: "Wk",
     111      scrollTitle: "Scroll to increment",
     112      toggleTitle: "Click to toggle",
     113      amPM: ["AM", "PM"],
     114      yearAriaLabel: "Year",
     115      monthAriaLabel: "Month",
     116      hourAriaLabel: "Hour",
     117      minuteAriaLabel: "Minute",
     118      time_24hr: !1
    56119    },
    57     hourIncrement: 1,
    58     ignoredFocusElements: [],
    59     inline: !1,
    60     locale: "default",
    61     minuteIncrement: 5,
    62     mode: "single",
    63     monthSelectorType: "dropdown",
    64     nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
    65     noCalendar: !1,
    66     now: new Date(),
    67     onChange: [],
    68     onClose: [],
    69     onDayCreate: [],
    70     onDestroy: [],
    71     onKeyDown: [],
    72     onMonthChange: [],
    73     onOpen: [],
    74     onParseConfig: [],
    75     onReady: [],
    76     onValueUpdate: [],
    77     onYearChange: [],
    78     onPreCalendarPosition: [],
    79     plugins: [],
    80     position: "auto",
    81     positionElement: void 0,
    82     prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
    83     shorthandCurrentMonth: !1,
    84     showMonths: 1,
    85     static: !1,
    86     time_24hr: !1,
    87     weekNumbers: !1,
    88     wrap: !1
    89   },
    90       i = {
    91     weekdays: {
    92       shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    93       longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
     120    o = function (e, t) {
     121      return void 0 === t && (t = 2), ("000" + e).slice(-1 * t);
    94122    },
    95     months: {
    96       shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    97       longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
    98     },
    99     daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
    100     firstDayOfWeek: 0,
    101     ordinal: function (e) {
    102       var t = e % 100;
    103       if (t > 3 && t < 21) return "th";
    104 
    105       switch (t % 10) {
    106         case 1:
    107           return "st";
    108 
    109         case 2:
    110           return "nd";
    111 
    112         case 3:
    113           return "rd";
    114 
    115         default:
    116           return "th";
    117       }
    118     },
    119     rangeSeparator: " to ",
    120     weekAbbreviation: "Wk",
    121     scrollTitle: "Scroll to increment",
    122     toggleTitle: "Click to toggle",
    123     amPM: ["AM", "PM"],
    124     yearAriaLabel: "Year",
    125     monthAriaLabel: "Month",
    126     hourAriaLabel: "Hour",
    127     minuteAriaLabel: "Minute",
    128     time_24hr: !1
    129   },
    130       o = function (e, t) {
    131     return void 0 === t && (t = 2), ("000" + e).slice(-1 * t);
    132   },
    133       r = function (e) {
    134     return !0 === e ? 1 : 0;
    135   };
    136 
     123    r = function (e) {
     124      return !0 === e ? 1 : 0;
     125    };
    137126  function l(e, t) {
    138127    var n;
     
    144133    };
    145134  }
    146 
    147135  var c = function (e) {
    148136    return e instanceof Array ? e : [e];
    149137  };
    150 
    151138  function d(e, t, n) {
    152139    if (!0 === n) return e.classList.add(t);
    153140    e.classList.remove(t);
    154141  }
    155 
    156142  function s(e, t, n) {
    157143    var a = window.document.createElement(e);
    158144    return t = t || "", n = n || "", a.className = t, void 0 !== n && (a.textContent = n), a;
    159145  }
    160 
    161146  function u(e) {
    162147    for (; e.firstChild;) e.removeChild(e.firstChild);
    163148  }
    164 
    165149  function f(e, t) {
    166150    return t(e) ? e : e.parentNode ? f(e.parentNode, t) : void 0;
    167151  }
    168 
    169152  function m(e, t) {
    170153    var n = s("div", "numInputWrapper"),
    171         a = s("input", "numInput " + e),
    172         i = s("span", "arrowUp"),
    173         o = s("span", "arrowDown");
     154      a = s("input", "numInput " + e),
     155      i = s("span", "arrowUp"),
     156      o = s("span", "arrowDown");
    174157    if (-1 === navigator.userAgent.indexOf("MSIE 9.0") ? a.type = "number" : (a.type = "text", a.pattern = "\\d*"), void 0 !== t) for (var r in t) a.setAttribute(r, t[r]);
    175158    return n.appendChild(a), n.appendChild(i), n.appendChild(o), n;
    176159  }
    177 
    178160  function g(e) {
    179161    try {
     
    183165    }
    184166  }
    185 
    186167  var p = function () {},
    187       h = function (e, t, n) {
    188     return n.months[t ? "shorthand" : "longhand"][e];
    189   },
    190       v = {
    191     D: p,
    192     F: function (e, t, n) {
    193       e.setMonth(n.months.longhand.indexOf(t));
     168    h = function (e, t, n) {
     169      return n.months[t ? "shorthand" : "longhand"][e];
    194170    },
    195     G: function (e, t) {
    196       e.setHours(parseFloat(t));
     171    v = {
     172      D: p,
     173      F: function (e, t, n) {
     174        e.setMonth(n.months.longhand.indexOf(t));
     175      },
     176      G: function (e, t) {
     177        e.setHours(parseFloat(t));
     178      },
     179      H: function (e, t) {
     180        e.setHours(parseFloat(t));
     181      },
     182      J: function (e, t) {
     183        e.setDate(parseFloat(t));
     184      },
     185      K: function (e, t, n) {
     186        e.setHours(e.getHours() % 12 + 12 * r(new RegExp(n.amPM[1], "i").test(t)));
     187      },
     188      M: function (e, t, n) {
     189        e.setMonth(n.months.shorthand.indexOf(t));
     190      },
     191      S: function (e, t) {
     192        e.setSeconds(parseFloat(t));
     193      },
     194      U: function (e, t) {
     195        return new Date(1e3 * parseFloat(t));
     196      },
     197      W: function (e, t, n) {
     198        var a = parseInt(t),
     199          i = new Date(e.getFullYear(), 0, 2 + 7 * (a - 1), 0, 0, 0, 0);
     200        return i.setDate(i.getDate() - i.getDay() + n.firstDayOfWeek), i;
     201      },
     202      Y: function (e, t) {
     203        e.setFullYear(parseFloat(t));
     204      },
     205      Z: function (e, t) {
     206        return new Date(t);
     207      },
     208      d: function (e, t) {
     209        e.setDate(parseFloat(t));
     210      },
     211      h: function (e, t) {
     212        e.setHours(parseFloat(t));
     213      },
     214      i: function (e, t) {
     215        e.setMinutes(parseFloat(t));
     216      },
     217      j: function (e, t) {
     218        e.setDate(parseFloat(t));
     219      },
     220      l: p,
     221      m: function (e, t) {
     222        e.setMonth(parseFloat(t) - 1);
     223      },
     224      n: function (e, t) {
     225        e.setMonth(parseFloat(t) - 1);
     226      },
     227      s: function (e, t) {
     228        e.setSeconds(parseFloat(t));
     229      },
     230      u: function (e, t) {
     231        return new Date(parseFloat(t));
     232      },
     233      w: p,
     234      y: function (e, t) {
     235        e.setFullYear(2e3 + parseFloat(t));
     236      }
    197237    },
    198     H: function (e, t) {
    199       e.setHours(parseFloat(t));
     238    D = {
     239      D: "(\\w+)",
     240      F: "(\\w+)",
     241      G: "(\\d\\d|\\d)",
     242      H: "(\\d\\d|\\d)",
     243      J: "(\\d\\d|\\d)\\w+",
     244      K: "",
     245      M: "(\\w+)",
     246      S: "(\\d\\d|\\d)",
     247      U: "(.+)",
     248      W: "(\\d\\d|\\d)",
     249      Y: "(\\d{4})",
     250      Z: "(.+)",
     251      d: "(\\d\\d|\\d)",
     252      h: "(\\d\\d|\\d)",
     253      i: "(\\d\\d|\\d)",
     254      j: "(\\d\\d|\\d)",
     255      l: "(\\w+)",
     256      m: "(\\d\\d|\\d)",
     257      n: "(\\d\\d|\\d)",
     258      s: "(\\d\\d|\\d)",
     259      u: "(.+)",
     260      w: "(\\d\\d|\\d)",
     261      y: "(\\d{2})"
    200262    },
    201     J: function (e, t) {
    202       e.setDate(parseFloat(t));
     263    w = {
     264      Z: function (e) {
     265        return e.toISOString();
     266      },
     267      D: function (e, t, n) {
     268        return t.weekdays.shorthand[w.w(e, t, n)];
     269      },
     270      F: function (e, t, n) {
     271        return h(w.n(e, t, n) - 1, !1, t);
     272      },
     273      G: function (e, t, n) {
     274        return o(w.h(e, t, n));
     275      },
     276      H: function (e) {
     277        return o(e.getHours());
     278      },
     279      J: function (e, t) {
     280        return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate();
     281      },
     282      K: function (e, t) {
     283        return t.amPM[r(e.getHours() > 11)];
     284      },
     285      M: function (e, t) {
     286        return h(e.getMonth(), !0, t);
     287      },
     288      S: function (e) {
     289        return o(e.getSeconds());
     290      },
     291      U: function (e) {
     292        return e.getTime() / 1e3;
     293      },
     294      W: function (e, t, n) {
     295        return n.getWeek(e);
     296      },
     297      Y: function (e) {
     298        return o(e.getFullYear(), 4);
     299      },
     300      d: function (e) {
     301        return o(e.getDate());
     302      },
     303      h: function (e) {
     304        return e.getHours() % 12 ? e.getHours() % 12 : 12;
     305      },
     306      i: function (e) {
     307        return o(e.getMinutes());
     308      },
     309      j: function (e) {
     310        return e.getDate();
     311      },
     312      l: function (e, t) {
     313        return t.weekdays.longhand[e.getDay()];
     314      },
     315      m: function (e) {
     316        return o(e.getMonth() + 1);
     317      },
     318      n: function (e) {
     319        return e.getMonth() + 1;
     320      },
     321      s: function (e) {
     322        return e.getSeconds();
     323      },
     324      u: function (e) {
     325        return e.getTime();
     326      },
     327      w: function (e) {
     328        return e.getDay();
     329      },
     330      y: function (e) {
     331        return String(e.getFullYear()).substring(2);
     332      }
    203333    },
    204     K: function (e, t, n) {
    205       e.setHours(e.getHours() % 12 + 12 * r(new RegExp(n.amPM[1], "i").test(t)));
    206     },
    207     M: function (e, t, n) {
    208       e.setMonth(n.months.shorthand.indexOf(t));
    209     },
    210     S: function (e, t) {
    211       e.setSeconds(parseFloat(t));
    212     },
    213     U: function (e, t) {
    214       return new Date(1e3 * parseFloat(t));
    215     },
    216     W: function (e, t, n) {
    217       var a = parseInt(t),
    218           i = new Date(e.getFullYear(), 0, 2 + 7 * (a - 1), 0, 0, 0, 0);
    219       return i.setDate(i.getDate() - i.getDay() + n.firstDayOfWeek), i;
    220     },
    221     Y: function (e, t) {
    222       e.setFullYear(parseFloat(t));
    223     },
    224     Z: function (e, t) {
    225       return new Date(t);
    226     },
    227     d: function (e, t) {
    228       e.setDate(parseFloat(t));
    229     },
    230     h: function (e, t) {
    231       e.setHours(parseFloat(t));
    232     },
    233     i: function (e, t) {
    234       e.setMinutes(parseFloat(t));
    235     },
    236     j: function (e, t) {
    237       e.setDate(parseFloat(t));
    238     },
    239     l: p,
    240     m: function (e, t) {
    241       e.setMonth(parseFloat(t) - 1);
    242     },
    243     n: function (e, t) {
    244       e.setMonth(parseFloat(t) - 1);
    245     },
    246     s: function (e, t) {
    247       e.setSeconds(parseFloat(t));
    248     },
    249     u: function (e, t) {
    250       return new Date(parseFloat(t));
    251     },
    252     w: p,
    253     y: function (e, t) {
    254       e.setFullYear(2e3 + parseFloat(t));
    255     }
    256   },
    257       D = {
    258     D: "(\\w+)",
    259     F: "(\\w+)",
    260     G: "(\\d\\d|\\d)",
    261     H: "(\\d\\d|\\d)",
    262     J: "(\\d\\d|\\d)\\w+",
    263     K: "",
    264     M: "(\\w+)",
    265     S: "(\\d\\d|\\d)",
    266     U: "(.+)",
    267     W: "(\\d\\d|\\d)",
    268     Y: "(\\d{4})",
    269     Z: "(.+)",
    270     d: "(\\d\\d|\\d)",
    271     h: "(\\d\\d|\\d)",
    272     i: "(\\d\\d|\\d)",
    273     j: "(\\d\\d|\\d)",
    274     l: "(\\w+)",
    275     m: "(\\d\\d|\\d)",
    276     n: "(\\d\\d|\\d)",
    277     s: "(\\d\\d|\\d)",
    278     u: "(.+)",
    279     w: "(\\d\\d|\\d)",
    280     y: "(\\d{2})"
    281   },
    282       w = {
    283     Z: function (e) {
    284       return e.toISOString();
    285     },
    286     D: function (e, t, n) {
    287       return t.weekdays.shorthand[w.w(e, t, n)];
    288     },
    289     F: function (e, t, n) {
    290       return h(w.n(e, t, n) - 1, !1, t);
    291     },
    292     G: function (e, t, n) {
    293       return o(w.h(e, t, n));
    294     },
    295     H: function (e) {
    296       return o(e.getHours());
    297     },
    298     J: function (e, t) {
    299       return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate();
    300     },
    301     K: function (e, t) {
    302       return t.amPM[r(e.getHours() > 11)];
    303     },
    304     M: function (e, t) {
    305       return h(e.getMonth(), !0, t);
    306     },
    307     S: function (e) {
    308       return o(e.getSeconds());
    309     },
    310     U: function (e) {
    311       return e.getTime() / 1e3;
    312     },
    313     W: function (e, t, n) {
    314       return n.getWeek(e);
    315     },
    316     Y: function (e) {
    317       return o(e.getFullYear(), 4);
    318     },
    319     d: function (e) {
    320       return o(e.getDate());
    321     },
    322     h: function (e) {
    323       return e.getHours() % 12 ? e.getHours() % 12 : 12;
    324     },
    325     i: function (e) {
    326       return o(e.getMinutes());
    327     },
    328     j: function (e) {
    329       return e.getDate();
    330     },
    331     l: function (e, t) {
    332       return t.weekdays.longhand[e.getDay()];
    333     },
    334     m: function (e) {
    335       return o(e.getMonth() + 1);
    336     },
    337     n: function (e) {
    338       return e.getMonth() + 1;
    339     },
    340     s: function (e) {
    341       return e.getSeconds();
    342     },
    343     u: function (e) {
    344       return e.getTime();
    345     },
    346     w: function (e) {
    347       return e.getDay();
    348     },
    349     y: function (e) {
    350       return String(e.getFullYear()).substring(2);
    351     }
    352   },
    353       b = function (e) {
    354     var t = e.config,
     334    b = function (e) {
     335      var t = e.config,
    355336        n = void 0 === t ? a : t,
    356337        o = e.l10n,
     
    358339        l = e.isMobile,
    359340        c = void 0 !== l && l;
    360     return function (e, t, a) {
    361       var i = a || r;
    362       return void 0 === n.formatDate || c ? t.split("").map(function (t, a, o) {
    363         return w[t] && "\\" !== o[a - 1] ? w[t](e, i, n) : "\\" !== t ? t : "";
    364       }).join("") : n.formatDate(e, t, i);
    365     };
    366   },
    367       C = function (e) {
    368     var t = e.config,
     341      return function (e, t, a) {
     342        var i = a || r;
     343        return void 0 === n.formatDate || c ? t.split("").map(function (t, a, o) {
     344          return w[t] && "\\" !== o[a - 1] ? w[t](e, i, n) : "\\" !== t ? t : "";
     345        }).join("") : n.formatDate(e, t, i);
     346      };
     347    },
     348    C = function (e) {
     349      var t = e.config,
    369350        n = void 0 === t ? a : t,
    370351        o = e.l10n,
    371352        r = void 0 === o ? i : o;
    372     return function (e, t, i, o) {
    373       if (0 === e || e) {
    374         var l,
     353      return function (e, t, i, o) {
     354        if (0 === e || e) {
     355          var l,
    375356            c = o || r,
    376357            d = e;
    377         if (e instanceof Date) l = new Date(e.getTime());else if ("string" != typeof e && void 0 !== e.toFixed) l = new Date(e);else if ("string" == typeof e) {
    378           var s = t || (n || a).dateFormat,
     358          if (e instanceof Date) l = new Date(e.getTime());else if ("string" != typeof e && void 0 !== e.toFixed) l = new Date(e);else if ("string" == typeof e) {
     359            var s = t || (n || a).dateFormat,
    379360              u = String(e).trim();
    380           if ("today" === u) l = new Date(), i = !0;else if (/Z$/.test(u) || /GMT$/.test(u)) l = new Date(e);else if (n && n.parseDate) l = n.parseDate(e, s);else {
    381             l = n && n.noCalendar ? new Date(new Date().setHours(0, 0, 0, 0)) : new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0);
    382 
    383             for (var f = void 0, m = [], g = 0, p = 0, h = ""; g < s.length; g++) {
    384               var w = s[g],
     361            if ("today" === u) l = new Date(), i = !0;else if (/Z$/.test(u) || /GMT$/.test(u)) l = new Date(e);else if (n && n.parseDate) l = n.parseDate(e, s);else {
     362              l = n && n.noCalendar ? new Date(new Date().setHours(0, 0, 0, 0)) : new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0);
     363              for (var f = void 0, m = [], g = 0, p = 0, h = ""; g < s.length; g++) {
     364                var w = s[g],
    385365                  b = "\\" === w,
    386366                  C = "\\" === s[g - 1] || b;
    387 
    388               if (D[w] && !C) {
    389                 h += D[w];
    390                 var M = new RegExp(h).exec(e);
    391                 M && (f = !0) && m["Y" !== w ? "push" : "unshift"]({
    392                   fn: v[w],
    393                   val: M[++p]
     367                if (D[w] && !C) {
     368                  h += D[w];
     369                  var M = new RegExp(h).exec(e);
     370                  M && (f = !0) && m["Y" !== w ? "push" : "unshift"]({
     371                    fn: v[w],
     372                    val: M[++p]
     373                  });
     374                } else b || (h += ".");
     375                m.forEach(function (e) {
     376                  var t = e.fn,
     377                    n = e.val;
     378                  return l = t(l, n, c) || l;
    394379                });
    395               } else b || (h += ".");
    396 
    397               m.forEach(function (e) {
    398                 var t = e.fn,
    399                     n = e.val;
    400                 return l = t(l, n, c) || l;
    401               });
     380              }
     381              l = f ? l : void 0;
    402382            }
    403 
    404             l = f ? l : void 0;
    405383          }
    406         }
    407         if (l instanceof Date && !isNaN(l.getTime())) return !0 === i && l.setHours(0, 0, 0, 0), l;
    408         n.errorHandler(new Error("Invalid date provided: " + d));
    409       }
     384          if (l instanceof Date && !isNaN(l.getTime())) return !0 === i && l.setHours(0, 0, 0, 0), l;
     385          n.errorHandler(new Error("Invalid date provided: " + d));
     386        }
     387      };
    410388    };
    411   };
    412 
    413389  function M(e, t, n) {
    414390    return void 0 === n && (n = !0), !1 !== n ? new Date(e.getTime()).setHours(0, 0, 0, 0) - new Date(t.getTime()).setHours(0, 0, 0, 0) : e.getTime() - t.getTime();
    415391  }
    416 
    417392  var y = 864e5;
    418 
    419393  function x(e) {
    420394    var t = e.defaultHour,
    421         n = e.defaultMinute,
    422         a = e.defaultSeconds;
    423 
     395      n = e.defaultMinute,
     396      a = e.defaultSeconds;
    424397    if (void 0 !== e.minDate) {
    425398      var i = e.minDate.getHours(),
    426           o = e.minDate.getMinutes(),
    427           r = e.minDate.getSeconds();
     399        o = e.minDate.getMinutes(),
     400        r = e.minDate.getSeconds();
    428401      t < i && (t = i), t === i && n < o && (n = o), t === i && n === o && a < r && (a = e.minDate.getSeconds());
    429402    }
    430 
    431403    if (void 0 !== e.maxDate) {
    432404      var l = e.maxDate.getHours(),
    433           c = e.maxDate.getMinutes();
     405        c = e.maxDate.getMinutes();
    434406      (t = Math.min(t, l)) === l && (n = Math.min(c, n)), t === l && n === c && (a = e.maxDate.getSeconds());
    435407    }
    436 
    437408    return {
    438409      hours: t,
     
    441412    };
    442413  }
    443 
    444414  "function" != typeof Object.assign && (Object.assign = function (e) {
    445415    for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
    446 
    447416    if (!e) throw TypeError("Cannot convert undefined or null to object");
    448 
    449417    for (var a = function (t) {
    450       t && Object.keys(t).forEach(function (n) {
    451         return e[n] = t[n];
    452       });
    453     }, i = 0, o = t; i < o.length; i++) {
     418        t && Object.keys(t).forEach(function (n) {
     419          return e[n] = t[n];
     420        });
     421      }, i = 0, o = t; i < o.length; i++) {
    454422      var r = o[i];
    455423      a(r);
    456424    }
    457 
    458425    return e;
    459426  });
    460 
    461427  function E(p, v) {
    462428    var w = {
     
    464430      l10n: i
    465431    };
    466 
    467432    function E(e) {
    468433      return e.bind(w);
    469434    }
    470 
    471435    function k() {
    472436      var e = w.config;
     
    478442      });
    479443    }
    480 
    481444    function I(e) {
    482445      if (0 === w.selectedDates.length) {
    483446        var t = void 0 === w.config.minDate || M(new Date(), w.config.minDate) >= 0 ? new Date() : new Date(w.config.minDate.getTime()),
    484             n = x(w.config);
     447          n = x(w.config);
    485448        t.setHours(n.hours, n.minutes, n.seconds, t.getMilliseconds()), w.selectedDates = [t], w.latestSelectedDateObj = t;
    486449      }
    487 
    488450      void 0 !== e && "blur" !== e.type && function (e) {
    489451        e.preventDefault();
    490452        var t = "keydown" === e.type,
    491             n = g(e),
    492             a = n;
     453          n = g(e),
     454          a = n;
    493455        void 0 !== w.amPM && n === w.amPM && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]);
    494456        var i = parseFloat(a.getAttribute("min")),
    495             l = parseFloat(a.getAttribute("max")),
    496             c = parseFloat(a.getAttribute("step")),
    497             d = parseInt(a.value, 10),
    498             s = e.delta || (t ? 38 === e.which ? 1 : -1 : 0),
    499             u = d + c * s;
    500 
     457          l = parseFloat(a.getAttribute("max")),
     458          c = parseFloat(a.getAttribute("step")),
     459          d = parseInt(a.value, 10),
     460          s = e.delta || (t ? 38 === e.which ? 1 : -1 : 0),
     461          u = d + c * s;
    501462        if (void 0 !== a.value && 2 === a.value.length) {
    502463          var f = a === w.hourElement,
    503               m = a === w.minuteElement;
     464            m = a === w.minuteElement;
    504465          u < i ? (u = l + u + r(!f) + (r(f) && r(!w.amPM)), m && j(void 0, -1, w.hourElement)) : u > l && (u = a === w.hourElement ? u - l - r(!w.amPM) : i, m && j(void 0, 1, w.hourElement)), w.amPM && f && (1 === c ? u + d === 23 : Math.abs(u - d) > c) && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]), a.value = o(u);
    505466        }
     
    508469      S(), be(), w._input.value !== a && w._debouncedChange();
    509470    }
    510 
    511471    function S() {
    512472      if (void 0 !== w.hourElement && void 0 !== w.minuteElement) {
    513473        var e,
    514             t,
    515             n = (parseInt(w.hourElement.value.slice(-2), 10) || 0) % 24,
    516             a = (parseInt(w.minuteElement.value, 10) || 0) % 60,
    517             i = void 0 !== w.secondElement ? (parseInt(w.secondElement.value, 10) || 0) % 60 : 0;
     474          t,
     475          n = (parseInt(w.hourElement.value.slice(-2), 10) || 0) % 24,
     476          a = (parseInt(w.minuteElement.value, 10) || 0) % 60,
     477          i = void 0 !== w.secondElement ? (parseInt(w.secondElement.value, 10) || 0) % 60 : 0;
    518478        void 0 !== w.amPM && (e = n, t = w.amPM.textContent, n = e % 12 + 12 * r(t === w.l10n.amPM[1]));
    519479        var o = void 0 !== w.config.minTime || w.config.minDate && w.minDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.minDate, !0);
    520 
    521480        if (void 0 !== w.config.maxTime || w.config.maxDate && w.maxDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.maxDate, !0)) {
    522481          var l = void 0 !== w.config.maxTime ? w.config.maxTime : w.config.maxDate;
    523482          (n = Math.min(n, l.getHours())) === l.getHours() && (a = Math.min(a, l.getMinutes())), a === l.getMinutes() && (i = Math.min(i, l.getSeconds()));
    524483        }
    525 
    526484        if (o) {
    527485          var c = void 0 !== w.config.minTime ? w.config.minTime : w.config.minDate;
    528486          (n = Math.max(n, c.getHours())) === c.getHours() && a < c.getMinutes() && (a = c.getMinutes()), a === c.getMinutes() && (i = Math.max(i, c.getSeconds()));
    529487        }
    530 
    531488        O(n, a, i);
    532489      }
    533490    }
    534 
    535491    function _(e) {
    536492      var t = e || w.latestSelectedDateObj;
    537493      t && O(t.getHours(), t.getMinutes(), t.getSeconds());
    538494    }
    539 
    540495    function O(e, t, n) {
    541496      void 0 !== w.latestSelectedDateObj && w.latestSelectedDateObj.setHours(e % 24, t, n || 0, 0), w.hourElement && w.minuteElement && !w.isMobile && (w.hourElement.value = o(w.config.time_24hr ? e : (12 + e) % 12 + 12 * r(e % 12 == 0)), w.minuteElement.value = o(t), void 0 !== w.amPM && (w.amPM.textContent = w.l10n.amPM[r(e >= 12)]), void 0 !== w.secondElement && (w.secondElement.value = o(n)));
    542497    }
    543 
    544498    function F(e) {
    545499      var t = g(e),
    546           n = parseInt(t.value) + (e.delta || 0);
     500        n = parseInt(t.value) + (e.delta || 0);
    547501      (n / 1e3 > 1 || "Enter" === e.key && !/[^\d]/.test(n.toString())) && Q(n);
    548502    }
    549 
    550503    function A(e, t, n, a) {
    551504      return t instanceof Array ? t.forEach(function (t) {
     
    559512      }));
    560513    }
    561 
    562514    function N() {
    563515      pe("onChange");
    564516    }
    565 
    566517    function P(e, t) {
    567518      var n = void 0 !== e ? w.parseDate(e) : w.latestSelectedDateObj || (w.config.minDate && w.config.minDate > w.now ? w.config.minDate : w.config.maxDate && w.config.maxDate < w.now ? w.config.maxDate : w.now),
    568           a = w.currentYear,
    569           i = w.currentMonth;
    570 
     519        a = w.currentYear,
     520        i = w.currentMonth;
    571521      try {
    572522        void 0 !== n && (w.currentYear = n.getFullYear(), w.currentMonth = n.getMonth());
     
    574524        e.message = "Invalid date supplied: " + n, w.config.errorHandler(e);
    575525      }
    576 
    577526      t && w.currentYear !== a && (pe("onYearChange"), K()), !t || w.currentYear === a && w.currentMonth === i || pe("onMonthChange"), w.redraw();
    578527    }
    579 
    580528    function Y(e) {
    581529      var t = g(e);
    582530      ~t.className.indexOf("arrow") && j(e, t.classList.contains("arrowUp") ? 1 : -1);
    583531    }
    584 
    585532    function j(e, t, n) {
    586533      var a = e && g(e),
    587           i = n || a && a.parentNode && a.parentNode.firstChild,
    588           o = he("increment");
     534        i = n || a && a.parentNode && a.parentNode.firstChild,
     535        o = he("increment");
    589536      o.delta = t, i && i.dispatchEvent(o);
    590537    }
    591 
    592538    function H(e, t, n, a) {
    593539      var i = X(t, !0),
    594           o = s("span", "flatpickr-day " + e, t.getDate().toString());
     540        o = s("span", "flatpickr-day " + e, t.getDate().toString());
    595541      return o.dateObj = t, o.$i = a, o.setAttribute("aria-label", w.formatDate(t, w.config.ariaDateFormat)), -1 === e.indexOf("hidden") && 0 === M(t, w.now) && (w.todayDateElem = o, o.classList.add("today"), o.setAttribute("aria-current", "date")), i ? (o.tabIndex = -1, ve(t) && (o.classList.add("selected"), w.selectedDateElem = o, "range" === w.config.mode && (d(o, "startRange", w.selectedDates[0] && 0 === M(t, w.selectedDates[0], !0)), d(o, "endRange", w.selectedDates[1] && 0 === M(t, w.selectedDates[1], !0)), "nextMonthDay" === e && o.classList.add("inRange")))) : o.classList.add("flatpickr-disabled"), "range" === w.config.mode && function (e) {
    596542        return !("range" !== w.config.mode || w.selectedDates.length < 2) && M(e, w.selectedDates[0]) >= 0 && M(e, w.selectedDates[1]) <= 0;
    597543      }(t) && !ve(t) && o.classList.add("inRange"), w.weekNumbers && 1 === w.config.showMonths && "prevMonthDay" !== e && n % 7 == 1 && w.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + w.config.getWeek(t) + "</span>"), pe("onDayCreate", o), o;
    598544    }
    599 
    600545    function L(e) {
    601546      e.focus(), "range" === w.config.mode && ae(e);
    602547    }
    603 
    604548    function W(e) {
    605549      for (var t = e > 0 ? 0 : w.config.showMonths - 1, n = e > 0 ? w.config.showMonths : -1, a = t; a != n; a += e) for (var i = w.daysContainer.children[a], o = e > 0 ? 0 : i.children.length - 1, r = e > 0 ? i.children.length : -1, l = o; l != r; l += e) {
     
    608552      }
    609553    }
    610 
    611554    function R(e, t) {
    612555      var n = ee(document.activeElement || document.body),
    613           a = void 0 !== e ? e : n ? document.activeElement : void 0 !== w.selectedDateElem && ee(w.selectedDateElem) ? w.selectedDateElem : void 0 !== w.todayDateElem && ee(w.todayDateElem) ? w.todayDateElem : W(t > 0 ? 1 : -1);
     556        a = void 0 !== e ? e : n ? document.activeElement : void 0 !== w.selectedDateElem && ee(w.selectedDateElem) ? w.selectedDateElem : void 0 !== w.todayDateElem && ee(w.todayDateElem) ? w.todayDateElem : W(t > 0 ? 1 : -1);
    614557      void 0 === a ? w._input.focus() : n ? function (e, t) {
    615558        for (var n = -1 === e.className.indexOf("Month") ? e.dateObj.getMonth() : w.currentMonth, a = t > 0 ? w.config.showMonths : -1, i = t > 0 ? 1 : -1, o = n - w.currentMonth; o != a; o += i) for (var r = w.daysContainer.children[o], l = n - w.currentMonth === o ? e.$i + t : t < 0 ? r.children.length - 1 : 0, c = r.children.length, d = l; d >= 0 && d < c && d != (t > 0 ? c : -1); d += i) {
     
    617560          if (-1 === s.className.indexOf("hidden") && X(s.dateObj) && Math.abs(e.$i - d) >= Math.abs(t)) return L(s);
    618561        }
    619 
    620562        w.changeMonth(i), R(W(i), 0);
    621563      }(a, t) : L(a);
    622564    }
    623 
    624565    function B(e, t) {
    625566      for (var n = (new Date(e, t, 1).getDay() - w.l10n.firstDayOfWeek + 7) % 7, a = w.utils.getDaysInMonth((t - 1 + 12) % 12, e), i = w.utils.getDaysInMonth(t, e), o = window.document.createDocumentFragment(), r = w.config.showMonths > 1, l = r ? "prevMonthDay hidden" : "prevMonthDay", c = r ? "nextMonthDay hidden" : "nextMonthDay", d = a + 1 - n, u = 0; d <= a; d++, u++) o.appendChild(H(l, new Date(e, t - 1, d), d, u));
    626 
    627567      for (d = 1; d <= i; d++, u++) o.appendChild(H("", new Date(e, t, d), d, u));
    628 
    629568      for (var f = i + 1; f <= 42 - n && (1 === w.config.showMonths || u % 7 != 0); f++, u++) o.appendChild(H(c, new Date(e, t + 1, f % i), f, u));
    630 
    631569      var m = s("div", "dayContainer");
    632570      return m.appendChild(o), m;
    633571    }
    634 
    635572    function J() {
    636573      if (void 0 !== w.daysContainer) {
    637574        u(w.daysContainer), w.weekNumbers && u(w.weekNumbers);
    638 
    639575        for (var e = document.createDocumentFragment(), t = 0; t < w.config.showMonths; t++) {
    640576          var n = new Date(w.currentYear, w.currentMonth, 1);
    641577          n.setMonth(w.currentMonth + t), e.appendChild(B(n.getFullYear(), n.getMonth()));
    642578        }
    643 
    644579        w.daysContainer.appendChild(e), w.days = w.daysContainer.firstChild, "range" === w.config.mode && 1 === w.selectedDates.length && ae();
    645580      }
    646581    }
    647 
    648582    function K() {
    649583      if (!(w.config.showMonths > 1 || "dropdown" !== w.config.monthSelectorType)) {
     
    651585          return !(void 0 !== w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && e < w.config.minDate.getMonth()) && !(void 0 !== w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() && e > w.config.maxDate.getMonth());
    652586        };
    653 
    654587        w.monthsDropdownContainer.tabIndex = -1, w.monthsDropdownContainer.innerHTML = "";
    655 
    656588        for (var t = 0; t < 12; t++) if (e(t)) {
    657589          var n = s("option", "flatpickr-monthDropdown-month");
     
    660592      }
    661593    }
    662 
    663594    function U() {
    664595      var e,
    665           t = s("div", "flatpickr-month"),
    666           n = window.document.createDocumentFragment();
     596        t = s("div", "flatpickr-month"),
     597        n = window.document.createDocumentFragment();
    667598      w.config.showMonths > 1 || "static" === w.config.monthSelectorType ? e = s("span", "cur-month") : (w.monthsDropdownContainer = s("select", "flatpickr-monthDropdown-months"), w.monthsDropdownContainer.setAttribute("aria-label", w.l10n.monthAriaLabel), A(w.monthsDropdownContainer, "change", function (e) {
    668599        var t = g(e),
    669             n = parseInt(t.value, 10);
     600          n = parseInt(t.value, 10);
    670601        w.changeMonth(n - w.currentMonth), pe("onMonthChange");
    671602      }), K(), e = w.monthsDropdownContainer);
    672603      var a = m("cur-year", {
    673         tabindex: "-1"
    674       }),
    675           i = a.getElementsByTagName("input")[0];
     604          tabindex: "-1"
     605        }),
     606        i = a.getElementsByTagName("input")[0];
    676607      i.setAttribute("aria-label", w.l10n.yearAriaLabel), w.config.minDate && i.setAttribute("min", w.config.minDate.getFullYear().toString()), w.config.maxDate && (i.setAttribute("max", w.config.maxDate.getFullYear().toString()), i.disabled = !!w.config.minDate && w.config.minDate.getFullYear() === w.config.maxDate.getFullYear());
    677608      var o = s("div", "flatpickr-current-month");
     
    682613      };
    683614    }
    684 
    685615    function q() {
    686616      u(w.monthNav), w.monthNav.appendChild(w.prevMonthNav), w.config.showMonths && (w.yearElements = [], w.monthElements = []);
    687 
    688617      for (var e = w.config.showMonths; e--;) {
    689618        var t = U();
    690619        w.yearElements.push(t.yearElement), w.monthElements.push(t.monthElement), w.monthNav.appendChild(t.container);
    691620      }
    692 
    693621      w.monthNav.appendChild(w.nextMonthNav);
    694622    }
    695 
    696623    function $() {
    697624      w.weekdayContainer ? u(w.weekdayContainer) : w.weekdayContainer = s("div", "flatpickr-weekdays");
    698 
    699625      for (var e = w.config.showMonths; e--;) {
    700626        var t = s("div", "flatpickr-weekdaycontainer");
    701627        w.weekdayContainer.appendChild(t);
    702628      }
    703 
    704629      return z(), w.weekdayContainer;
    705630    }
    706 
    707631    function z() {
    708632      if (w.weekdayContainer) {
    709633        var e = w.l10n.firstDayOfWeek,
    710             n = t(w.l10n.weekdays.shorthand);
     634          n = t(w.l10n.weekdays.shorthand);
    711635        e > 0 && e < n.length && (n = t(n.splice(e, n.length), n.splice(0, e)));
    712 
    713636        for (var a = w.config.showMonths; a--;) w.weekdayContainer.children[a].innerHTML = "\n      <span class='flatpickr-weekday'>\n        " + n.join("</span><span class='flatpickr-weekday'>") + "\n      </span>\n      ";
    714637      }
    715638    }
    716 
    717639    function G(e, t) {
    718640      void 0 === t && (t = !0);
     
    720642      n < 0 && !0 === w._hidePrevMonthArrow || n > 0 && !0 === w._hideNextMonthArrow || (w.currentMonth += n, (w.currentMonth < 0 || w.currentMonth > 11) && (w.currentYear += w.currentMonth > 11 ? 1 : -1, w.currentMonth = (w.currentMonth + 12) % 12, pe("onYearChange"), K()), J(), pe("onMonthChange"), De());
    721643    }
    722 
    723644    function V(e) {
    724645      return !(!w.config.appendTo || !w.config.appendTo.contains(e)) || w.calendarContainer.contains(e);
    725646    }
    726 
    727647    function Z(e) {
    728648      if (w.isOpen && !w.config.inline) {
    729649        var t = g(e),
    730             n = V(t),
    731             a = t === w.input || t === w.altInput || w.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(w.input) || ~e.path.indexOf(w.altInput)),
    732             i = "blur" === e.type ? a && e.relatedTarget && !V(e.relatedTarget) : !a && !n && !V(e.relatedTarget),
    733             o = !w.config.ignoredFocusElements.some(function (e) {
    734           return e.contains(t);
    735         });
     650          n = V(t),
     651          a = t === w.input || t === w.altInput || w.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(w.input) || ~e.path.indexOf(w.altInput)),
     652          i = "blur" === e.type ? a && e.relatedTarget && !V(e.relatedTarget) : !a && !n && !V(e.relatedTarget),
     653          o = !w.config.ignoredFocusElements.some(function (e) {
     654            return e.contains(t);
     655          });
    736656        i && o && (void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement && "" !== w.input.value && void 0 !== w.input.value && I(), w.close(), w.config && "range" === w.config.mode && 1 === w.selectedDates.length && (w.clear(!1), w.redraw()));
    737657      }
    738658    }
    739 
    740659    function Q(e) {
    741660      if (!(!e || w.config.minDate && e < w.config.minDate.getFullYear() || w.config.maxDate && e > w.config.maxDate.getFullYear())) {
    742661        var t = e,
    743             n = w.currentYear !== t;
     662          n = w.currentYear !== t;
    744663        w.currentYear = t || w.currentYear, w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth = Math.min(w.config.maxDate.getMonth(), w.currentMonth) : w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && (w.currentMonth = Math.max(w.config.minDate.getMonth(), w.currentMonth)), n && (w.redraw(), pe("onYearChange"), K());
    745664      }
    746665    }
    747 
    748666    function X(e, t) {
    749667      var n;
     
    753671      if (!w.config.enable && 0 === w.config.disable.length) return !0;
    754672      if (void 0 === a) return !1;
    755 
    756673      for (var i = !!w.config.enable, o = null !== (n = w.config.enable) && void 0 !== n ? n : w.config.disable, r = 0, l = void 0; r < o.length; r++) {
    757674        if ("function" == typeof (l = o[r]) && l(a)) return i;
    758675        if (l instanceof Date && void 0 !== a && l.getTime() === a.getTime()) return i;
    759 
    760676        if ("string" == typeof l) {
    761677          var c = w.parseDate(l, void 0, !0);
    762678          return c && c.getTime() === a.getTime() ? i : !i;
    763679        }
    764 
    765680        if ("object" == typeof l && void 0 !== a && l.from && l.to && a.getTime() >= l.from.getTime() && a.getTime() <= l.to.getTime()) return i;
    766681      }
    767 
    768682      return !i;
    769683    }
    770 
    771684    function ee(e) {
    772685      return void 0 !== w.daysContainer && -1 === e.className.indexOf("hidden") && -1 === e.className.indexOf("flatpickr-disabled") && w.daysContainer.contains(e);
    773686    }
    774 
    775687    function te(e) {
    776688      !(e.target === w._input) || !(w.selectedDates.length > 0 || w._input.value.length > 0) || e.relatedTarget && V(e.relatedTarget) || w.setDate(w._input.value, !0, e.target === w.altInput ? w.config.altFormat : w.config.dateFormat);
    777689    }
    778 
    779690    function ne(e) {
    780691      var t = g(e),
    781           n = w.config.wrap ? p.contains(t) : t === w._input,
    782           a = w.config.allowInput,
    783           i = w.isOpen && (!a || !n),
    784           o = w.config.inline && n && !a;
    785 
     692        n = w.config.wrap ? p.contains(t) : t === w._input,
     693        a = w.config.allowInput,
     694        i = w.isOpen && (!a || !n),
     695        o = w.config.inline && n && !a;
    786696      if (13 === e.keyCode && n) {
    787697        if (a) return w.setDate(w._input.value, !0, t === w.altInput ? w.config.altFormat : w.config.dateFormat), t.blur();
     
    789699      } else if (V(t) || i || o) {
    790700        var r = !!w.timeContainer && w.timeContainer.contains(t);
    791 
    792701        switch (e.keyCode) {
    793702          case 13:
    794703            r ? (e.preventDefault(), I(), se()) : ue(e);
    795704            break;
    796 
    797705          case 27:
    798706            e.preventDefault(), se();
    799707            break;
    800 
    801708          case 8:
    802709          case 46:
    803710            n && !w.config.allowInput && (e.preventDefault(), w.clear());
    804711            break;
    805 
    806712          case 37:
    807713          case 39:
     
    811717            }
    812718            break;
    813 
    814719          case 38:
    815720          case 40:
     
    818723            w.daysContainer && void 0 !== t.$i || t === w.input || t === w.altInput ? e.ctrlKey ? (e.stopPropagation(), Q(w.currentYear - c), R(W(1), 0)) : r || R(void 0, 7 * c) : t === w.currentYearElement ? Q(w.currentYear - c) : w.config.enableTime && (!r && w.hourElement && w.hourElement.focus(), I(e), w._debouncedChange());
    819724            break;
    820 
    821725          case 9:
    822726            if (r) {
    823727              var d = [w.hourElement, w.minuteElement, w.secondElement, w.amPM].concat(w.pluginElements).filter(function (e) {
    824                 return e;
    825               }),
    826                   s = d.indexOf(t);
    827 
     728                  return e;
     729                }),
     730                s = d.indexOf(t);
    828731              if (-1 !== s) {
    829732                var u = d[s + (e.shiftKey ? -1 : 1)];
     
    831734              }
    832735            } else !w.config.noCalendar && w.daysContainer && w.daysContainer.contains(t) && e.shiftKey && (e.preventDefault(), w._input.focus());
    833 
    834         }
    835       }
    836 
     736        }
     737      }
    837738      if (void 0 !== w.amPM && t === w.amPM) switch (e.key) {
    838739        case w.l10n.amPM[0].charAt(0):
     
    840741          w.amPM.textContent = w.l10n.amPM[0], S(), be();
    841742          break;
    842 
    843743        case w.l10n.amPM[1].charAt(0):
    844744        case w.l10n.amPM[1].charAt(0).toLowerCase():
     
    847747      (n || V(t)) && pe("onKeyDown", e);
    848748    }
    849 
    850749    function ae(e) {
    851750      if (1 === w.selectedDates.length && (!e || e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled"))) {
    852751        for (var t = e ? e.dateObj.getTime() : w.days.firstElementChild.dateObj.getTime(), n = w.parseDate(w.selectedDates[0], void 0, !0).getTime(), a = Math.min(t, w.selectedDates[0].getTime()), i = Math.max(t, w.selectedDates[0].getTime()), o = !1, r = 0, l = 0, c = a; c < i; c += y) X(new Date(c), !0) || (o = o || c > a && c < i, c < n && (!r || c > r) ? r = c : c > n && (!l || c < l) && (l = c));
    853 
    854752        for (var d = 0; d < w.config.showMonths; d++) for (var s = w.daysContainer.children[d], u = function (a, i) {
    855           var c,
     753            var c,
    856754              d,
    857755              u,
     
    859757              m = f.dateObj.getTime(),
    860758              g = r > 0 && m < r || l > 0 && m > l;
    861           return g ? (f.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function (e) {
    862             f.classList.remove(e);
    863           }), "continue") : o && !g ? "continue" : (["startRange", "inRange", "endRange", "notAllowed"].forEach(function (e) {
    864             f.classList.remove(e);
    865           }), void (void 0 !== e && (e.classList.add(t <= w.selectedDates[0].getTime() ? "startRange" : "endRange"), n < t && m === n ? f.classList.add("startRange") : n > t && m === n && f.classList.add("endRange"), m >= r && (0 === l || m <= l) && (d = n, u = t, (c = m) > Math.min(d, u) && c < Math.max(d, u)) && f.classList.add("inRange"))));
    866         }, f = 0, m = s.children.length; f < m; f++) u(f);
    867       }
    868     }
    869 
     759            return g ? (f.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function (e) {
     760              f.classList.remove(e);
     761            }), "continue") : o && !g ? "continue" : (["startRange", "inRange", "endRange", "notAllowed"].forEach(function (e) {
     762              f.classList.remove(e);
     763            }), void (void 0 !== e && (e.classList.add(t <= w.selectedDates[0].getTime() ? "startRange" : "endRange"), n < t && m === n ? f.classList.add("startRange") : n > t && m === n && f.classList.add("endRange"), m >= r && (0 === l || m <= l) && (d = n, u = t, (c = m) > Math.min(d, u) && c < Math.max(d, u)) && f.classList.add("inRange"))));
     764          }, f = 0, m = s.children.length; f < m; f++) u(f);
     765      }
     766    }
    870767    function ie() {
    871768      !w.isOpen || w.config.static || w.config.inline || ce();
    872769    }
    873 
    874770    function oe(e) {
    875771      return function (t) {
    876772        var n = w.config["_" + e + "Date"] = w.parseDate(t, w.config.dateFormat),
    877             a = w.config["_" + ("min" === e ? "max" : "min") + "Date"];
     773          a = w.config["_" + ("min" === e ? "max" : "min") + "Date"];
    878774        void 0 !== n && (w["min" === e ? "minDateHasTime" : "maxDateHasTime"] = n.getHours() > 0 || n.getMinutes() > 0 || n.getSeconds() > 0), w.selectedDates && (w.selectedDates = w.selectedDates.filter(function (e) {
    879775          return X(e);
     
    881777      };
    882778    }
    883 
    884779    function re() {
    885780      return w.config.wrap ? p.querySelector("[data-input]") : p;
    886781    }
    887 
    888782    function le() {
    889783      "object" != typeof w.config.locale && void 0 === T.l10ns[w.config.locale] && w.config.errorHandler(new Error("flatpickr: invalid locale " + w.config.locale)), w.l10n = e(e({}, T.l10ns.default), "object" == typeof w.config.locale ? w.config.locale : "default" !== w.config.locale ? T.l10ns[w.config.locale] : void 0), D.K = "(" + w.l10n.amPM[0] + "|" + w.l10n.amPM[1] + "|" + w.l10n.amPM[0].toLowerCase() + "|" + w.l10n.amPM[1].toLowerCase() + ")", void 0 === e(e({}, v), JSON.parse(JSON.stringify(p.dataset || {}))).time_24hr && void 0 === T.defaultConfig.time_24hr && (w.config.time_24hr = w.l10n.time_24hr), w.formatDate = b(w), w.parseDate = C({
     
    892786      });
    893787    }
    894 
    895788    function ce(e) {
    896789      if ("function" != typeof w.config.position) {
     
    898791          pe("onPreCalendarPosition");
    899792          var t = e || w._positionElement,
    900               n = Array.prototype.reduce.call(w.calendarContainer.children, function (e, t) {
    901             return e + t.offsetHeight;
    902           }, 0),
    903               a = w.calendarContainer.offsetWidth,
    904               i = w.config.position.split(" "),
    905               o = i[0],
    906               r = i.length > 1 ? i[1] : null,
    907               l = t.getBoundingClientRect(),
    908               c = window.innerHeight - l.bottom,
    909               s = "above" === o || "below" !== o && c < n && l.top > n,
    910               u = window.pageYOffset + l.top + (s ? -n - 2 : t.offsetHeight + 2);
    911 
     793            n = Array.prototype.reduce.call(w.calendarContainer.children, function (e, t) {
     794              return e + t.offsetHeight;
     795            }, 0),
     796            a = w.calendarContainer.offsetWidth,
     797            i = w.config.position.split(" "),
     798            o = i[0],
     799            r = i.length > 1 ? i[1] : null,
     800            l = t.getBoundingClientRect(),
     801            c = window.innerHeight - l.bottom,
     802            s = "above" === o || "below" !== o && c < n && l.top > n,
     803            u = window.pageYOffset + l.top + (s ? -n - 2 : t.offsetHeight + 2);
    912804          if (d(w.calendarContainer, "arrowTop", !s), d(w.calendarContainer, "arrowBottom", s), !w.config.inline) {
    913805            var f = window.pageXOffset + l.left,
    914                 m = !1,
    915                 g = !1;
     806              m = !1,
     807              g = !1;
    916808            "center" === r ? (f -= (a - l.width) / 2, m = !0) : "right" === r && (f -= a - l.width, g = !0), d(w.calendarContainer, "arrowLeft", !m && !g), d(w.calendarContainer, "arrowCenter", m), d(w.calendarContainer, "arrowRight", g);
    917809            var p = window.document.body.offsetWidth - (window.pageXOffset + l.right),
    918                 h = f + a > window.document.body.offsetWidth,
    919                 v = p + a > window.document.body.offsetWidth;
     810              h = f + a > window.document.body.offsetWidth,
     811              v = p + a > window.document.body.offsetWidth;
    920812            if (d(w.calendarContainer, "rightMost", h), !w.config.static) if (w.calendarContainer.style.top = u + "px", h) {
    921813              if (v) {
     
    923815                  for (var e = null, t = 0; t < document.styleSheets.length; t++) {
    924816                    var n = document.styleSheets[t];
    925 
    926817                    try {
    927818                      n.cssRules;
     
    929820                      continue;
    930821                    }
    931 
    932822                    e = n;
    933823                    break;
    934824                  }
    935 
    936825                  return null != e ? e : (a = document.createElement("style"), document.head.appendChild(a), a.sheet);
    937826                  var a;
    938827                }();
    939 
    940828                if (void 0 === D) return;
    941829                var b = window.document.body.offsetWidth,
    942                     C = Math.max(0, b / 2 - a / 2),
    943                     M = D.cssRules.length,
    944                     y = "{left:" + l.left + "px;right:auto;}";
     830                  C = Math.max(0, b / 2 - a / 2),
     831                  M = D.cssRules.length,
     832                  y = "{left:" + l.left + "px;right:auto;}";
    945833                d(w.calendarContainer, "rightMost", !1), d(w.calendarContainer, "centerMost", !0), D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after" + y, M), w.calendarContainer.style.left = C + "px", w.calendarContainer.style.right = "auto";
    946834              } else w.calendarContainer.style.left = "auto", w.calendarContainer.style.right = p + "px";
     
    950838      } else w.config.position(w, e);
    951839    }
    952 
    953840    function de() {
    954841      w.config.noCalendar || w.isMobile || (K(), De(), J());
    955842    }
    956 
    957843    function se() {
    958844      w._input.focus(), -1 !== window.navigator.userAgent.indexOf("MSIE") || void 0 !== navigator.msMaxTouchPoints ? setTimeout(w.close, 0) : w.close();
    959845    }
    960 
    961846    function ue(e) {
    962847      e.preventDefault(), e.stopPropagation();
     
    964849        return e.classList && e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled") && !e.classList.contains("notAllowed");
    965850      });
    966 
    967851      if (void 0 !== t) {
    968852        var n = t,
    969             a = w.latestSelectedDateObj = new Date(n.dateObj.getTime()),
    970             i = (a.getMonth() < w.currentMonth || a.getMonth() > w.currentMonth + w.config.showMonths - 1) && "range" !== w.config.mode;
     853          a = w.latestSelectedDateObj = new Date(n.dateObj.getTime()),
     854          i = (a.getMonth() < w.currentMonth || a.getMonth() > w.currentMonth + w.config.showMonths - 1) && "range" !== w.config.mode;
    971855        if (w.selectedDateElem = n, "single" === w.config.mode) w.selectedDates = [a];else if ("multiple" === w.config.mode) {
    972856          var o = ve(a);
     
    975859          return e.getTime() - t.getTime();
    976860        }));
    977 
    978861        if (S(), i) {
    979862          var r = w.currentYear !== a.getFullYear();
    980863          w.currentYear = a.getFullYear(), w.currentMonth = a.getMonth(), r && (pe("onYearChange"), K()), pe("onMonthChange");
    981864        }
    982 
    983865        if (De(), J(), be(), i || "range" === w.config.mode || 1 !== w.config.showMonths ? void 0 !== w.selectedDateElem && void 0 === w.hourElement && w.selectedDateElem && w.selectedDateElem.focus() : L(n), void 0 !== w.hourElement && void 0 !== w.hourElement && w.hourElement.focus(), w.config.closeOnSelect) {
    984866          var l = "single" === w.config.mode && !w.config.enableTime,
    985               c = "range" === w.config.mode && 2 === w.selectedDates.length && !w.config.enableTime;
     867            c = "range" === w.config.mode && 2 === w.selectedDates.length && !w.config.enableTime;
    986868          (l || c) && se();
    987869        }
    988 
    989870        N();
    990871      }
    991872    }
    992 
    993873    w.parseDate = C({
    994874      config: w.config,
     
    1000880      void 0 !== w.mobileInput && (w.mobileInput.value = "");
    1001881      w.selectedDates = [], w.latestSelectedDateObj = void 0, !0 === t && (w.currentYear = w._initialDate.getFullYear(), w.currentMonth = w._initialDate.getMonth());
    1002 
    1003882      if (!0 === w.config.enableTime) {
    1004883        var n = x(w.config),
    1005             a = n.hours,
    1006             i = n.minutes,
    1007             o = n.seconds;
     884          a = n.hours,
     885          i = n.minutes,
     886          o = n.seconds;
    1008887        O(a, i, o);
    1009888      }
    1010 
    1011889      w.redraw(), e && pe("onChange");
    1012890    }, w.close = function () {
     
    1015893    }, w._createElement = s, w.destroy = function () {
    1016894      void 0 !== w.config && pe("onDestroy");
    1017 
    1018895      for (var e = w._handlers.length; e--;) w._handlers[e].remove();
    1019 
    1020896      if (w._handlers = [], w.mobileInput) w.mobileInput.parentNode && w.mobileInput.parentNode.removeChild(w.mobileInput), w.mobileInput = void 0;else if (w.calendarContainer && w.calendarContainer.parentNode) if (w.config.static && w.calendarContainer.parentNode) {
    1021897        var t = w.calendarContainer.parentNode;
    1022 
    1023898        if (t.lastChild && t.removeChild(t.lastChild), t.parentNode) {
    1024899          for (; t.firstChild;) t.parentNode.insertBefore(t.firstChild, t);
    1025 
    1026900          t.parentNode.removeChild(t);
    1027901        }
     
    1036910    }, w.isEnabled = X, w.jumpToDate = P, w.open = function (e, t) {
    1037911      void 0 === t && (t = w._positionElement);
    1038 
    1039912      if (!0 === w.isMobile) {
    1040913        if (e) {
     
    1043916          n && n.blur();
    1044917        }
    1045 
    1046918        return void 0 !== w.mobileInput && (w.mobileInput.focus(), w.mobileInput.click()), void pe("onOpen");
    1047919      }
    1048 
    1049920      if (w._input.disabled || w.config.inline) return;
    1050921      var a = w.isOpen;
     
    1079950      }]
    1080951    };
    1081 
    1082952    function me(e, t) {
    1083953      var n = [];
     
    1089959          n = [w.parseDate(e, t)];
    1090960          break;
    1091 
    1092961        case "multiple":
    1093962          n = e.split(w.config.conjunction).map(function (e) {
     
    1095964          });
    1096965          break;
    1097 
    1098966        case "range":
    1099967          n = e.split(w.l10n.rangeSeparator).map(function (e) {
     
    1107975      });
    1108976    }
    1109 
    1110977    function ge(e) {
    1111978      return e.slice().map(function (e) {
     
    1118985      });
    1119986    }
    1120 
    1121987    function pe(e, t) {
    1122988      if (void 0 !== w.config) {
     
    1126992      }
    1127993    }
    1128 
    1129994    function he(e) {
    1130995      var t = document.createEvent("Event");
    1131996      return t.initEvent(e, !0, !0), t;
    1132997    }
    1133 
    1134998    function ve(e) {
    1135999      for (var t = 0; t < w.selectedDates.length; t++) if (0 === M(w.selectedDates[t], e)) return "" + t;
    1136 
    11371000      return !1;
    11381001    }
    1139 
    11401002    function De() {
    11411003      w.config.noCalendar || w.isMobile || !w.monthNav || (w.yearElements.forEach(function (e, t) {
     
    11441006      }), w._hidePrevMonthArrow = void 0 !== w.config.minDate && (w.currentYear === w.config.minDate.getFullYear() ? w.currentMonth <= w.config.minDate.getMonth() : w.currentYear < w.config.minDate.getFullYear()), w._hideNextMonthArrow = void 0 !== w.config.maxDate && (w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth + 1 > w.config.maxDate.getMonth() : w.currentYear > w.config.maxDate.getFullYear()));
    11451007    }
    1146 
    11471008    function we(e) {
    11481009      return w.selectedDates.map(function (t) {
     
    11521013      }).join("range" !== w.config.mode ? w.config.conjunction : w.l10n.rangeSeparator);
    11531014    }
    1154 
    11551015    function be(e) {
    11561016      void 0 === e && (e = !0), void 0 !== w.mobileInput && w.mobileFormatStr && (w.mobileInput.value = void 0 !== w.latestSelectedDateObj ? w.formatDate(w.latestSelectedDateObj, w.mobileFormatStr) : ""), w.input.value = we(w.config.dateFormat), void 0 !== w.altInput && (w.altInput.value = we(w.config.altFormat)), !1 !== e && pe("onValueUpdate");
    11571017    }
    1158 
    11591018    function Ce(e) {
    11601019      var t = g(e),
    1161           n = w.prevMonthNav.contains(t),
    1162           a = w.nextMonthNav.contains(t);
     1020        n = w.prevMonthNav.contains(t),
     1021        a = w.nextMonthNav.contains(t);
    11631022      n || a ? G(n ? -1 : 1) : w.yearElements.indexOf(t) >= 0 ? t.select() : t.classList.contains("arrowUp") ? w.changeYear(w.currentYear + 1) : t.classList.contains("arrowDown") && w.changeYear(w.currentYear - 1);
    11641023    }
    1165 
    11661024    return function () {
    11671025      w.element = w.input = p, w.isOpen = !1, function () {
    11681026        var t = ["wrap", "weekNumbers", "allowInput", "allowInvalidPreload", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"],
    1169             i = e(e({}, JSON.parse(JSON.stringify(p.dataset || {}))), v),
    1170             o = {};
     1027          i = e(e({}, JSON.parse(JSON.stringify(p.dataset || {}))), v),
     1028          o = {};
    11711029        w.config.parseDate = i.parseDate, w.config.formatDate = i.formatDate, Object.defineProperty(w.config, "enable", {
    11721030          get: function () {
     
    11851043        });
    11861044        var r = "time" === i.mode;
    1187 
    11881045        if (!i.dateFormat && (i.enableTime || r)) {
    11891046          var l = T.defaultConfig.dateFormat || a.dateFormat;
    11901047          o.dateFormat = i.noCalendar || r ? "H:i" + (i.enableSeconds ? ":S" : "") : l + " H:i" + (i.enableSeconds ? ":S" : "");
    11911048        }
    1192 
    11931049        if (i.altInput && (i.enableTime || r) && !i.altFormat) {
    11941050          var d = T.defaultConfig.altFormat || a.altFormat;
    11951051          o.altFormat = i.noCalendar || r ? "h:i" + (i.enableSeconds ? ":S K" : " K") : d + " h:i" + (i.enableSeconds ? ":S" : "") + " K";
    11961052        }
    1197 
    11981053        Object.defineProperty(w.config, "minDate", {
    11991054          get: function () {
     
    12071062          set: oe("max")
    12081063        });
    1209 
    12101064        var s = function (e) {
    12111065          return function (t) {
     
    12131067          };
    12141068        };
    1215 
    12161069        Object.defineProperty(w.config, "minTime", {
    12171070          get: function () {
     
    12261079        }), "time" === i.mode && (w.config.noCalendar = !0, w.config.enableTime = !0);
    12271080        Object.assign(w.config, o, i);
    1228 
    12291081        for (var u = 0; u < t.length; u++) w.config[t[u]] = !0 === w.config[t[u]] || "true" === w.config[t[u]];
    1230 
    12311082        n.filter(function (e) {
    12321083          return void 0 !== w.config[e];
     
    12341085          w.config[e] = c(w.config[e] || []).map(E);
    12351086        }), w.isMobile = !w.config.disableMobile && !w.config.inline && "single" === w.config.mode && !w.config.disable.length && !w.config.enable && !w.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    1236 
    12371087        for (u = 0; u < w.config.plugins.length; u++) {
    12381088          var f = w.config.plugins[u](w) || {};
    1239 
    12401089          for (var m in f) n.indexOf(m) > -1 ? w.config[m] = c(f[m]).map(E).concat(w.config[m]) : void 0 === i[m] && (w.config[m] = f[m]);
    12411090        }
    1242 
    12431091        i.altInputClass || (w.config.altInputClass = re().className + " " + w.config.altInputClass);
    12441092        pe("onParseConfig");
     
    12621110      }, w.isMobile || function () {
    12631111        var e = window.document.createDocumentFragment();
    1264 
    12651112        if (w.calendarContainer = s("div", "flatpickr-calendar"), w.calendarContainer.tabIndex = -1, !w.config.noCalendar) {
    12661113          if (e.appendChild((w.monthNav = s("div", "flatpickr-months"), w.yearElements = [], w.monthElements = [], w.prevMonthNav = s("span", "flatpickr-prev-month"), w.prevMonthNav.innerHTML = w.config.prevArrow, w.nextMonthNav = s("span", "flatpickr-next-month"), w.nextMonthNav.innerHTML = w.config.nextArrow, q(), Object.defineProperty(w, "_hidePrevMonthArrow", {
     
    12801127          }), w.currentYearElement = w.yearElements[0], De(), w.monthNav)), w.innerContainer = s("div", "flatpickr-innerContainer"), w.config.weekNumbers) {
    12811128            var t = function () {
    1282               w.calendarContainer.classList.add("hasWeeks");
    1283               var e = s("div", "flatpickr-weekwrapper");
    1284               e.appendChild(s("span", "flatpickr-weekday", w.l10n.weekAbbreviation));
    1285               var t = s("div", "flatpickr-weeks");
    1286               return e.appendChild(t), {
    1287                 weekWrapper: e,
    1288                 weekNumbers: t
    1289               };
    1290             }(),
    1291                 n = t.weekWrapper,
    1292                 a = t.weekNumbers;
    1293 
     1129                w.calendarContainer.classList.add("hasWeeks");
     1130                var e = s("div", "flatpickr-weekwrapper");
     1131                e.appendChild(s("span", "flatpickr-weekday", w.l10n.weekAbbreviation));
     1132                var t = s("div", "flatpickr-weeks");
     1133                return e.appendChild(t), {
     1134                  weekWrapper: e,
     1135                  weekNumbers: t
     1136                };
     1137              }(),
     1138              n = t.weekWrapper,
     1139              a = t.weekNumbers;
    12941140            w.innerContainer.appendChild(n), w.weekNumbers = a, w.weekWrapper = n;
    12951141          }
    1296 
    12971142          w.rContainer = s("div", "flatpickr-rContainer"), w.rContainer.appendChild($()), w.daysContainer || (w.daysContainer = s("div", "flatpickr-days"), w.daysContainer.tabIndex = -1), J(), w.rContainer.appendChild(w.daysContainer), w.innerContainer.appendChild(w.rContainer), e.appendChild(w.innerContainer);
    12981143        }
    1299 
    13001144        w.config.enableTime && e.appendChild(function () {
    13011145          w.calendarContainer.classList.add("hasTime"), w.config.noCalendar && w.calendarContainer.classList.add("noCalendar");
     
    13031147          w.timeContainer = s("div", "flatpickr-time"), w.timeContainer.tabIndex = -1;
    13041148          var t = s("span", "flatpickr-time-separator", ":"),
    1305               n = m("flatpickr-hour", {
    1306             "aria-label": w.l10n.hourAriaLabel
    1307           });
     1149            n = m("flatpickr-hour", {
     1150              "aria-label": w.l10n.hourAriaLabel
     1151            });
    13081152          w.hourElement = n.getElementsByTagName("input")[0];
    13091153          var a = m("flatpickr-minute", {
     
    13151159              case 12:
    13161160                return 12;
    1317 
    13181161              default:
    13191162                return e % 12;
    13201163            }
    13211164          }(e.hours)), w.minuteElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getMinutes() : e.minutes), w.hourElement.setAttribute("step", w.config.hourIncrement.toString()), w.minuteElement.setAttribute("step", w.config.minuteIncrement.toString()), w.hourElement.setAttribute("min", w.config.time_24hr ? "0" : "1"), w.hourElement.setAttribute("max", w.config.time_24hr ? "23" : "12"), w.hourElement.setAttribute("maxlength", "2"), w.minuteElement.setAttribute("min", "0"), w.minuteElement.setAttribute("max", "59"), w.minuteElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(n), w.timeContainer.appendChild(t), w.timeContainer.appendChild(a), w.config.time_24hr && w.timeContainer.classList.add("time24hr");
    1322 
    13231165          if (w.config.enableSeconds) {
    13241166            w.timeContainer.classList.add("hasSeconds");
     
    13261168            w.secondElement = i.getElementsByTagName("input")[0], w.secondElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getSeconds() : e.seconds), w.secondElement.setAttribute("step", w.minuteElement.getAttribute("step")), w.secondElement.setAttribute("min", "0"), w.secondElement.setAttribute("max", "59"), w.secondElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(s("span", "flatpickr-time-separator", ":")), w.timeContainer.appendChild(i);
    13271169          }
    1328 
    13291170          w.config.time_24hr || (w.amPM = s("span", "flatpickr-am-pm", w.l10n.amPM[r((w.latestSelectedDateObj ? w.hourElement.value : w.config.defaultHour) > 11)]), w.amPM.title = w.l10n.toggleTitle, w.amPM.tabIndex = -1, w.timeContainer.appendChild(w.amPM));
    13301171          return w.timeContainer;
     
    13321173        d(w.calendarContainer, "rangeMode", "range" === w.config.mode), d(w.calendarContainer, "animate", !0 === w.config.animate), d(w.calendarContainer, "multiMonth", w.config.showMonths > 1), w.calendarContainer.appendChild(e);
    13331174        var i = void 0 !== w.config.appendTo && void 0 !== w.config.appendTo.nodeType;
    1334 
    13351175        if ((w.config.inline || w.config.static) && (w.calendarContainer.classList.add(w.config.inline ? "inline" : "static"), w.config.inline && (!i && w.element.parentNode ? w.element.parentNode.insertBefore(w.calendarContainer, w._input.nextSibling) : void 0 !== w.config.appendTo && w.config.appendTo.appendChild(w.calendarContainer)), w.config.static)) {
    13361176          var l = s("div", "flatpickr-wrapper");
    13371177          w.element.parentNode && w.element.parentNode.insertBefore(l, w.element), l.appendChild(w.element), w.altInput && l.appendChild(w.altInput), l.appendChild(w.calendarContainer);
    13381178        }
    1339 
    13401179        w.config.static || w.config.inline || (void 0 !== w.config.appendTo ? w.config.appendTo : window.document.body).appendChild(w.calendarContainer);
    13411180      }(), function () {
     
    13521191          w.input.getAttribute("step") && (w.mobileInput.step = String(w.input.getAttribute("step")));
    13531192          w.input.type = "hidden", void 0 !== w.altInput && (w.altInput.type = "hidden");
    1354 
    13551193          try {
    13561194            w.input.parentNode && w.input.parentNode.insertBefore(w.mobileInput, w.input.nextSibling);
    13571195          } catch (e) {}
    1358 
    13591196          A(w.mobileInput, "change", function (e) {
    13601197            w.setDate(g(e).value, !1, w.mobileFormatStr), pe("onChange"), pe("onClose");
     
    13711208        }), !0 === w.config.clickOpens && (A(w._input, "focus", w.open), A(w._input, "click", w.open));
    13721209        void 0 !== w.daysContainer && (A(w.monthNav, "click", Ce), A(w.monthNav, ["keyup", "increment"], F), A(w.daysContainer, "click", ue));
    1373 
    13741210        if (void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement) {
    13751211          var t = function (e) {
    13761212            return g(e).select();
    13771213          };
    1378 
    13791214          A(w.timeContainer, ["increment"], I), A(w.timeContainer, "blur", I, {
    13801215            capture: !0
     
    13851220          });
    13861221        }
    1387 
    13881222        w.config.allowInput && A(w._input, "blur", te);
    13891223      }(), (w.selectedDates.length || w.config.noCalendar) && (w.config.enableTime && _(w.config.noCalendar ? w.latestSelectedDateObj : void 0), be(!1)), k();
     
    13921226    }(), w;
    13931227  }
    1394 
    13951228  function k(e, t) {
    13961229    for (var n = Array.prototype.slice.call(e).filter(function (e) {
    1397       return e instanceof HTMLElement;
    1398     }), a = [], i = 0; i < n.length; i++) {
     1230        return e instanceof HTMLElement;
     1231      }), a = [], i = 0; i < n.length; i++) {
    13991232      var o = n[i];
    1400 
    14011233      try {
    14021234        if (null !== o.getAttribute("data-fp-omit")) continue;
     
    14061238      }
    14071239    }
    1408 
    14091240    return 1 === a.length ? a[0] : a;
    14101241  }
    1411 
    14121242  "undefined" != typeof HTMLElement && "undefined" != typeof HTMLCollection && "undefined" != typeof NodeList && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (e) {
    14131243    return k(this, e);
     
    14151245    return k([this], e);
    14161246  });
    1417 
    14181247  var T = function (e, t) {
    14191248    return "string" == typeof e ? k(window.document.querySelectorAll(e), t) : e instanceof Node ? k([e], t) : k(e, t);
    14201249  };
    1421 
    14221250  return T.defaultConfig = {}, T.l10ns = {
    14231251    en: e({}, i),
     
    14391267  var DEFAULT_FONT_COLOR = '#404040';
    14401268  var FORCE_MOBILE_LAYOUT = slpWidgetOptions.force_mobile_layout;
    1441 
    14421269  function createSlopeBlock(el, children) {
    14431270    var className = FORCE_MOBILE_LAYOUT ? 'slope-block' : 'slp-responsive-layout slope-block';
     
    14501277    }, children);
    14511278  }
    1452 
    14531279  function createSlopeReservationSection(el, children) {
    14541280    return el('div', {
     
    14561282    }, children);
    14571283  }
    1458 
    14591284  function createSlopeReservationDates(el) {
    14601285    return el('div', {
     
    14621287    }, [createSlopeReservationSection(el, createSlopeArrival(el)), createSlopeReservationSection(el, createSlopeDeparture(el))]);
    14631288  }
    1464 
    14651289  function createSlopeArrival(el) {
    14661290    var today = new Date();
     
    14731297    }, today.getDate() + ' Ago, ' + today.getFullYear())]);
    14741298  }
    1475 
    14761299  function createSlopeDeparture(el) {
    14771300    var today = new Date();
     
    14841307    }, today.getDate() + 1 + ' Ago, ' + today.getFullYear())]);
    14851308  }
    1486 
    14871309  function createSlopeVerticalDivider(el) {
    14881310    return el('div', {
     
    14901312    });
    14911313  }
    1492 
    14931314  function createSlopeGuestsAndButtonContainer(el) {
    14941315    return el('div', {
     
    14961317    }, [createSlopeReservationSection(el, [createSlopeGuests(el)]), createSlopeSubmitButton(el)]);
    14971318  }
    1498 
    14991319  function createSlopeRooms(el) {
    15001320    return el('div', {
     
    15061326    }, '1')]);
    15071327  }
    1508 
    15091328  function createSlopeGuests(el) {
    15101329    return el('div', {
     
    15241343    }, ' Bambini')])]);
    15251344  }
    1526 
    15271345  function createSlopeSubmitButton(el) {
    15281346    return el('div', {
     
    15381356    })]);
    15391357  }
    1540 
    15411358  function createSlopeLanguageSelect(el, languages, props) {
    15421359    return el('select', {
     
    15621379    }));
    15631380  }
    1564 
    15651381  return {
    15661382    createSlopeBlock: createSlopeBlock,
     
    15751391var slopeDateRangePicker = function () {
    15761392  var DEFAULT_PLUGIN_LANG = 'it';
    1577 
    15781393  function init($) {
    15791394    updateDates(this, this.currentLocale, this.scope);
    1580     var $this = this; // This is the most ugly thing i did in my life:
     1395    var $this = this;
     1396
     1397    // This is the most ugly thing i did in my life:
    15811398    // - in order to make the calendar change top property and showing correctly on top or bottom of the slope-block
    15821399    // we hide the calender first, then check if the calendar has the class 'arrowBottom' then set we close the calendar
    15831400    // and finally reopen it.
    1584 
    15851401    $(this.scope + '.slope-check-in-wrapper').parent().on('click', function () {
    15861402      $this.calendarContainer.style.visibility = 'hidden';
     
    15891405        var input = document.querySelector($this.scope + ' .slope-block .slope-check-in-input');
    15901406        var isBottomCalendar = $this.calendarContainer.getAttribute('class').split(' ').indexOf('arrowBottom') > 0;
    1591 
    15921407        if (isBottomCalendar) {
    15931408          input.style.top = '-8px';
     
    15951410          input.style.top = '88px';
    15961411        }
    1597 
    15981412        $this.close();
    15991413        $this.calendarContainer.style.visibility = 'visible';
     
    16081422        var input = document.querySelector($this.scope + ' .slope-block .slope-check-in-input');
    16091423        var isBottomCalendar = $this.calendarContainer.getAttribute('class').split(' ').indexOf('arrowBottom') > 0;
    1610 
    16111424        if (isBottomCalendar) {
    16121425          input.style.top = '-8px';
     
    16141427          input.style.top = '88px';
    16151428        }
    1616 
    16171429        $this.close();
    16181430        $this.calendarContainer.style.visibility = 'visible';
     
    16211433    });
    16221434  }
    1623 
    16241435  function updateDates(self, locale, scope) {
    16251436    var start = new Date();
    16261437    var end = new Date();
    1627 
    16281438    if (!!self.selectedDates && self.selectedDates.length < 2) {
    16291439      end.setDate(start.getDate() + self.minDays);
    16301440      self.selectedDates = [start, end];
    1631     } // if (!self.selectedDates[0]) {
     1441    }
     1442    // if (!self.selectedDates[0]) {
    16321443    //   var checkInDate = document.querySelector(self.scope + '.slope-check-in-input').value.split('/');
    16331444    //   var checkInDay = checkInDate[0];
     
    16431454    //   self.selectedDates[1] = new Date(checkOutYear, checkOutMonth, checkOutDay);
    16441455    // }
    1645 
    1646 
    16471456    var arrival = self.selectedDates[0];
    16481457    var departure = self.selectedDates[1];
     
    16521461    document.querySelector(scope + '.slope-check-out-input').value = departure.getDate() + '/' + (departure.getMonth() + 1) + '/' + departure.getFullYear();
    16531462  }
    1654 
    16551463  function create(firstInput, secondInput, appendTo, index, $, options) {
    16561464    var indexedScope = '[data-widget-count=\"' + index + '\"] ';
    16571465    var reservationDate = document.querySelector(indexedScope + '.slope-reservation-section-container');
    1658 
    16591466    if (!!reservationDate) {
    16601467      var pluginLang = reservationDate.getAttribute('data-lang');
    16611468    }
    1662 
    16631469    var currentLocale = slopeFlatpickrLocaleManager.locale(pluginLang || DEFAULT_PLUGIN_LANG);
    1664 
    16651470    var isMobile = function isMobile() {
    16661471      var check = false;
    1667 
    16681472      (function (a) {
    16691473        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    16701474      })(navigator.userAgent || navigator.vendor || window.opera);
     1475      return check;
     1476    };
    16711477
    1672       return check;
    1673     }; // The dateFormat option is necessary for the form submission to work
    1674 
    1675 
     1478    // The dateFormat option is necessary for the form submission to work
    16761479    options = {
    16771480      mode: "range",
     
    16981501    return calendar;
    16991502  }
    1700 
    17011503  return {
    17021504    create: create
     
    17241526        var s = nth % 100;
    17251527        if (s > 3 && s < 21) return "th";
    1726 
    17271528        switch (s % 10) {
    17281529          case 1:
    17291530            return "st";
    1730 
    17311531          case 2:
    17321532            return "nd";
    1733 
    17341533          case 3:
    17351534            return "rd";
    1736 
    17371535          default:
    17381536            return "th";
     
    18041602      time_24hr: true
    18051603    };
    1806 
    18071604    switch (langCode) {
    18081605      case 'it':
    18091606        return Italian;
    1810 
    18111607      case 'fr':
    18121608        return French;
    1813 
    18141609      case 'de':
    18151610        return German;
    1816 
    18171611      default:
    18181612        return English;
    18191613    }
    18201614  }
    1821 
    18221615  return {
    18231616    locale: locale
     
    18291622  this.data = _toJSON($form);
    18301623  this.requiredFields = requiredFields;
    1831 
    18321624  this.isValid = function () {
    18331625    var self = this;
     
    18381630    });
    18391631  };
    1840 
    18411632  function _toJSON($form) {
    18421633    var asArray = $form.serializeArray();
     
    18471638    return json;
    18481639  }
    1849 
    18501640  this.send = function (url, successCallback) {
    18511641    jQuery.ajax(url, {
     
    18621652  CHILDREN: '[data-input="children"]'
    18631653};
    1864 
    18651654function SlopeGuestsWrapper($element) {
    18661655  this.childrenNextIndex = 0;
     
    18681657  this.stepperContainer = $element.siblings('.slope-stepper-container');
    18691658  this.rooms = [new SlopeRoom(0, this.stepperContainer.find('[data-container="guests"]'), this.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS), $element)];
    1870 
    18711659  this.updateGuests = function () {
    18721660    var self = this;
     
    18851673    });
    18861674  };
    1887 
    18881675  this.reset = function () {
    18891676    this.rooms.forEach(function (room, index) {
     
    19021689    this.updateGuests();
    19031690  };
    1904 
    19051691  this.calculateStepperTop = function () {
    19061692    var isMobile = function isMobile() {
    19071693      var check = false;
    1908 
    19091694      (function (a) {
    19101695        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    19111696      })(navigator.userAgent || navigator.vendor || window.opera);
     1697      return check;
     1698    };
    19121699
    1913       return check;
    1914     }; // We append the stepper container to the body of the page to avoid z-index to depend on the container
    1915 
    1916 
     1700    // We append the stepper container to the body of the page to avoid z-index to depend on the container
    19171701    document.querySelector('body').appendChild(this.stepperContainer[0]);
    19181702    var slopeBlockBounds = this.$element.parentsUntil('.slope-block').parent()[0].getBoundingClientRect();
     
    19221706    this.stepperContainer.css('left', left + 'px');
    19231707  };
    1924 
    19251708  this.openGuestsSelection = function () {
    19261709    this.stepperContainer.show();
    19271710  };
    1928 
    19291711  this.closeGuestsSelection = function () {
    19301712    this.stepperContainer.hide();
    19311713  };
    1932 
    19331714  this.handleClickOutsideGuestsSelection = function (event) {
    19341715    var containers = Array.from(document.querySelectorAll('.slope-stepper-container'));
    19351716    var isStepperContainerVisible = this.stepperContainer.css('display') !== 'none';
    1936 
    19371717    if (containers.length > 0 && this.$element.parent().find(event.target).length === 0 && !this.$element.parent().is(event.target) && this.stepperContainer.find(event.target).length === 0 && isStepperContainerVisible) {
    19381718      this.updateGuests();
     
    19401720    }
    19411721  };
    1942 
    19431722  this.init = function ($) {
    19441723    this.updateGuests();
     
    19681747        return;
    19691748      }
    1970 
    19711749      var adultsInputClone = self.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS).first().clone();
    19721750      adultsInputClone.appendTo(self.$element);
     
    19781756        return;
    19791757      }
    1980 
    19811758      self.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS).last().remove();
    19821759      var lastRoom = self.rooms.pop();
     
    19931770  CHILDREN: "reservation[guestCounts][__name__][childrenAges][__childrenAgesName__]"
    19941771};
    1995 
    19961772function SlopeRoom(index, $element, adultsInput, guestsWrapper) {
    19971773  this.index = index;
     
    20011777  this.guestsWrapper = guestsWrapper;
    20021778  this.$element = null;
    2003 
    20041779  this.update = function () {
    20051780    var adultsInput = this.$element.find('[data-sync-trigger="adults"]');
     
    20091784    this.adultsInput.val(this.adultsCount);
    20101785  };
    2011 
    20121786  this.reset = function () {
    20131787    this.adultsCount = 2;
     
    20151789    this.update();
    20161790  };
    2017 
    20181791  if (index > 0) {
    20191792    // The element is not the first so we have to clone the first one is not passed this means we have to clone one
     
    20241797    this.$element = $element;
    20251798  }
    2026 
    20271799  this.adultsInput.attr('name', SLOPE_NAME_PROTOTYPES.ADULTS.replace(new RegExp('__name__', 'g'), this.index));
    20281800  var roomLabel = this.$element.find('[data-label="room"]');
     
    20421814    self.decrementChildren();
    20431815  });
    2044 
    20451816  this.incrementAdults = function () {
    20461817    this.adultsCount += this.adultsCount < 99 ? 1 : 0;
     
    20481819    input.val(this.adultsCount);
    20491820  };
    2050 
    20511821  this.decrementAdults = function () {
    20521822    this.adultsCount -= this.adultsCount > 1 ? 1 : 0;
     
    20541824    input.val(this.adultsCount);
    20551825  };
    2056 
    20571826  this.incrementChildren = function () {
    20581827    this.childrenCount += this.childrenCount < 99 ? 1 : 0;
     
    20671836    stepperInput.val(this.childrenCount);
    20681837  };
    2069 
    20701838  this.decrementChildren = function () {
    20711839    this.childrenCount -= this.childrenCount > 0 ? 1 : 0;
     
    20741842    stepperInput.val(this.childrenCount);
    20751843  };
    2076 
    20771844  this.destroy = function () {
    20781845    this.$element.remove();
     
    20841851  Array.from = function () {
    20851852    var toStr = Object.prototype.toString;
    2086 
    20871853    var isCallable = function isCallable(fn) {
    20881854      return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
    20891855    };
    2090 
    20911856    var toInteger = function toInteger(value) {
    20921857      var number = Number(value);
    2093 
    20941858      if (isNaN(number)) {
    20951859        return 0;
    20961860      }
    2097 
    20981861      if (number === 0 || !isFinite(number)) {
    20991862        return number;
    21001863      }
    2101 
    21021864      return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
    21031865    };
    2104 
    21051866    var maxSafeInteger = Math.pow(2, 53) - 1;
    2106 
    21071867    var toLength = function toLength(value) {
    21081868      var len = toInteger(value);
    21091869      return Math.min(Math.max(len, 0), maxSafeInteger);
    2110     }; // The length property of the from method is 1.
     1870    };
    21111871
     1872    // The length property of the from method is 1.
     1873    return function from(arrayLike /*, mapFn, thisArg */) {
     1874      // 1. Let C be the this value.
     1875      var C = this;
    21121876
    2113     return function from(arrayLike
    2114     /*, mapFn, thisArg */
    2115     ) {
    2116       // 1. Let C be the this value.
    2117       var C = this; // 2. Let items be ToObject(arrayLike).
     1877      // 2. Let items be ToObject(arrayLike).
     1878      var items = Object(arrayLike);
    21181879
    2119       var items = Object(arrayLike); // 3. ReturnIfAbrupt(items).
    2120 
     1880      // 3. ReturnIfAbrupt(items).
    21211881      if (arrayLike == null) {
    21221882        throw new TypeError('Array.from requires an array-like object - not null or undefined');
    2123       } // 4. If mapfn is undefined, then let mapping be false.
     1883      }
    21241884
    2125 
     1885      // 4. If mapfn is undefined, then let mapping be false.
    21261886      var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
    21271887      var T;
    2128 
    21291888      if (typeof mapFn !== 'undefined') {
    21301889        // 5. else
     
    21321891        if (!isCallable(mapFn)) {
    21331892          throw new TypeError('Array.from: when provided, the second argument must be a function');
    2134         } // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
     1893        }
    21351894
    2136 
     1895        // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
    21371896        if (arguments.length > 2) {
    21381897          T = arguments[2];
    21391898        }
    2140       } // 10. Let lenValue be Get(items, "length").
     1899      }
     1900
     1901      // 10. Let lenValue be Get(items, "length").
    21411902      // 11. Let len be ToLength(lenValue).
     1903      var len = toLength(items.length);
    21421904
    2143 
    2144       var len = toLength(items.length); // 13. If IsConstructor(C) is true, then
     1905      // 13. If IsConstructor(C) is true, then
    21451906      // 13. a. Let A be the result of calling the [[Construct]] internal method
    21461907      // of C with an argument list containing the single item len.
    21471908      // 14. a. Else, Let A be ArrayCreate(len).
     1909      var A = isCallable(C) ? Object(new C(len)) : new Array(len);
    21481910
    2149       var A = isCallable(C) ? Object(new C(len)) : new Array(len); // 16. Let k be 0.
    2150 
    2151       var k = 0; // 17. Repeat, while k < len… (also steps a - h)
    2152 
     1911      // 16. Let k be 0.
     1912      var k = 0;
     1913      // 17. Repeat, while k < len… (also steps a - h)
    21531914      var kValue;
    2154 
    21551915      while (k < len) {
    21561916        kValue = items[k];
    2157 
    21581917        if (mapFn) {
    21591918          A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
     
    21611920          A[k] = kValue;
    21621921        }
    2163 
    21641922        k += 1;
    2165       } // 18. Let putStatus be Put(A, "length", len, true).
    2166 
    2167 
    2168       A.length = len; // 20. Return A.
    2169 
     1923      }
     1924      // 18. Let putStatus be Put(A, "length", len, true).
     1925      A.length = len;
     1926      // 20. Return A.
    21701927      return A;
    21711928    };
  • slope-widgets/tags/4.3.4/js/slope-promotions.js

    r3294822 r3415084  
    33// NOTE: This is the code of the latest promotion widget. Code for legacy promotions widget is placed in the file
    44// slope-widgets.js
     5
    56document.addEventListener('DOMContentLoaded', function () {
    67  var slopePromotionsShortcodes = document.querySelectorAll('[data-role="slope-promo"]');
     
    2425      // Remove loading spinner
    2526      var loadingElement = slopePromotionsShortcode.querySelector(".slp-loading-indicator");
    26 
    2727      if (loadingElement) {
    2828        loadingElement.remove();
    2929      }
    30 
    3130      if (response.success && response.data) {
    3231        slopePromotionsShortcode.innerHTML = response.data.html;
    3332        initializePromotionCards(slopePromotionsShortcode);
    3433      }
    35 
    3634      if (response.data && response.data.error) {
    3735        console.error("Error fetching promotions:", response.data.error);
     
    4947    });
    5048  });
    51 
    5249  function initializePromotionCards(shortcodeElement) {
    5350    var promotionCards = shortcodeElement.querySelectorAll('.slp-promotion-card');
    54 
    5551    if (document.querySelectorAll("[data-open-new-tab]").length > 0) {
    5652      shortcodeElement.querySelectorAll(".slp-reserve-button").forEach(function (promotionButton) {
     
    5854      });
    5955    }
    60 
    6156    promotionCards.forEach(function (card) {
    6257      var promotionId = card.dataset.promotionId;
    6358      var modal = shortcodeElement.querySelector("#modal-".concat(promotionId));
    6459      var openButtons = card.querySelectorAll('[data-action="open-modal"]');
    65       var closeButton = modal.querySelector('.slp-close-modal-button'); // Open modal handlers
     60      var closeButton = modal.querySelector('.slp-close-modal-button');
    6661
     62      // Open modal handlers
    6763      openButtons.forEach(function (button) {
    6864        button.addEventListener('click', function () {
    6965          return openModal(modal);
    7066        });
    71       }); // Close modal handler
     67      });
    7268
     69      // Close modal handler
    7370      closeButton.addEventListener('click', function () {
    7471        return closeModal(modal);
    75       }); // Close on outside click
     72      });
    7673
     74      // Close on outside click
    7775      modal.addEventListener('click', function (e) {
    7876        if (e.target === modal) {
     
    8078        }
    8179      });
    82     }); // Modal functions
     80    });
    8381
     82    // Modal functions
    8483    function openModal(modal) {
    8584      modal.classList.add('slp-modal-visible');
     
    8887      document.body.style.overflow = 'hidden'; // Prevent background scrolling
    8988    }
    90 
    9189    function closeModal(modal) {
    9290      modal.classList.add('slp-modal-hidden');
     
    9492      modal.setAttribute('aria-hidden', 'true');
    9593      document.body.style.overflow = ''; // Restore background scrolling
    96     } // When ESC key is pressed, close all open modals
     94    }
    9795
    98 
     96    // When ESC key is pressed, close all open modals
    9997    document.addEventListener('keydown', function (e) {
    10098      if (e.key === 'Escape') {
  • slope-widgets/tags/4.3.4/js/slope-widgets.js

    r3385288 r3415084  
    88    new SlopeGuestsWrapper($(widget).find(".slope-guests-wrapper")).init($);
    99  });
    10 }); // Packages and promotions
     10});
    1111
     12// Packages and promotions
    1213/**
    1314 * Widget object to isolate all the logic needed from a widget.
    1415 */
    15 
    1616var WidgetManager = function () {
    1717  /**
     
    2020   */
    2121  var establishmentID;
     22
    2223  /**
    2324   * Domain. The default value gets overridden in testing scenarios (e.g. //test.booking.slope.it).
    2425   * @var {string}
    2526   */
     27  var domain;
    2628
    27   var domain;
    2829  /**
    2930   * Language. The language in which the widget must be rendered.
    3031   */
     32  var language;
    3133
    32   var language;
    3334  /**
    3435   * Controller action representing the path fo the widget we want to retrieve.
    3536   * @var {string}
    3637   */
    37 
    3838  var widgetAction = "search";
    3939  return {
     
    5151      domain = widgetDomain || "booking.slope.it";
    5252      domain = "https://" + domain;
    53 
    5453      switch (type) {
    5554        case "promotions":
    5655          widgetAction = "promotions";
    5756          break;
    58 
    5957        case "search":
    6058        default:
     
    6361      }
    6462    },
    65 
    6663    /**
    6764     * Returns the url of the action that generates the JSONp for the desired widget.
     
    7269      return domain + "/widgets/" + widgetAction + "/" + establishmentID + (language ? "/" + language : "");
    7370    },
    74 
    7571    /**
    7672     * Returns the url for json widget.
     
    7874     * @returns {string}
    7975     */
     76
    8077    getBookingEngineUrl: function getBookingEngineUrl(promotionID) {
    8178      return domain + "/" + establishmentID + "/promotions/" + promotionID;
    8279    },
    83 
    8480    /**
    8581     * Returns the full url to the css resource.
     
    9288  };
    9389}();
     90
    9491/**
    9592 * Used to embed our legacy promotions widget into external websites.
    9693 */
    97 
    98 
    9994jQuery(document).ready(function ($) {
    10095  // TODO: This code is for legacy promotions. It is going to be removed in the future.
    10196  if ($("#slope-promotions").length) {
    10297    WidgetManager.create($("#slope-promotions").attr("data-id"), $("#slope-bl").attr("data-domain"), "promotions");
    103 
    10498    if ($("#widget-css").length === 0) {
    10599      $("head").append("<link id=\"widget-css\" rel=\"stylesheet\" type=\"text/css\" href=\"".concat(WidgetManager.getCSSResource(), "\" />"));
    106100    }
    107 
    108101    $.get(WidgetManager.getWidgetUrl(), null, function (data) {
    109102      $("#slope-promotions").html(data.html); // Inject HTML in the page.
     103
    110104      // Book engine in new window Promotions
    111 
    112105      if (document.querySelectorAll("[data-open-new-tab]").length > 0) {
    113106        var widgetElement = document.getElementById("slope-promotions");
  • slope-widgets/tags/4.3.4/languages/slope-widgets-en_US.po

    r3385288 r3415084  
    22msgstr ""
    33"Project-Id-Version: Slope Widgets\n"
    4 "POT-Creation-Date: 2025-10-17 16:17+0200\n"
    5 "PO-Revision-Date: 2025-10-17 16:17+0200\n"
     4"POT-Creation-Date: 2025-12-04 17:27+0100\n"
     5"PO-Revision-Date: 2025-12-05 08:58+0100\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
     
    2828msgstr "Invalid Establishment ID."
    2929
    30 #: includes/admin/Promotions.php:93
     30#: includes/admin/Promotions.php:92
    3131msgid "Id Struttura non impostato"
    32 msgstr "Establishment ID not setted"
    33 
    34 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392
     32msgstr "Establishment ID not set"
     33
     34#: includes/admin/Promotions.php:212 includes/admin/Reservations.php:393
    3535msgid "Una delle proprietà non è valida, controllare i valori e riprovare"
    36 msgstr "One of the properties is invalid, check the values ​​and try again"
     36msgstr "One of the properties is invalid, check values and try again"
    3737
    3838#: includes/pages/global-settings/index.php:14
     
    7575"francese e tedesco (it, en, fr, de)."
    7676msgstr ""
    77 "The languages ​​supported by the booking bar are Italian, English, French and "
     77"The languages supported by the booking bar are Italian, English, French and "
    7878"German (it, en, fr, de)."
    7979
     
    136136#: includes/pages/global-settings/partials/form.php:40
    137137msgid "ID Struttura Slope"
    138 msgstr "Slope Structure ID"
     138msgstr "Slope Establishment ID"
    139139
    140140#: includes/pages/global-settings/partials/form.php:46
     
    498498#: slope-promotions-legacy.php:37
    499499msgid "ID struttura"
    500 msgstr "Hotel ID"
     500msgstr "Establishment ID"
    501501
    502502#: slope-promotions-legacy.php:39
    503503msgid "Il tuo Slope ID"
    504 msgstr "Your Slope hotel ID"
     504msgstr "Your Slope establishment ID"
    505505
    506506#: slope-promotions-legacy.php:55
     
    558558"i pacchetti e le promozioni tramite shortcode personalizzabili."
    559559msgstr ""
    560 "Add Slope to your WordPress site! This plugin allows you to insert the "
    561 "reservations bar and the promotion cards in your website thanks to shortcodes."
     560"Add Slope widgets to your WordPress site! This plugin allows you to insert "
     561"the reservations bar and the promotion cards in your website via customizable "
     562"shortcodes."
    562563
    563564#. Author of the plugin/theme
  • slope-widgets/tags/4.3.4/languages/slope-widgets.pot

    r3385288 r3415084  
    33msgstr ""
    44"Project-Id-Version: Slope Widgets\n"
    5 "POT-Creation-Date: 2025-10-17 16:17+0200\n"
     5"POT-Creation-Date: 2025-12-05 08:49+0100\n"
    66"PO-Revision-Date: 2018-01-04 14:50+0100\n"
    77"Last-Translator: \n"
     
    2727msgstr ""
    2828
    29 #: includes/admin/Promotions.php:93
     29#: includes/admin/Promotions.php:92
    3030msgid "Id Struttura non impostato"
    3131msgstr ""
    3232
    33 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392
     33#: includes/admin/Promotions.php:212 includes/admin/Reservations.php:393
    3434msgid "Una delle proprietà non è valida, controllare i valori e riprovare"
    3535msgstr ""
  • slope-widgets/tags/4.3.4/readme.txt

    r3385288 r3415084  
    55Requires at least: 5.6
    66Requires PHP: 7.0
    7 Tested up to: 6.8
    8 Stable tag: 4.3.3
     7Tested up to: 6.9
     8Stable tag: 4.3.4
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4040== Changelog ==
    4141
     42= 4.3.4 =
     43* Bugfix e correzioni minori
     44
    4245= 4.3.3 =
    4346* Possibilità di indicare l'età minima dei bambini nelle impostazioni del plugin
  • slope-widgets/tags/4.3.4/slope-widgets.php

    r3385288 r3415084  
    33* Plugin Name: Slope Widgets
    44* Description: Aggiungi i widget di Slope al sito web WordPress della tua struttura ricettiva! Questo plugin ti permette di mostrare la barra delle prenotazioni, i pacchetti e le promozioni tramite shortcode personalizzabili.
    5 * Version: 4.3.3
     5* Version: 4.3.4
    66* Author: Slope
    77* Author URI: https://www.slope.it/
     
    1616
    1717// We use this constant to invalidate the cache of the plugin's assets
    18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.3';
     18const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.4';
    1919
    2020// Current version of the database schema. It is used to check if the database schema needs to be updated.
     
    3434// more data on actual requests.
    3535define(
    36     'SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS',
    37     getenv('SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS') !== false ? getenv('SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS') : 120
     36    'SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS',
     37    getenv('SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS') !== false ? getenv('SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS') : 120
    3838);
    3939
  • slope-widgets/trunk/css/slope-admin.css

    r3385288 r3415084  
    33@keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}}
    44.slp-welcome-button{display:inline-flex;align-items:center;right:10px;bottom:30px;height:36px;padding:0 10px;border-radius:3px;text-align:center;text-transform:uppercase;text-decoration:none}.slp-welcome-button #skip-icon{margin-right:8px}.slope-slp-welcome{width:99%}#slp-welcome-button-container{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;margin-top:1rem}#slp-next-button{display:inline-flex;align-items:center;gap:2px;margin-right:1rem;height:36px;text-transform:uppercase;padding:0 10px;border-radius:3px;text-align:center;text-decoration:none}#slp-next-button-icon{width:10px;margin-right:5px}
    5 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
     5.slope-widgets-container{box-sizing:border-box}.slope-widgets-container span{display:inline}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right;overflow:hidden;text-overflow:ellipsis}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex;align-items:center}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
  • slope-widgets/trunk/css/slope-widgets.css

    r3385288 r3415084  
    1 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
     1.slope-widgets-container{box-sizing:border-box}.slope-widgets-container span{display:inline}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right;overflow:hidden;text-overflow:ellipsis}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex;align-items:center}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}
    22#slope-promotions a.slp-button{padding:1.5rem .5rem;transition:all .2s ease-in-out;text-decoration:none}#slope-promotions a.slp-button:hover{opacity:.7}#slope-widget{font-family:inherit!important}table.slp{min-width:initial;font-family:inherit}table.slp td{font-family:inherit;text-align:left!important;word-break:normal}[id^=promotion-submit-].slp-button{font-family:inherit!important;font-weight:700;letter-spacing:inherit}
    33@keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}}
    44@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus,.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i,.numInputWrapper{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.flatpickr-current-month span.cur-month:hover,.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{background:0 0;border:0;border-radius:0;box-sizing:border-box;color:inherit;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;padding:0 0 0 .5ch;vertical-align:initial;-webkit-box-sizing:border-box}.flatpickr-current-month input.cur-year{cursor:text;margin:0;display:inline-block;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;cursor:pointer;margin:-1px 0 0;outline:0;position:relative;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer,span.flatpickr-weekday{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;font-weight:bolder}.flatpickr-weeks{padding:1px 0 0}.flatpickr-days,.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-days{position:relative;overflow:hidden;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer,.flatpickr-day{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{background:0 0;border-color:transparent}.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:0}.flatpickr-innerContainer,.flatpickr-rContainer{-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0}.flatpickr-time,.flatpickr-time input{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{outline:0;display:block;height:0;line-height:40px;max-height:40px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}
    55input#border_size,input#range_button,input#slope_border_radius,input#slope_title_size{max-width:130px}input#slope_text_border_radius,input#slope_text_border_size,input#slope_text_title_size{cursor:pointer;background:0 0;color:#444;font-size:14px;width:22px;font-weight:700!important;border:0;pointer-events:none;box-shadow:none!important;padding-left:0}.slope-grid-container{display:grid;grid-template-columns:3fr 2fr}.slope-setting-container{margin-top:10px}.slope-docs-container{margin-left:30px;text-align:left;border-left:1px solid #d3d3d3;margin-right:10px;padding-left:10px}@media only screen and (max-width:1250px){.slope-grid-container{grid-template-columns:1fr}.slope-docs-container{margin-top:25px;margin-left:initial;padding-left:initial;border-color:transparent!important;margin-right:30px}}@media only screen and (max-width:768px){#slope-widget-container .form-table th,.slope-style-field{width:100%!important}.slope-radio-field label{margin-top:0!important}.slope-terms input[type=checkbox]{margin-bottom:4rem!important}.slope-setting-field input[type=checkbox]{margin:-.25rem .25rem 1rem 0}}#slope-widget-container .form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both;margin-bottom:1em}#slope-widget-container tbody{display:table-row-group;vertical-align:middle;border-color:inherit}#slope-widget-container .form-table th,.slope-style-field{padding-top:2em;text-align:left;width:240px;font-size:13px;font-weight:700;cursor:default!important;margin-right:20px}#slope-widget-container .form-table td{padding:1em 0;vertical-align:middle;font-weight:initial}.slope-setting-field input{display:flow;font-weight:400}.slope-setting-field input.wp-picker-clear,input[data-role=slope-color-picker]{position:relative;left:0}.slope-style-container{display:none;width:60%;float:left;margin-top:25px}.slope-setting-field input:checked[type=checkbox]:before,.slope-style-field input:checked[type=checkbox]:before{left:27px!important;top:2px!important}.slope-layout-container-promotions input[type=radio],.slope-setting-container input[type=checkbox],.slope-setting-container input[type=radio],.slope-setting-container-promotions input[type=checkbox],.slope-style-container-promotions input[type=radio]{float:left!important;display:block!important}#slope_children_age_max,#slope_min_days{width:70px}.slope-setting-field.slope-radio-field{padding:1em;margin-bottom:-2.5em;font-weight:400;display:block}.slope-radio-field label{margin-left:15px;width:100%;display:block!important;margin-bottom:.5em;margin-top:-5px}.slope-layout-container{display:none;width:60%;float:left}.slope-setting-container-promotions{display:block}.slope-layout-container-promotions,.slope-style-container-promotions{display:none}.slope-layout-container-promotions,.slope-setting-container-promotions,.slope-style-container-promotions{margin-top:25px}.slope-border-size-promotions{width:50px;text-align:center;border:0}input#slope_promotions_uuid{background:0 0}input#slope_promotions_border_size{text-align:left!important}#slope_uuid{width:40%!important;min-width:280px!important}.slp-font-16{font-size:16px!important}.slp-font-normal{font-weight:400!important}.slp-font-semibold{font-weight:600!important}.slp-font-bold{font-weight:700!important}.slp-gap-10px{gap:10px}.slp-margin-auto{margin:auto}.slp-margin-0{margin:0}.slp-width-full{width:100%}.slp-box-sizing-border-box{box-sizing:border-box}.slp-padding-24px{padding:24px}.slp-margin-top-10px{margin-top:10px}.slp-margin-top-20px{margin-top:20px}.slp-margin-top-5px{margin-top:5px}.slp-margin-bottom-10px{margin-bottom:10px}.slp-margin-bottom-0{margin-bottom:0}.slp-bg-white{background-color:#fff}.slp-bg-gray{background-color:#adb9c9}.slp-bg-light-gray{background-color:#f5f5f5}.slp-padding-bottom-24px{padding-bottom:24px}.slp-cursor-pointer,.slp-cursor-pointer:hover{cursor:pointer}.slp-settings-container{border-radius:12px}.slp-divider{border-bottom:1px solid #e0e0e0;width:100%;min-width:100%}.slp-select{width:25%;min-width:140px}.slp-radio{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.slp-radio-title{display:inline-block;margin-right:1rem}.slp-radio-options{display:flex;gap:20px;flex-wrap:wrap}.slp-flex-adaptive-row,.slp-flex-row{display:flex;flex-direction:row;align-items:center}.slp-flex-adaptive-row{align-items:baseline}.slp-padding-0{padding:0!important}.slp-bg-gold{background-color:#ffdc73}.slp-warning-container{display:flex;align-items:center;gap:10px;padding:1px 10px;margin-top:10px;border-radius:8px}@media only screen and (max-width:768px){.slp-radio{flex-direction:column;align-items:flex-start}.slp-radio-options{margin-top:10px}.slp-select{width:100%}.slp-radio-title{margin-right:0;margin-bottom:10px}.slp-flex-adaptive-row{flex-direction:column;align-items:flex-start}}@media only screen and (max-width:480px){.slp-settings-container{border-radius:8px}.slp-flex-row{flex-direction:column;align-items:flex-start}}
    6 .slope-flatpickr-calendar{padding:10px 2px;-webkit-justify-content:flex-start;justify-content:flex-start}.numInputWrapper span{display:none}.slope-flatpickr-calendar.open{z-index:9999!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year,.slope-flatpickr-calendar .flatpickr-month input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important;background:0 0!important;border-radius:0!important;border:0!important;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit!important;cursor:text;display:inline-block!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;height:auto!important;line-height:inherit!important;margin:0!important;padding:0 0 0 .5ch!important;vertical-align:initial!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year:focus,.slope-flatpickr-calendar .flatpickr-month input[type=number]:focus{box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-month .numInputWrapper{background:0 0}.slope-flatpickr-calendar .flatpickr-month .flatpickr-current-month{padding-top:0!important}.slope-flatpickr-calendar .dayContainer+.dayContainer,.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:none!important;box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.today.inRange,.slope-flatpickr-calendar .flatpickr-day:focus,.slope-flatpickr-calendar .flatpickr-day:hover{background-color:rgba(0,0,0,.1);border-color:transparent}.slope-flatpickr-calendar .flatpickr-day{height:44px;line-height:44px;max-height:44px;max-width:44px;width:44px}.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled{opacity:.3}.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover{background-color:unset}.slope-flatpickr-calendar .prevMonthDay.hidden{display:inherit!important}
     6.slope-flatpickr-calendar{padding:0 2px 10px;-webkit-justify-content:flex-start;justify-content:flex-start}.numInputWrapper span{display:none}.slope-flatpickr-calendar.open{z-index:9999!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year,.slope-flatpickr-calendar .flatpickr-month input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important;background:0 0!important;border-radius:0!important;border:0!important;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit!important;cursor:text;display:inline-block!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;height:auto!important;line-height:inherit!important;margin:0!important;padding:0 0 0 .5ch!important;vertical-align:initial!important}.slope-flatpickr-calendar .flatpickr-month input.cur-year:focus,.slope-flatpickr-calendar .flatpickr-month input[type=number]:focus{box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-month .numInputWrapper{background:0 0}.slope-flatpickr-calendar .flatpickr-month .flatpickr-current-month{padding-top:10px!important}.slope-flatpickr-calendar .dayContainer+.dayContainer,.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:none!important;box-shadow:none!important}.slope-flatpickr-calendar .flatpickr-day.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.nextMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay.today.inRange,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:focus,.slope-flatpickr-calendar .flatpickr-day.prevMonthDay:hover,.slope-flatpickr-calendar .flatpickr-day.today.inRange,.slope-flatpickr-calendar .flatpickr-day:focus,.slope-flatpickr-calendar .flatpickr-day:hover{background-color:rgba(0,0,0,.1);border-color:transparent}.slope-flatpickr-calendar .flatpickr-day{height:44px;line-height:44px;max-height:44px;max-width:44px;width:44px}.slope-flatpickr-calendar .flatpickr-day.disabled,.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled{opacity:.3}.slope-flatpickr-calendar .flatpickr-day.disabled:hover,.slope-flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover{background-color:unset}.slope-flatpickr-calendar .prevMonthDay.hidden{display:inherit!important}
    77@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.slope-widgets-container .dayContainer{display:block!important;width:356px!important}}
  • slope-widgets/trunk/includes/admin/GlobalSettings.php

    r3385288 r3415084  
    2121        $slug = 'slope-widgets/slope-widgets.php';
    2222
     23        // According to WordPress this comment in the codex the best way to add a menu icon is to use a base64 encoded
     24        // SVG image: https://developer.wordpress.org/reference/functions/add_menu_page/#comment-5845
     25        $svg = file_get_contents(SLOPE_WIDGETS_PATH . '/images/icon.svg');
     26
    2327        add_menu_page(
    2428            esc_html__('Impostazioni di Slope Widgets', 'slope-widgets'),
     
    2731            $slug,
    2832            [$this, 'renderSettingsPage'],
    29             plugins_url('slope-widgets/images/icon.png')
     33            'data:image/svg+xml;base64,'.base64_encode($svg)
    3034        );
    3135
  • slope-widgets/trunk/includes/admin/Promotions.php

    r3385288 r3415084  
    139139
    140140        // NOTE: An expiration time of 0 means the cache will not expire!
    141         if (SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS !== 0) {
    142             set_transient($cache_key, $promotions, SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS);
     141        if (SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS !== 0) {
     142            set_transient($cache_key, $promotions, SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS);
    143143        }
    144144        wp_send_json_success($promotions);
     
    148148     * Returns the content displayed by the shortcode
    149149     *
    150      * @param mixed[] $atts The shortcode attributes
     150     * @param mixed[]|string $atts The shortcode attributes
    151151     */
    152     function slope_promotions_shortcode(array $atts): string
     152    function slope_promotions_shortcode($atts): string
    153153    {
    154154        $uuid = GlobalSettingsProvider::getEstablishmentId();
    155155        $bookTarget = GlobalSettingsProvider::shouldOpenLinksOnANewTab() ? ' data-open-new-tab="true"' : '';
    156156        // Try to get the language from the shortcode attribute
    157         $atts = shortcode_atts(
     157        $shortcodeAttributes = shortcode_atts(
    158158            [
    159159                'lang' => '',
    160160            ],
    161             $atts
     161            // TODO: $atts should always be an array, but when no attributes are passed it can be a string.
     162            //  This has been fixed in later versions of WordPress (>=6.5), so we can remove this check in the future
     163            //  and enforce $atts type to be always an array.
     164            //  see: https://core.trac.wordpress.org/changeset/57597
     165            is_array($atts) ? $atts : []
    162166        );
    163167
    164168        $uuid = esc_attr($uuid);
    165169
    166         $languageAttribute = $atts['lang']
    167             ? ' data-lang="' . esc_attr($atts['lang']) . '"'
     170        $languageAttribute = $shortcodeAttributes['lang']
     171            ? ' data-lang="' . esc_attr($shortcodeAttributes['lang']) . '"'
    168172            : '';
    169173
  • slope-widgets/trunk/includes/admin/Reservations.php

    r3385288 r3415084  
    5858     * Returns the content displayed by the shortcode
    5959     *
    60      * @param mixed[] $atts The shortcode attributes
     60     * @param mixed[]|string $atts The shortcode attributes
    6161     */
    62     public function getShortcodeContent(array $atts): string
     62    public function getShortcodeContent($atts): string
    6363    {
    6464        $languageResolver = new LanguageResolver();
     
    6868
    6969        // Try to get the language from the shortcode attribute
    70         $atts = shortcode_atts(
     70        $shortcodeAttributes = shortcode_atts(
    7171            [
    7272                'lang' => null,
    7373            ],
    74             $atts
    75         );
    76 
    77         $lang = $languageResolver->resolveLanguage($atts['lang']);
     74            // TODO: $atts should always be an array, but when no attributes are passed it can be a string.
     75            //  This has been fixed in later versions of WordPress (>=6.5), so we can remove this check in the future
     76            //  and enforce $atts type to be always an array.
     77            //  see: https://core.trac.wordpress.org/changeset/57597
     78            is_array($atts) ? $atts : []
     79        );
     80
     81        $lang = $languageResolver->resolveLanguage($shortcodeAttributes['lang']);
    7882
    7983        // Strings mapping for languages
     
    276280                color: <?php echo esc_attr($fontColor) ?> !important;
    277281            }
    278 
    279             .slope-flatpickr-calendar .flatpickr-current-month span.cur-month:hover,
    280             .slope-flatpickr-calendar .flatpickr-current-month input.cur-year,
    281282        </style>
    282283
    283         <div id="slope-widgets-config" data-language="<?php echo esc_attr($atts['lang']) ?>" data-min-days="<?php echo esc_attr($minDays) ?>"></div>
     284        <div id="slope-widgets-config" data-language="<?php echo esc_attr($shortcodeAttributes['lang']) ?>" data-min-days="<?php echo esc_attr($minDays) ?>"></div>
    284285        <div class="slope-widgets-container" data-widget-count>
    285286        <form action="<?php echo esc_url($bookingEngineActionURL) ?>" method="POST">
  • slope-widgets/trunk/js/slope-admin.js

    r3289147 r3415084  
    1010  jQuery("#layout_page_promotions_select").removeClass("nav-tab-active");
    1111}
    12 
    1312function activate_page_style_promotions() {
    1413  jQuery(".slope-setting-container-promotions").css("display", "none");
     
    1918  jQuery("#layout_page_promotions_select").removeClass("nav-tab-active");
    2019}
    21 
    2220function activate_page_layout_promotions() {
    2321  jQuery(".slope-setting-container-promotions").css("display", "none");
     
    3230function slopeCheckValidity() {
    3331  var form = new SlopeForm(jQuery("#slp-welcome-form"), ["user-type", "email-address"]);
    34 
    3532  if (!form.isValid() || !document.getElementById("slope-terms").checked) {
    3633    jQuery(this).find('button[type="submit"]').attr("disabled", true);
     
    3936  }
    4037}
    41 
    4238function slopeSendDataAndRedirect(nextPageUrl) {
    4339  var slopeWelcomeForm = new SlopeForm(jQuery("#slp-welcome-form"), ["user-type", "email-address"]);
    4440  var ZAPIER_URL = "https://hooks.zapier.com/hooks/catch/3734337/o3u54mk/";
    45 
    4641  if (slopeWelcomeForm.isValid() || !document.getElementById("slope-terms").checked) {
    4742    slopeWelcomeForm.send(ZAPIER_URL, function () {
     
    5045  }
    5146}
    52 
    5347jQuery(document).on("change", "#slp-welcome-form", slopeCheckValidity);
  • slope-widgets/trunk/js/slope-modules.js

    r2806537 r3415084  
    88    return (e = Object.assign || function (e) {
    99      for (var t, n = 1, a = arguments.length; n < a; n++) for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
    10 
    1110      return e;
    1211    }).apply(this, arguments);
    1312  };
    14 
    1513  function t() {
    1614    for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length;
    17 
    1815    var a = Array(e),
    19         i = 0;
    20 
     16      i = 0;
    2117    for (t = 0; t < n; t++) for (var o = arguments[t], r = 0, l = o.length; r < l; r++, i++) a[i] = o[r];
    22 
    2318    return a;
    2419  }
    25 
    2620  var n = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"],
    27       a = {
    28     _disable: [],
    29     allowInput: !1,
    30     allowInvalidPreload: !1,
    31     altFormat: "F j, Y",
    32     altInput: !1,
    33     altInputClass: "form-control input",
    34     animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"),
    35     ariaDateFormat: "F j, Y",
    36     autoFillDefaultTime: !0,
    37     clickOpens: !0,
    38     closeOnSelect: !0,
    39     conjunction: ", ",
    40     dateFormat: "Y-m-d",
    41     defaultHour: 12,
    42     defaultMinute: 0,
    43     defaultSeconds: 0,
    44     disable: [],
    45     disableMobile: !1,
    46     enableSeconds: !1,
    47     enableTime: !1,
    48     errorHandler: function (e) {
    49       return "undefined" != typeof console && console.warn(e);
     21    a = {
     22      _disable: [],
     23      allowInput: !1,
     24      allowInvalidPreload: !1,
     25      altFormat: "F j, Y",
     26      altInput: !1,
     27      altInputClass: "form-control input",
     28      animate: "object" == typeof window && -1 === window.navigator.userAgent.indexOf("MSIE"),
     29      ariaDateFormat: "F j, Y",
     30      autoFillDefaultTime: !0,
     31      clickOpens: !0,
     32      closeOnSelect: !0,
     33      conjunction: ", ",
     34      dateFormat: "Y-m-d",
     35      defaultHour: 12,
     36      defaultMinute: 0,
     37      defaultSeconds: 0,
     38      disable: [],
     39      disableMobile: !1,
     40      enableSeconds: !1,
     41      enableTime: !1,
     42      errorHandler: function (e) {
     43        return "undefined" != typeof console && console.warn(e);
     44      },
     45      getWeek: function (e) {
     46        var t = new Date(e.getTime());
     47        t.setHours(0, 0, 0, 0), t.setDate(t.getDate() + 3 - (t.getDay() + 6) % 7);
     48        var n = new Date(t.getFullYear(), 0, 4);
     49        return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7);
     50      },
     51      hourIncrement: 1,
     52      ignoredFocusElements: [],
     53      inline: !1,
     54      locale: "default",
     55      minuteIncrement: 5,
     56      mode: "single",
     57      monthSelectorType: "dropdown",
     58      nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
     59      noCalendar: !1,
     60      now: new Date(),
     61      onChange: [],
     62      onClose: [],
     63      onDayCreate: [],
     64      onDestroy: [],
     65      onKeyDown: [],
     66      onMonthChange: [],
     67      onOpen: [],
     68      onParseConfig: [],
     69      onReady: [],
     70      onValueUpdate: [],
     71      onYearChange: [],
     72      onPreCalendarPosition: [],
     73      plugins: [],
     74      position: "auto",
     75      positionElement: void 0,
     76      prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
     77      shorthandCurrentMonth: !1,
     78      showMonths: 1,
     79      static: !1,
     80      time_24hr: !1,
     81      weekNumbers: !1,
     82      wrap: !1
    5083    },
    51     getWeek: function (e) {
    52       var t = new Date(e.getTime());
    53       t.setHours(0, 0, 0, 0), t.setDate(t.getDate() + 3 - (t.getDay() + 6) % 7);
    54       var n = new Date(t.getFullYear(), 0, 4);
    55       return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7);
     84    i = {
     85      weekdays: {
     86        shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
     87        longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
     88      },
     89      months: {
     90        shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
     91        longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
     92      },
     93      daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
     94      firstDayOfWeek: 0,
     95      ordinal: function (e) {
     96        var t = e % 100;
     97        if (t > 3 && t < 21) return "th";
     98        switch (t % 10) {
     99          case 1:
     100            return "st";
     101          case 2:
     102            return "nd";
     103          case 3:
     104            return "rd";
     105          default:
     106            return "th";
     107        }
     108      },
     109      rangeSeparator: " to ",
     110      weekAbbreviation: "Wk",
     111      scrollTitle: "Scroll to increment",
     112      toggleTitle: "Click to toggle",
     113      amPM: ["AM", "PM"],
     114      yearAriaLabel: "Year",
     115      monthAriaLabel: "Month",
     116      hourAriaLabel: "Hour",
     117      minuteAriaLabel: "Minute",
     118      time_24hr: !1
    56119    },
    57     hourIncrement: 1,
    58     ignoredFocusElements: [],
    59     inline: !1,
    60     locale: "default",
    61     minuteIncrement: 5,
    62     mode: "single",
    63     monthSelectorType: "dropdown",
    64     nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
    65     noCalendar: !1,
    66     now: new Date(),
    67     onChange: [],
    68     onClose: [],
    69     onDayCreate: [],
    70     onDestroy: [],
    71     onKeyDown: [],
    72     onMonthChange: [],
    73     onOpen: [],
    74     onParseConfig: [],
    75     onReady: [],
    76     onValueUpdate: [],
    77     onYearChange: [],
    78     onPreCalendarPosition: [],
    79     plugins: [],
    80     position: "auto",
    81     positionElement: void 0,
    82     prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
    83     shorthandCurrentMonth: !1,
    84     showMonths: 1,
    85     static: !1,
    86     time_24hr: !1,
    87     weekNumbers: !1,
    88     wrap: !1
    89   },
    90       i = {
    91     weekdays: {
    92       shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    93       longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
     120    o = function (e, t) {
     121      return void 0 === t && (t = 2), ("000" + e).slice(-1 * t);
    94122    },
    95     months: {
    96       shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    97       longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
    98     },
    99     daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
    100     firstDayOfWeek: 0,
    101     ordinal: function (e) {
    102       var t = e % 100;
    103       if (t > 3 && t < 21) return "th";
    104 
    105       switch (t % 10) {
    106         case 1:
    107           return "st";
    108 
    109         case 2:
    110           return "nd";
    111 
    112         case 3:
    113           return "rd";
    114 
    115         default:
    116           return "th";
    117       }
    118     },
    119     rangeSeparator: " to ",
    120     weekAbbreviation: "Wk",
    121     scrollTitle: "Scroll to increment",
    122     toggleTitle: "Click to toggle",
    123     amPM: ["AM", "PM"],
    124     yearAriaLabel: "Year",
    125     monthAriaLabel: "Month",
    126     hourAriaLabel: "Hour",
    127     minuteAriaLabel: "Minute",
    128     time_24hr: !1
    129   },
    130       o = function (e, t) {
    131     return void 0 === t && (t = 2), ("000" + e).slice(-1 * t);
    132   },
    133       r = function (e) {
    134     return !0 === e ? 1 : 0;
    135   };
    136 
     123    r = function (e) {
     124      return !0 === e ? 1 : 0;
     125    };
    137126  function l(e, t) {
    138127    var n;
     
    144133    };
    145134  }
    146 
    147135  var c = function (e) {
    148136    return e instanceof Array ? e : [e];
    149137  };
    150 
    151138  function d(e, t, n) {
    152139    if (!0 === n) return e.classList.add(t);
    153140    e.classList.remove(t);
    154141  }
    155 
    156142  function s(e, t, n) {
    157143    var a = window.document.createElement(e);
    158144    return t = t || "", n = n || "", a.className = t, void 0 !== n && (a.textContent = n), a;
    159145  }
    160 
    161146  function u(e) {
    162147    for (; e.firstChild;) e.removeChild(e.firstChild);
    163148  }
    164 
    165149  function f(e, t) {
    166150    return t(e) ? e : e.parentNode ? f(e.parentNode, t) : void 0;
    167151  }
    168 
    169152  function m(e, t) {
    170153    var n = s("div", "numInputWrapper"),
    171         a = s("input", "numInput " + e),
    172         i = s("span", "arrowUp"),
    173         o = s("span", "arrowDown");
     154      a = s("input", "numInput " + e),
     155      i = s("span", "arrowUp"),
     156      o = s("span", "arrowDown");
    174157    if (-1 === navigator.userAgent.indexOf("MSIE 9.0") ? a.type = "number" : (a.type = "text", a.pattern = "\\d*"), void 0 !== t) for (var r in t) a.setAttribute(r, t[r]);
    175158    return n.appendChild(a), n.appendChild(i), n.appendChild(o), n;
    176159  }
    177 
    178160  function g(e) {
    179161    try {
     
    183165    }
    184166  }
    185 
    186167  var p = function () {},
    187       h = function (e, t, n) {
    188     return n.months[t ? "shorthand" : "longhand"][e];
    189   },
    190       v = {
    191     D: p,
    192     F: function (e, t, n) {
    193       e.setMonth(n.months.longhand.indexOf(t));
     168    h = function (e, t, n) {
     169      return n.months[t ? "shorthand" : "longhand"][e];
    194170    },
    195     G: function (e, t) {
    196       e.setHours(parseFloat(t));
     171    v = {
     172      D: p,
     173      F: function (e, t, n) {
     174        e.setMonth(n.months.longhand.indexOf(t));
     175      },
     176      G: function (e, t) {
     177        e.setHours(parseFloat(t));
     178      },
     179      H: function (e, t) {
     180        e.setHours(parseFloat(t));
     181      },
     182      J: function (e, t) {
     183        e.setDate(parseFloat(t));
     184      },
     185      K: function (e, t, n) {
     186        e.setHours(e.getHours() % 12 + 12 * r(new RegExp(n.amPM[1], "i").test(t)));
     187      },
     188      M: function (e, t, n) {
     189        e.setMonth(n.months.shorthand.indexOf(t));
     190      },
     191      S: function (e, t) {
     192        e.setSeconds(parseFloat(t));
     193      },
     194      U: function (e, t) {
     195        return new Date(1e3 * parseFloat(t));
     196      },
     197      W: function (e, t, n) {
     198        var a = parseInt(t),
     199          i = new Date(e.getFullYear(), 0, 2 + 7 * (a - 1), 0, 0, 0, 0);
     200        return i.setDate(i.getDate() - i.getDay() + n.firstDayOfWeek), i;
     201      },
     202      Y: function (e, t) {
     203        e.setFullYear(parseFloat(t));
     204      },
     205      Z: function (e, t) {
     206        return new Date(t);
     207      },
     208      d: function (e, t) {
     209        e.setDate(parseFloat(t));
     210      },
     211      h: function (e, t) {
     212        e.setHours(parseFloat(t));
     213      },
     214      i: function (e, t) {
     215        e.setMinutes(parseFloat(t));
     216      },
     217      j: function (e, t) {
     218        e.setDate(parseFloat(t));
     219      },
     220      l: p,
     221      m: function (e, t) {
     222        e.setMonth(parseFloat(t) - 1);
     223      },
     224      n: function (e, t) {
     225        e.setMonth(parseFloat(t) - 1);
     226      },
     227      s: function (e, t) {
     228        e.setSeconds(parseFloat(t));
     229      },
     230      u: function (e, t) {
     231        return new Date(parseFloat(t));
     232      },
     233      w: p,
     234      y: function (e, t) {
     235        e.setFullYear(2e3 + parseFloat(t));
     236      }
    197237    },
    198     H: function (e, t) {
    199       e.setHours(parseFloat(t));
     238    D = {
     239      D: "(\\w+)",
     240      F: "(\\w+)",
     241      G: "(\\d\\d|\\d)",
     242      H: "(\\d\\d|\\d)",
     243      J: "(\\d\\d|\\d)\\w+",
     244      K: "",
     245      M: "(\\w+)",
     246      S: "(\\d\\d|\\d)",
     247      U: "(.+)",
     248      W: "(\\d\\d|\\d)",
     249      Y: "(\\d{4})",
     250      Z: "(.+)",
     251      d: "(\\d\\d|\\d)",
     252      h: "(\\d\\d|\\d)",
     253      i: "(\\d\\d|\\d)",
     254      j: "(\\d\\d|\\d)",
     255      l: "(\\w+)",
     256      m: "(\\d\\d|\\d)",
     257      n: "(\\d\\d|\\d)",
     258      s: "(\\d\\d|\\d)",
     259      u: "(.+)",
     260      w: "(\\d\\d|\\d)",
     261      y: "(\\d{2})"
    200262    },
    201     J: function (e, t) {
    202       e.setDate(parseFloat(t));
     263    w = {
     264      Z: function (e) {
     265        return e.toISOString();
     266      },
     267      D: function (e, t, n) {
     268        return t.weekdays.shorthand[w.w(e, t, n)];
     269      },
     270      F: function (e, t, n) {
     271        return h(w.n(e, t, n) - 1, !1, t);
     272      },
     273      G: function (e, t, n) {
     274        return o(w.h(e, t, n));
     275      },
     276      H: function (e) {
     277        return o(e.getHours());
     278      },
     279      J: function (e, t) {
     280        return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate();
     281      },
     282      K: function (e, t) {
     283        return t.amPM[r(e.getHours() > 11)];
     284      },
     285      M: function (e, t) {
     286        return h(e.getMonth(), !0, t);
     287      },
     288      S: function (e) {
     289        return o(e.getSeconds());
     290      },
     291      U: function (e) {
     292        return e.getTime() / 1e3;
     293      },
     294      W: function (e, t, n) {
     295        return n.getWeek(e);
     296      },
     297      Y: function (e) {
     298        return o(e.getFullYear(), 4);
     299      },
     300      d: function (e) {
     301        return o(e.getDate());
     302      },
     303      h: function (e) {
     304        return e.getHours() % 12 ? e.getHours() % 12 : 12;
     305      },
     306      i: function (e) {
     307        return o(e.getMinutes());
     308      },
     309      j: function (e) {
     310        return e.getDate();
     311      },
     312      l: function (e, t) {
     313        return t.weekdays.longhand[e.getDay()];
     314      },
     315      m: function (e) {
     316        return o(e.getMonth() + 1);
     317      },
     318      n: function (e) {
     319        return e.getMonth() + 1;
     320      },
     321      s: function (e) {
     322        return e.getSeconds();
     323      },
     324      u: function (e) {
     325        return e.getTime();
     326      },
     327      w: function (e) {
     328        return e.getDay();
     329      },
     330      y: function (e) {
     331        return String(e.getFullYear()).substring(2);
     332      }
    203333    },
    204     K: function (e, t, n) {
    205       e.setHours(e.getHours() % 12 + 12 * r(new RegExp(n.amPM[1], "i").test(t)));
    206     },
    207     M: function (e, t, n) {
    208       e.setMonth(n.months.shorthand.indexOf(t));
    209     },
    210     S: function (e, t) {
    211       e.setSeconds(parseFloat(t));
    212     },
    213     U: function (e, t) {
    214       return new Date(1e3 * parseFloat(t));
    215     },
    216     W: function (e, t, n) {
    217       var a = parseInt(t),
    218           i = new Date(e.getFullYear(), 0, 2 + 7 * (a - 1), 0, 0, 0, 0);
    219       return i.setDate(i.getDate() - i.getDay() + n.firstDayOfWeek), i;
    220     },
    221     Y: function (e, t) {
    222       e.setFullYear(parseFloat(t));
    223     },
    224     Z: function (e, t) {
    225       return new Date(t);
    226     },
    227     d: function (e, t) {
    228       e.setDate(parseFloat(t));
    229     },
    230     h: function (e, t) {
    231       e.setHours(parseFloat(t));
    232     },
    233     i: function (e, t) {
    234       e.setMinutes(parseFloat(t));
    235     },
    236     j: function (e, t) {
    237       e.setDate(parseFloat(t));
    238     },
    239     l: p,
    240     m: function (e, t) {
    241       e.setMonth(parseFloat(t) - 1);
    242     },
    243     n: function (e, t) {
    244       e.setMonth(parseFloat(t) - 1);
    245     },
    246     s: function (e, t) {
    247       e.setSeconds(parseFloat(t));
    248     },
    249     u: function (e, t) {
    250       return new Date(parseFloat(t));
    251     },
    252     w: p,
    253     y: function (e, t) {
    254       e.setFullYear(2e3 + parseFloat(t));
    255     }
    256   },
    257       D = {
    258     D: "(\\w+)",
    259     F: "(\\w+)",
    260     G: "(\\d\\d|\\d)",
    261     H: "(\\d\\d|\\d)",
    262     J: "(\\d\\d|\\d)\\w+",
    263     K: "",
    264     M: "(\\w+)",
    265     S: "(\\d\\d|\\d)",
    266     U: "(.+)",
    267     W: "(\\d\\d|\\d)",
    268     Y: "(\\d{4})",
    269     Z: "(.+)",
    270     d: "(\\d\\d|\\d)",
    271     h: "(\\d\\d|\\d)",
    272     i: "(\\d\\d|\\d)",
    273     j: "(\\d\\d|\\d)",
    274     l: "(\\w+)",
    275     m: "(\\d\\d|\\d)",
    276     n: "(\\d\\d|\\d)",
    277     s: "(\\d\\d|\\d)",
    278     u: "(.+)",
    279     w: "(\\d\\d|\\d)",
    280     y: "(\\d{2})"
    281   },
    282       w = {
    283     Z: function (e) {
    284       return e.toISOString();
    285     },
    286     D: function (e, t, n) {
    287       return t.weekdays.shorthand[w.w(e, t, n)];
    288     },
    289     F: function (e, t, n) {
    290       return h(w.n(e, t, n) - 1, !1, t);
    291     },
    292     G: function (e, t, n) {
    293       return o(w.h(e, t, n));
    294     },
    295     H: function (e) {
    296       return o(e.getHours());
    297     },
    298     J: function (e, t) {
    299       return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate();
    300     },
    301     K: function (e, t) {
    302       return t.amPM[r(e.getHours() > 11)];
    303     },
    304     M: function (e, t) {
    305       return h(e.getMonth(), !0, t);
    306     },
    307     S: function (e) {
    308       return o(e.getSeconds());
    309     },
    310     U: function (e) {
    311       return e.getTime() / 1e3;
    312     },
    313     W: function (e, t, n) {
    314       return n.getWeek(e);
    315     },
    316     Y: function (e) {
    317       return o(e.getFullYear(), 4);
    318     },
    319     d: function (e) {
    320       return o(e.getDate());
    321     },
    322     h: function (e) {
    323       return e.getHours() % 12 ? e.getHours() % 12 : 12;
    324     },
    325     i: function (e) {
    326       return o(e.getMinutes());
    327     },
    328     j: function (e) {
    329       return e.getDate();
    330     },
    331     l: function (e, t) {
    332       return t.weekdays.longhand[e.getDay()];
    333     },
    334     m: function (e) {
    335       return o(e.getMonth() + 1);
    336     },
    337     n: function (e) {
    338       return e.getMonth() + 1;
    339     },
    340     s: function (e) {
    341       return e.getSeconds();
    342     },
    343     u: function (e) {
    344       return e.getTime();
    345     },
    346     w: function (e) {
    347       return e.getDay();
    348     },
    349     y: function (e) {
    350       return String(e.getFullYear()).substring(2);
    351     }
    352   },
    353       b = function (e) {
    354     var t = e.config,
     334    b = function (e) {
     335      var t = e.config,
    355336        n = void 0 === t ? a : t,
    356337        o = e.l10n,
     
    358339        l = e.isMobile,
    359340        c = void 0 !== l && l;
    360     return function (e, t, a) {
    361       var i = a || r;
    362       return void 0 === n.formatDate || c ? t.split("").map(function (t, a, o) {
    363         return w[t] && "\\" !== o[a - 1] ? w[t](e, i, n) : "\\" !== t ? t : "";
    364       }).join("") : n.formatDate(e, t, i);
    365     };
    366   },
    367       C = function (e) {
    368     var t = e.config,
     341      return function (e, t, a) {
     342        var i = a || r;
     343        return void 0 === n.formatDate || c ? t.split("").map(function (t, a, o) {
     344          return w[t] && "\\" !== o[a - 1] ? w[t](e, i, n) : "\\" !== t ? t : "";
     345        }).join("") : n.formatDate(e, t, i);
     346      };
     347    },
     348    C = function (e) {
     349      var t = e.config,
    369350        n = void 0 === t ? a : t,
    370351        o = e.l10n,
    371352        r = void 0 === o ? i : o;
    372     return function (e, t, i, o) {
    373       if (0 === e || e) {
    374         var l,
     353      return function (e, t, i, o) {
     354        if (0 === e || e) {
     355          var l,
    375356            c = o || r,
    376357            d = e;
    377         if (e instanceof Date) l = new Date(e.getTime());else if ("string" != typeof e && void 0 !== e.toFixed) l = new Date(e);else if ("string" == typeof e) {
    378           var s = t || (n || a).dateFormat,
     358          if (e instanceof Date) l = new Date(e.getTime());else if ("string" != typeof e && void 0 !== e.toFixed) l = new Date(e);else if ("string" == typeof e) {
     359            var s = t || (n || a).dateFormat,
    379360              u = String(e).trim();
    380           if ("today" === u) l = new Date(), i = !0;else if (/Z$/.test(u) || /GMT$/.test(u)) l = new Date(e);else if (n && n.parseDate) l = n.parseDate(e, s);else {
    381             l = n && n.noCalendar ? new Date(new Date().setHours(0, 0, 0, 0)) : new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0);
    382 
    383             for (var f = void 0, m = [], g = 0, p = 0, h = ""; g < s.length; g++) {
    384               var w = s[g],
     361            if ("today" === u) l = new Date(), i = !0;else if (/Z$/.test(u) || /GMT$/.test(u)) l = new Date(e);else if (n && n.parseDate) l = n.parseDate(e, s);else {
     362              l = n && n.noCalendar ? new Date(new Date().setHours(0, 0, 0, 0)) : new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0);
     363              for (var f = void 0, m = [], g = 0, p = 0, h = ""; g < s.length; g++) {
     364                var w = s[g],
    385365                  b = "\\" === w,
    386366                  C = "\\" === s[g - 1] || b;
    387 
    388               if (D[w] && !C) {
    389                 h += D[w];
    390                 var M = new RegExp(h).exec(e);
    391                 M && (f = !0) && m["Y" !== w ? "push" : "unshift"]({
    392                   fn: v[w],
    393                   val: M[++p]
     367                if (D[w] && !C) {
     368                  h += D[w];
     369                  var M = new RegExp(h).exec(e);
     370                  M && (f = !0) && m["Y" !== w ? "push" : "unshift"]({
     371                    fn: v[w],
     372                    val: M[++p]
     373                  });
     374                } else b || (h += ".");
     375                m.forEach(function (e) {
     376                  var t = e.fn,
     377                    n = e.val;
     378                  return l = t(l, n, c) || l;
    394379                });
    395               } else b || (h += ".");
    396 
    397               m.forEach(function (e) {
    398                 var t = e.fn,
    399                     n = e.val;
    400                 return l = t(l, n, c) || l;
    401               });
     380              }
     381              l = f ? l : void 0;
    402382            }
    403 
    404             l = f ? l : void 0;
    405383          }
    406         }
    407         if (l instanceof Date && !isNaN(l.getTime())) return !0 === i && l.setHours(0, 0, 0, 0), l;
    408         n.errorHandler(new Error("Invalid date provided: " + d));
    409       }
     384          if (l instanceof Date && !isNaN(l.getTime())) return !0 === i && l.setHours(0, 0, 0, 0), l;
     385          n.errorHandler(new Error("Invalid date provided: " + d));
     386        }
     387      };
    410388    };
    411   };
    412 
    413389  function M(e, t, n) {
    414390    return void 0 === n && (n = !0), !1 !== n ? new Date(e.getTime()).setHours(0, 0, 0, 0) - new Date(t.getTime()).setHours(0, 0, 0, 0) : e.getTime() - t.getTime();
    415391  }
    416 
    417392  var y = 864e5;
    418 
    419393  function x(e) {
    420394    var t = e.defaultHour,
    421         n = e.defaultMinute,
    422         a = e.defaultSeconds;
    423 
     395      n = e.defaultMinute,
     396      a = e.defaultSeconds;
    424397    if (void 0 !== e.minDate) {
    425398      var i = e.minDate.getHours(),
    426           o = e.minDate.getMinutes(),
    427           r = e.minDate.getSeconds();
     399        o = e.minDate.getMinutes(),
     400        r = e.minDate.getSeconds();
    428401      t < i && (t = i), t === i && n < o && (n = o), t === i && n === o && a < r && (a = e.minDate.getSeconds());
    429402    }
    430 
    431403    if (void 0 !== e.maxDate) {
    432404      var l = e.maxDate.getHours(),
    433           c = e.maxDate.getMinutes();
     405        c = e.maxDate.getMinutes();
    434406      (t = Math.min(t, l)) === l && (n = Math.min(c, n)), t === l && n === c && (a = e.maxDate.getSeconds());
    435407    }
    436 
    437408    return {
    438409      hours: t,
     
    441412    };
    442413  }
    443 
    444414  "function" != typeof Object.assign && (Object.assign = function (e) {
    445415    for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
    446 
    447416    if (!e) throw TypeError("Cannot convert undefined or null to object");
    448 
    449417    for (var a = function (t) {
    450       t && Object.keys(t).forEach(function (n) {
    451         return e[n] = t[n];
    452       });
    453     }, i = 0, o = t; i < o.length; i++) {
     418        t && Object.keys(t).forEach(function (n) {
     419          return e[n] = t[n];
     420        });
     421      }, i = 0, o = t; i < o.length; i++) {
    454422      var r = o[i];
    455423      a(r);
    456424    }
    457 
    458425    return e;
    459426  });
    460 
    461427  function E(p, v) {
    462428    var w = {
     
    464430      l10n: i
    465431    };
    466 
    467432    function E(e) {
    468433      return e.bind(w);
    469434    }
    470 
    471435    function k() {
    472436      var e = w.config;
     
    478442      });
    479443    }
    480 
    481444    function I(e) {
    482445      if (0 === w.selectedDates.length) {
    483446        var t = void 0 === w.config.minDate || M(new Date(), w.config.minDate) >= 0 ? new Date() : new Date(w.config.minDate.getTime()),
    484             n = x(w.config);
     447          n = x(w.config);
    485448        t.setHours(n.hours, n.minutes, n.seconds, t.getMilliseconds()), w.selectedDates = [t], w.latestSelectedDateObj = t;
    486449      }
    487 
    488450      void 0 !== e && "blur" !== e.type && function (e) {
    489451        e.preventDefault();
    490452        var t = "keydown" === e.type,
    491             n = g(e),
    492             a = n;
     453          n = g(e),
     454          a = n;
    493455        void 0 !== w.amPM && n === w.amPM && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]);
    494456        var i = parseFloat(a.getAttribute("min")),
    495             l = parseFloat(a.getAttribute("max")),
    496             c = parseFloat(a.getAttribute("step")),
    497             d = parseInt(a.value, 10),
    498             s = e.delta || (t ? 38 === e.which ? 1 : -1 : 0),
    499             u = d + c * s;
    500 
     457          l = parseFloat(a.getAttribute("max")),
     458          c = parseFloat(a.getAttribute("step")),
     459          d = parseInt(a.value, 10),
     460          s = e.delta || (t ? 38 === e.which ? 1 : -1 : 0),
     461          u = d + c * s;
    501462        if (void 0 !== a.value && 2 === a.value.length) {
    502463          var f = a === w.hourElement,
    503               m = a === w.minuteElement;
     464            m = a === w.minuteElement;
    504465          u < i ? (u = l + u + r(!f) + (r(f) && r(!w.amPM)), m && j(void 0, -1, w.hourElement)) : u > l && (u = a === w.hourElement ? u - l - r(!w.amPM) : i, m && j(void 0, 1, w.hourElement)), w.amPM && f && (1 === c ? u + d === 23 : Math.abs(u - d) > c) && (w.amPM.textContent = w.l10n.amPM[r(w.amPM.textContent === w.l10n.amPM[0])]), a.value = o(u);
    505466        }
     
    508469      S(), be(), w._input.value !== a && w._debouncedChange();
    509470    }
    510 
    511471    function S() {
    512472      if (void 0 !== w.hourElement && void 0 !== w.minuteElement) {
    513473        var e,
    514             t,
    515             n = (parseInt(w.hourElement.value.slice(-2), 10) || 0) % 24,
    516             a = (parseInt(w.minuteElement.value, 10) || 0) % 60,
    517             i = void 0 !== w.secondElement ? (parseInt(w.secondElement.value, 10) || 0) % 60 : 0;
     474          t,
     475          n = (parseInt(w.hourElement.value.slice(-2), 10) || 0) % 24,
     476          a = (parseInt(w.minuteElement.value, 10) || 0) % 60,
     477          i = void 0 !== w.secondElement ? (parseInt(w.secondElement.value, 10) || 0) % 60 : 0;
    518478        void 0 !== w.amPM && (e = n, t = w.amPM.textContent, n = e % 12 + 12 * r(t === w.l10n.amPM[1]));
    519479        var o = void 0 !== w.config.minTime || w.config.minDate && w.minDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.minDate, !0);
    520 
    521480        if (void 0 !== w.config.maxTime || w.config.maxDate && w.maxDateHasTime && w.latestSelectedDateObj && 0 === M(w.latestSelectedDateObj, w.config.maxDate, !0)) {
    522481          var l = void 0 !== w.config.maxTime ? w.config.maxTime : w.config.maxDate;
    523482          (n = Math.min(n, l.getHours())) === l.getHours() && (a = Math.min(a, l.getMinutes())), a === l.getMinutes() && (i = Math.min(i, l.getSeconds()));
    524483        }
    525 
    526484        if (o) {
    527485          var c = void 0 !== w.config.minTime ? w.config.minTime : w.config.minDate;
    528486          (n = Math.max(n, c.getHours())) === c.getHours() && a < c.getMinutes() && (a = c.getMinutes()), a === c.getMinutes() && (i = Math.max(i, c.getSeconds()));
    529487        }
    530 
    531488        O(n, a, i);
    532489      }
    533490    }
    534 
    535491    function _(e) {
    536492      var t = e || w.latestSelectedDateObj;
    537493      t && O(t.getHours(), t.getMinutes(), t.getSeconds());
    538494    }
    539 
    540495    function O(e, t, n) {
    541496      void 0 !== w.latestSelectedDateObj && w.latestSelectedDateObj.setHours(e % 24, t, n || 0, 0), w.hourElement && w.minuteElement && !w.isMobile && (w.hourElement.value = o(w.config.time_24hr ? e : (12 + e) % 12 + 12 * r(e % 12 == 0)), w.minuteElement.value = o(t), void 0 !== w.amPM && (w.amPM.textContent = w.l10n.amPM[r(e >= 12)]), void 0 !== w.secondElement && (w.secondElement.value = o(n)));
    542497    }
    543 
    544498    function F(e) {
    545499      var t = g(e),
    546           n = parseInt(t.value) + (e.delta || 0);
     500        n = parseInt(t.value) + (e.delta || 0);
    547501      (n / 1e3 > 1 || "Enter" === e.key && !/[^\d]/.test(n.toString())) && Q(n);
    548502    }
    549 
    550503    function A(e, t, n, a) {
    551504      return t instanceof Array ? t.forEach(function (t) {
     
    559512      }));
    560513    }
    561 
    562514    function N() {
    563515      pe("onChange");
    564516    }
    565 
    566517    function P(e, t) {
    567518      var n = void 0 !== e ? w.parseDate(e) : w.latestSelectedDateObj || (w.config.minDate && w.config.minDate > w.now ? w.config.minDate : w.config.maxDate && w.config.maxDate < w.now ? w.config.maxDate : w.now),
    568           a = w.currentYear,
    569           i = w.currentMonth;
    570 
     519        a = w.currentYear,
     520        i = w.currentMonth;
    571521      try {
    572522        void 0 !== n && (w.currentYear = n.getFullYear(), w.currentMonth = n.getMonth());
     
    574524        e.message = "Invalid date supplied: " + n, w.config.errorHandler(e);
    575525      }
    576 
    577526      t && w.currentYear !== a && (pe("onYearChange"), K()), !t || w.currentYear === a && w.currentMonth === i || pe("onMonthChange"), w.redraw();
    578527    }
    579 
    580528    function Y(e) {
    581529      var t = g(e);
    582530      ~t.className.indexOf("arrow") && j(e, t.classList.contains("arrowUp") ? 1 : -1);
    583531    }
    584 
    585532    function j(e, t, n) {
    586533      var a = e && g(e),
    587           i = n || a && a.parentNode && a.parentNode.firstChild,
    588           o = he("increment");
     534        i = n || a && a.parentNode && a.parentNode.firstChild,
     535        o = he("increment");
    589536      o.delta = t, i && i.dispatchEvent(o);
    590537    }
    591 
    592538    function H(e, t, n, a) {
    593539      var i = X(t, !0),
    594           o = s("span", "flatpickr-day " + e, t.getDate().toString());
     540        o = s("span", "flatpickr-day " + e, t.getDate().toString());
    595541      return o.dateObj = t, o.$i = a, o.setAttribute("aria-label", w.formatDate(t, w.config.ariaDateFormat)), -1 === e.indexOf("hidden") && 0 === M(t, w.now) && (w.todayDateElem = o, o.classList.add("today"), o.setAttribute("aria-current", "date")), i ? (o.tabIndex = -1, ve(t) && (o.classList.add("selected"), w.selectedDateElem = o, "range" === w.config.mode && (d(o, "startRange", w.selectedDates[0] && 0 === M(t, w.selectedDates[0], !0)), d(o, "endRange", w.selectedDates[1] && 0 === M(t, w.selectedDates[1], !0)), "nextMonthDay" === e && o.classList.add("inRange")))) : o.classList.add("flatpickr-disabled"), "range" === w.config.mode && function (e) {
    596542        return !("range" !== w.config.mode || w.selectedDates.length < 2) && M(e, w.selectedDates[0]) >= 0 && M(e, w.selectedDates[1]) <= 0;
    597543      }(t) && !ve(t) && o.classList.add("inRange"), w.weekNumbers && 1 === w.config.showMonths && "prevMonthDay" !== e && n % 7 == 1 && w.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + w.config.getWeek(t) + "</span>"), pe("onDayCreate", o), o;
    598544    }
    599 
    600545    function L(e) {
    601546      e.focus(), "range" === w.config.mode && ae(e);
    602547    }
    603 
    604548    function W(e) {
    605549      for (var t = e > 0 ? 0 : w.config.showMonths - 1, n = e > 0 ? w.config.showMonths : -1, a = t; a != n; a += e) for (var i = w.daysContainer.children[a], o = e > 0 ? 0 : i.children.length - 1, r = e > 0 ? i.children.length : -1, l = o; l != r; l += e) {
     
    608552      }
    609553    }
    610 
    611554    function R(e, t) {
    612555      var n = ee(document.activeElement || document.body),
    613           a = void 0 !== e ? e : n ? document.activeElement : void 0 !== w.selectedDateElem && ee(w.selectedDateElem) ? w.selectedDateElem : void 0 !== w.todayDateElem && ee(w.todayDateElem) ? w.todayDateElem : W(t > 0 ? 1 : -1);
     556        a = void 0 !== e ? e : n ? document.activeElement : void 0 !== w.selectedDateElem && ee(w.selectedDateElem) ? w.selectedDateElem : void 0 !== w.todayDateElem && ee(w.todayDateElem) ? w.todayDateElem : W(t > 0 ? 1 : -1);
    614557      void 0 === a ? w._input.focus() : n ? function (e, t) {
    615558        for (var n = -1 === e.className.indexOf("Month") ? e.dateObj.getMonth() : w.currentMonth, a = t > 0 ? w.config.showMonths : -1, i = t > 0 ? 1 : -1, o = n - w.currentMonth; o != a; o += i) for (var r = w.daysContainer.children[o], l = n - w.currentMonth === o ? e.$i + t : t < 0 ? r.children.length - 1 : 0, c = r.children.length, d = l; d >= 0 && d < c && d != (t > 0 ? c : -1); d += i) {
     
    617560          if (-1 === s.className.indexOf("hidden") && X(s.dateObj) && Math.abs(e.$i - d) >= Math.abs(t)) return L(s);
    618561        }
    619 
    620562        w.changeMonth(i), R(W(i), 0);
    621563      }(a, t) : L(a);
    622564    }
    623 
    624565    function B(e, t) {
    625566      for (var n = (new Date(e, t, 1).getDay() - w.l10n.firstDayOfWeek + 7) % 7, a = w.utils.getDaysInMonth((t - 1 + 12) % 12, e), i = w.utils.getDaysInMonth(t, e), o = window.document.createDocumentFragment(), r = w.config.showMonths > 1, l = r ? "prevMonthDay hidden" : "prevMonthDay", c = r ? "nextMonthDay hidden" : "nextMonthDay", d = a + 1 - n, u = 0; d <= a; d++, u++) o.appendChild(H(l, new Date(e, t - 1, d), d, u));
    626 
    627567      for (d = 1; d <= i; d++, u++) o.appendChild(H("", new Date(e, t, d), d, u));
    628 
    629568      for (var f = i + 1; f <= 42 - n && (1 === w.config.showMonths || u % 7 != 0); f++, u++) o.appendChild(H(c, new Date(e, t + 1, f % i), f, u));
    630 
    631569      var m = s("div", "dayContainer");
    632570      return m.appendChild(o), m;
    633571    }
    634 
    635572    function J() {
    636573      if (void 0 !== w.daysContainer) {
    637574        u(w.daysContainer), w.weekNumbers && u(w.weekNumbers);
    638 
    639575        for (var e = document.createDocumentFragment(), t = 0; t < w.config.showMonths; t++) {
    640576          var n = new Date(w.currentYear, w.currentMonth, 1);
    641577          n.setMonth(w.currentMonth + t), e.appendChild(B(n.getFullYear(), n.getMonth()));
    642578        }
    643 
    644579        w.daysContainer.appendChild(e), w.days = w.daysContainer.firstChild, "range" === w.config.mode && 1 === w.selectedDates.length && ae();
    645580      }
    646581    }
    647 
    648582    function K() {
    649583      if (!(w.config.showMonths > 1 || "dropdown" !== w.config.monthSelectorType)) {
     
    651585          return !(void 0 !== w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && e < w.config.minDate.getMonth()) && !(void 0 !== w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() && e > w.config.maxDate.getMonth());
    652586        };
    653 
    654587        w.monthsDropdownContainer.tabIndex = -1, w.monthsDropdownContainer.innerHTML = "";
    655 
    656588        for (var t = 0; t < 12; t++) if (e(t)) {
    657589          var n = s("option", "flatpickr-monthDropdown-month");
     
    660592      }
    661593    }
    662 
    663594    function U() {
    664595      var e,
    665           t = s("div", "flatpickr-month"),
    666           n = window.document.createDocumentFragment();
     596        t = s("div", "flatpickr-month"),
     597        n = window.document.createDocumentFragment();
    667598      w.config.showMonths > 1 || "static" === w.config.monthSelectorType ? e = s("span", "cur-month") : (w.monthsDropdownContainer = s("select", "flatpickr-monthDropdown-months"), w.monthsDropdownContainer.setAttribute("aria-label", w.l10n.monthAriaLabel), A(w.monthsDropdownContainer, "change", function (e) {
    668599        var t = g(e),
    669             n = parseInt(t.value, 10);
     600          n = parseInt(t.value, 10);
    670601        w.changeMonth(n - w.currentMonth), pe("onMonthChange");
    671602      }), K(), e = w.monthsDropdownContainer);
    672603      var a = m("cur-year", {
    673         tabindex: "-1"
    674       }),
    675           i = a.getElementsByTagName("input")[0];
     604          tabindex: "-1"
     605        }),
     606        i = a.getElementsByTagName("input")[0];
    676607      i.setAttribute("aria-label", w.l10n.yearAriaLabel), w.config.minDate && i.setAttribute("min", w.config.minDate.getFullYear().toString()), w.config.maxDate && (i.setAttribute("max", w.config.maxDate.getFullYear().toString()), i.disabled = !!w.config.minDate && w.config.minDate.getFullYear() === w.config.maxDate.getFullYear());
    677608      var o = s("div", "flatpickr-current-month");
     
    682613      };
    683614    }
    684 
    685615    function q() {
    686616      u(w.monthNav), w.monthNav.appendChild(w.prevMonthNav), w.config.showMonths && (w.yearElements = [], w.monthElements = []);
    687 
    688617      for (var e = w.config.showMonths; e--;) {
    689618        var t = U();
    690619        w.yearElements.push(t.yearElement), w.monthElements.push(t.monthElement), w.monthNav.appendChild(t.container);
    691620      }
    692 
    693621      w.monthNav.appendChild(w.nextMonthNav);
    694622    }
    695 
    696623    function $() {
    697624      w.weekdayContainer ? u(w.weekdayContainer) : w.weekdayContainer = s("div", "flatpickr-weekdays");
    698 
    699625      for (var e = w.config.showMonths; e--;) {
    700626        var t = s("div", "flatpickr-weekdaycontainer");
    701627        w.weekdayContainer.appendChild(t);
    702628      }
    703 
    704629      return z(), w.weekdayContainer;
    705630    }
    706 
    707631    function z() {
    708632      if (w.weekdayContainer) {
    709633        var e = w.l10n.firstDayOfWeek,
    710             n = t(w.l10n.weekdays.shorthand);
     634          n = t(w.l10n.weekdays.shorthand);
    711635        e > 0 && e < n.length && (n = t(n.splice(e, n.length), n.splice(0, e)));
    712 
    713636        for (var a = w.config.showMonths; a--;) w.weekdayContainer.children[a].innerHTML = "\n      <span class='flatpickr-weekday'>\n        " + n.join("</span><span class='flatpickr-weekday'>") + "\n      </span>\n      ";
    714637      }
    715638    }
    716 
    717639    function G(e, t) {
    718640      void 0 === t && (t = !0);
     
    720642      n < 0 && !0 === w._hidePrevMonthArrow || n > 0 && !0 === w._hideNextMonthArrow || (w.currentMonth += n, (w.currentMonth < 0 || w.currentMonth > 11) && (w.currentYear += w.currentMonth > 11 ? 1 : -1, w.currentMonth = (w.currentMonth + 12) % 12, pe("onYearChange"), K()), J(), pe("onMonthChange"), De());
    721643    }
    722 
    723644    function V(e) {
    724645      return !(!w.config.appendTo || !w.config.appendTo.contains(e)) || w.calendarContainer.contains(e);
    725646    }
    726 
    727647    function Z(e) {
    728648      if (w.isOpen && !w.config.inline) {
    729649        var t = g(e),
    730             n = V(t),
    731             a = t === w.input || t === w.altInput || w.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(w.input) || ~e.path.indexOf(w.altInput)),
    732             i = "blur" === e.type ? a && e.relatedTarget && !V(e.relatedTarget) : !a && !n && !V(e.relatedTarget),
    733             o = !w.config.ignoredFocusElements.some(function (e) {
    734           return e.contains(t);
    735         });
     650          n = V(t),
     651          a = t === w.input || t === w.altInput || w.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(w.input) || ~e.path.indexOf(w.altInput)),
     652          i = "blur" === e.type ? a && e.relatedTarget && !V(e.relatedTarget) : !a && !n && !V(e.relatedTarget),
     653          o = !w.config.ignoredFocusElements.some(function (e) {
     654            return e.contains(t);
     655          });
    736656        i && o && (void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement && "" !== w.input.value && void 0 !== w.input.value && I(), w.close(), w.config && "range" === w.config.mode && 1 === w.selectedDates.length && (w.clear(!1), w.redraw()));
    737657      }
    738658    }
    739 
    740659    function Q(e) {
    741660      if (!(!e || w.config.minDate && e < w.config.minDate.getFullYear() || w.config.maxDate && e > w.config.maxDate.getFullYear())) {
    742661        var t = e,
    743             n = w.currentYear !== t;
     662          n = w.currentYear !== t;
    744663        w.currentYear = t || w.currentYear, w.config.maxDate && w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth = Math.min(w.config.maxDate.getMonth(), w.currentMonth) : w.config.minDate && w.currentYear === w.config.minDate.getFullYear() && (w.currentMonth = Math.max(w.config.minDate.getMonth(), w.currentMonth)), n && (w.redraw(), pe("onYearChange"), K());
    745664      }
    746665    }
    747 
    748666    function X(e, t) {
    749667      var n;
     
    753671      if (!w.config.enable && 0 === w.config.disable.length) return !0;
    754672      if (void 0 === a) return !1;
    755 
    756673      for (var i = !!w.config.enable, o = null !== (n = w.config.enable) && void 0 !== n ? n : w.config.disable, r = 0, l = void 0; r < o.length; r++) {
    757674        if ("function" == typeof (l = o[r]) && l(a)) return i;
    758675        if (l instanceof Date && void 0 !== a && l.getTime() === a.getTime()) return i;
    759 
    760676        if ("string" == typeof l) {
    761677          var c = w.parseDate(l, void 0, !0);
    762678          return c && c.getTime() === a.getTime() ? i : !i;
    763679        }
    764 
    765680        if ("object" == typeof l && void 0 !== a && l.from && l.to && a.getTime() >= l.from.getTime() && a.getTime() <= l.to.getTime()) return i;
    766681      }
    767 
    768682      return !i;
    769683    }
    770 
    771684    function ee(e) {
    772685      return void 0 !== w.daysContainer && -1 === e.className.indexOf("hidden") && -1 === e.className.indexOf("flatpickr-disabled") && w.daysContainer.contains(e);
    773686    }
    774 
    775687    function te(e) {
    776688      !(e.target === w._input) || !(w.selectedDates.length > 0 || w._input.value.length > 0) || e.relatedTarget && V(e.relatedTarget) || w.setDate(w._input.value, !0, e.target === w.altInput ? w.config.altFormat : w.config.dateFormat);
    777689    }
    778 
    779690    function ne(e) {
    780691      var t = g(e),
    781           n = w.config.wrap ? p.contains(t) : t === w._input,
    782           a = w.config.allowInput,
    783           i = w.isOpen && (!a || !n),
    784           o = w.config.inline && n && !a;
    785 
     692        n = w.config.wrap ? p.contains(t) : t === w._input,
     693        a = w.config.allowInput,
     694        i = w.isOpen && (!a || !n),
     695        o = w.config.inline && n && !a;
    786696      if (13 === e.keyCode && n) {
    787697        if (a) return w.setDate(w._input.value, !0, t === w.altInput ? w.config.altFormat : w.config.dateFormat), t.blur();
     
    789699      } else if (V(t) || i || o) {
    790700        var r = !!w.timeContainer && w.timeContainer.contains(t);
    791 
    792701        switch (e.keyCode) {
    793702          case 13:
    794703            r ? (e.preventDefault(), I(), se()) : ue(e);
    795704            break;
    796 
    797705          case 27:
    798706            e.preventDefault(), se();
    799707            break;
    800 
    801708          case 8:
    802709          case 46:
    803710            n && !w.config.allowInput && (e.preventDefault(), w.clear());
    804711            break;
    805 
    806712          case 37:
    807713          case 39:
     
    811717            }
    812718            break;
    813 
    814719          case 38:
    815720          case 40:
     
    818723            w.daysContainer && void 0 !== t.$i || t === w.input || t === w.altInput ? e.ctrlKey ? (e.stopPropagation(), Q(w.currentYear - c), R(W(1), 0)) : r || R(void 0, 7 * c) : t === w.currentYearElement ? Q(w.currentYear - c) : w.config.enableTime && (!r && w.hourElement && w.hourElement.focus(), I(e), w._debouncedChange());
    819724            break;
    820 
    821725          case 9:
    822726            if (r) {
    823727              var d = [w.hourElement, w.minuteElement, w.secondElement, w.amPM].concat(w.pluginElements).filter(function (e) {
    824                 return e;
    825               }),
    826                   s = d.indexOf(t);
    827 
     728                  return e;
     729                }),
     730                s = d.indexOf(t);
    828731              if (-1 !== s) {
    829732                var u = d[s + (e.shiftKey ? -1 : 1)];
     
    831734              }
    832735            } else !w.config.noCalendar && w.daysContainer && w.daysContainer.contains(t) && e.shiftKey && (e.preventDefault(), w._input.focus());
    833 
    834         }
    835       }
    836 
     736        }
     737      }
    837738      if (void 0 !== w.amPM && t === w.amPM) switch (e.key) {
    838739        case w.l10n.amPM[0].charAt(0):
     
    840741          w.amPM.textContent = w.l10n.amPM[0], S(), be();
    841742          break;
    842 
    843743        case w.l10n.amPM[1].charAt(0):
    844744        case w.l10n.amPM[1].charAt(0).toLowerCase():
     
    847747      (n || V(t)) && pe("onKeyDown", e);
    848748    }
    849 
    850749    function ae(e) {
    851750      if (1 === w.selectedDates.length && (!e || e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled"))) {
    852751        for (var t = e ? e.dateObj.getTime() : w.days.firstElementChild.dateObj.getTime(), n = w.parseDate(w.selectedDates[0], void 0, !0).getTime(), a = Math.min(t, w.selectedDates[0].getTime()), i = Math.max(t, w.selectedDates[0].getTime()), o = !1, r = 0, l = 0, c = a; c < i; c += y) X(new Date(c), !0) || (o = o || c > a && c < i, c < n && (!r || c > r) ? r = c : c > n && (!l || c < l) && (l = c));
    853 
    854752        for (var d = 0; d < w.config.showMonths; d++) for (var s = w.daysContainer.children[d], u = function (a, i) {
    855           var c,
     753            var c,
    856754              d,
    857755              u,
     
    859757              m = f.dateObj.getTime(),
    860758              g = r > 0 && m < r || l > 0 && m > l;
    861           return g ? (f.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function (e) {
    862             f.classList.remove(e);
    863           }), "continue") : o && !g ? "continue" : (["startRange", "inRange", "endRange", "notAllowed"].forEach(function (e) {
    864             f.classList.remove(e);
    865           }), void (void 0 !== e && (e.classList.add(t <= w.selectedDates[0].getTime() ? "startRange" : "endRange"), n < t && m === n ? f.classList.add("startRange") : n > t && m === n && f.classList.add("endRange"), m >= r && (0 === l || m <= l) && (d = n, u = t, (c = m) > Math.min(d, u) && c < Math.max(d, u)) && f.classList.add("inRange"))));
    866         }, f = 0, m = s.children.length; f < m; f++) u(f);
    867       }
    868     }
    869 
     759            return g ? (f.classList.add("notAllowed"), ["inRange", "startRange", "endRange"].forEach(function (e) {
     760              f.classList.remove(e);
     761            }), "continue") : o && !g ? "continue" : (["startRange", "inRange", "endRange", "notAllowed"].forEach(function (e) {
     762              f.classList.remove(e);
     763            }), void (void 0 !== e && (e.classList.add(t <= w.selectedDates[0].getTime() ? "startRange" : "endRange"), n < t && m === n ? f.classList.add("startRange") : n > t && m === n && f.classList.add("endRange"), m >= r && (0 === l || m <= l) && (d = n, u = t, (c = m) > Math.min(d, u) && c < Math.max(d, u)) && f.classList.add("inRange"))));
     764          }, f = 0, m = s.children.length; f < m; f++) u(f);
     765      }
     766    }
    870767    function ie() {
    871768      !w.isOpen || w.config.static || w.config.inline || ce();
    872769    }
    873 
    874770    function oe(e) {
    875771      return function (t) {
    876772        var n = w.config["_" + e + "Date"] = w.parseDate(t, w.config.dateFormat),
    877             a = w.config["_" + ("min" === e ? "max" : "min") + "Date"];
     773          a = w.config["_" + ("min" === e ? "max" : "min") + "Date"];
    878774        void 0 !== n && (w["min" === e ? "minDateHasTime" : "maxDateHasTime"] = n.getHours() > 0 || n.getMinutes() > 0 || n.getSeconds() > 0), w.selectedDates && (w.selectedDates = w.selectedDates.filter(function (e) {
    879775          return X(e);
     
    881777      };
    882778    }
    883 
    884779    function re() {
    885780      return w.config.wrap ? p.querySelector("[data-input]") : p;
    886781    }
    887 
    888782    function le() {
    889783      "object" != typeof w.config.locale && void 0 === T.l10ns[w.config.locale] && w.config.errorHandler(new Error("flatpickr: invalid locale " + w.config.locale)), w.l10n = e(e({}, T.l10ns.default), "object" == typeof w.config.locale ? w.config.locale : "default" !== w.config.locale ? T.l10ns[w.config.locale] : void 0), D.K = "(" + w.l10n.amPM[0] + "|" + w.l10n.amPM[1] + "|" + w.l10n.amPM[0].toLowerCase() + "|" + w.l10n.amPM[1].toLowerCase() + ")", void 0 === e(e({}, v), JSON.parse(JSON.stringify(p.dataset || {}))).time_24hr && void 0 === T.defaultConfig.time_24hr && (w.config.time_24hr = w.l10n.time_24hr), w.formatDate = b(w), w.parseDate = C({
     
    892786      });
    893787    }
    894 
    895788    function ce(e) {
    896789      if ("function" != typeof w.config.position) {
     
    898791          pe("onPreCalendarPosition");
    899792          var t = e || w._positionElement,
    900               n = Array.prototype.reduce.call(w.calendarContainer.children, function (e, t) {
    901             return e + t.offsetHeight;
    902           }, 0),
    903               a = w.calendarContainer.offsetWidth,
    904               i = w.config.position.split(" "),
    905               o = i[0],
    906               r = i.length > 1 ? i[1] : null,
    907               l = t.getBoundingClientRect(),
    908               c = window.innerHeight - l.bottom,
    909               s = "above" === o || "below" !== o && c < n && l.top > n,
    910               u = window.pageYOffset + l.top + (s ? -n - 2 : t.offsetHeight + 2);
    911 
     793            n = Array.prototype.reduce.call(w.calendarContainer.children, function (e, t) {
     794              return e + t.offsetHeight;
     795            }, 0),
     796            a = w.calendarContainer.offsetWidth,
     797            i = w.config.position.split(" "),
     798            o = i[0],
     799            r = i.length > 1 ? i[1] : null,
     800            l = t.getBoundingClientRect(),
     801            c = window.innerHeight - l.bottom,
     802            s = "above" === o || "below" !== o && c < n && l.top > n,
     803            u = window.pageYOffset + l.top + (s ? -n - 2 : t.offsetHeight + 2);
    912804          if (d(w.calendarContainer, "arrowTop", !s), d(w.calendarContainer, "arrowBottom", s), !w.config.inline) {
    913805            var f = window.pageXOffset + l.left,
    914                 m = !1,
    915                 g = !1;
     806              m = !1,
     807              g = !1;
    916808            "center" === r ? (f -= (a - l.width) / 2, m = !0) : "right" === r && (f -= a - l.width, g = !0), d(w.calendarContainer, "arrowLeft", !m && !g), d(w.calendarContainer, "arrowCenter", m), d(w.calendarContainer, "arrowRight", g);
    917809            var p = window.document.body.offsetWidth - (window.pageXOffset + l.right),
    918                 h = f + a > window.document.body.offsetWidth,
    919                 v = p + a > window.document.body.offsetWidth;
     810              h = f + a > window.document.body.offsetWidth,
     811              v = p + a > window.document.body.offsetWidth;
    920812            if (d(w.calendarContainer, "rightMost", h), !w.config.static) if (w.calendarContainer.style.top = u + "px", h) {
    921813              if (v) {
     
    923815                  for (var e = null, t = 0; t < document.styleSheets.length; t++) {
    924816                    var n = document.styleSheets[t];
    925 
    926817                    try {
    927818                      n.cssRules;
     
    929820                      continue;
    930821                    }
    931 
    932822                    e = n;
    933823                    break;
    934824                  }
    935 
    936825                  return null != e ? e : (a = document.createElement("style"), document.head.appendChild(a), a.sheet);
    937826                  var a;
    938827                }();
    939 
    940828                if (void 0 === D) return;
    941829                var b = window.document.body.offsetWidth,
    942                     C = Math.max(0, b / 2 - a / 2),
    943                     M = D.cssRules.length,
    944                     y = "{left:" + l.left + "px;right:auto;}";
     830                  C = Math.max(0, b / 2 - a / 2),
     831                  M = D.cssRules.length,
     832                  y = "{left:" + l.left + "px;right:auto;}";
    945833                d(w.calendarContainer, "rightMost", !1), d(w.calendarContainer, "centerMost", !0), D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after" + y, M), w.calendarContainer.style.left = C + "px", w.calendarContainer.style.right = "auto";
    946834              } else w.calendarContainer.style.left = "auto", w.calendarContainer.style.right = p + "px";
     
    950838      } else w.config.position(w, e);
    951839    }
    952 
    953840    function de() {
    954841      w.config.noCalendar || w.isMobile || (K(), De(), J());
    955842    }
    956 
    957843    function se() {
    958844      w._input.focus(), -1 !== window.navigator.userAgent.indexOf("MSIE") || void 0 !== navigator.msMaxTouchPoints ? setTimeout(w.close, 0) : w.close();
    959845    }
    960 
    961846    function ue(e) {
    962847      e.preventDefault(), e.stopPropagation();
     
    964849        return e.classList && e.classList.contains("flatpickr-day") && !e.classList.contains("flatpickr-disabled") && !e.classList.contains("notAllowed");
    965850      });
    966 
    967851      if (void 0 !== t) {
    968852        var n = t,
    969             a = w.latestSelectedDateObj = new Date(n.dateObj.getTime()),
    970             i = (a.getMonth() < w.currentMonth || a.getMonth() > w.currentMonth + w.config.showMonths - 1) && "range" !== w.config.mode;
     853          a = w.latestSelectedDateObj = new Date(n.dateObj.getTime()),
     854          i = (a.getMonth() < w.currentMonth || a.getMonth() > w.currentMonth + w.config.showMonths - 1) && "range" !== w.config.mode;
    971855        if (w.selectedDateElem = n, "single" === w.config.mode) w.selectedDates = [a];else if ("multiple" === w.config.mode) {
    972856          var o = ve(a);
     
    975859          return e.getTime() - t.getTime();
    976860        }));
    977 
    978861        if (S(), i) {
    979862          var r = w.currentYear !== a.getFullYear();
    980863          w.currentYear = a.getFullYear(), w.currentMonth = a.getMonth(), r && (pe("onYearChange"), K()), pe("onMonthChange");
    981864        }
    982 
    983865        if (De(), J(), be(), i || "range" === w.config.mode || 1 !== w.config.showMonths ? void 0 !== w.selectedDateElem && void 0 === w.hourElement && w.selectedDateElem && w.selectedDateElem.focus() : L(n), void 0 !== w.hourElement && void 0 !== w.hourElement && w.hourElement.focus(), w.config.closeOnSelect) {
    984866          var l = "single" === w.config.mode && !w.config.enableTime,
    985               c = "range" === w.config.mode && 2 === w.selectedDates.length && !w.config.enableTime;
     867            c = "range" === w.config.mode && 2 === w.selectedDates.length && !w.config.enableTime;
    986868          (l || c) && se();
    987869        }
    988 
    989870        N();
    990871      }
    991872    }
    992 
    993873    w.parseDate = C({
    994874      config: w.config,
     
    1000880      void 0 !== w.mobileInput && (w.mobileInput.value = "");
    1001881      w.selectedDates = [], w.latestSelectedDateObj = void 0, !0 === t && (w.currentYear = w._initialDate.getFullYear(), w.currentMonth = w._initialDate.getMonth());
    1002 
    1003882      if (!0 === w.config.enableTime) {
    1004883        var n = x(w.config),
    1005             a = n.hours,
    1006             i = n.minutes,
    1007             o = n.seconds;
     884          a = n.hours,
     885          i = n.minutes,
     886          o = n.seconds;
    1008887        O(a, i, o);
    1009888      }
    1010 
    1011889      w.redraw(), e && pe("onChange");
    1012890    }, w.close = function () {
     
    1015893    }, w._createElement = s, w.destroy = function () {
    1016894      void 0 !== w.config && pe("onDestroy");
    1017 
    1018895      for (var e = w._handlers.length; e--;) w._handlers[e].remove();
    1019 
    1020896      if (w._handlers = [], w.mobileInput) w.mobileInput.parentNode && w.mobileInput.parentNode.removeChild(w.mobileInput), w.mobileInput = void 0;else if (w.calendarContainer && w.calendarContainer.parentNode) if (w.config.static && w.calendarContainer.parentNode) {
    1021897        var t = w.calendarContainer.parentNode;
    1022 
    1023898        if (t.lastChild && t.removeChild(t.lastChild), t.parentNode) {
    1024899          for (; t.firstChild;) t.parentNode.insertBefore(t.firstChild, t);
    1025 
    1026900          t.parentNode.removeChild(t);
    1027901        }
     
    1036910    }, w.isEnabled = X, w.jumpToDate = P, w.open = function (e, t) {
    1037911      void 0 === t && (t = w._positionElement);
    1038 
    1039912      if (!0 === w.isMobile) {
    1040913        if (e) {
     
    1043916          n && n.blur();
    1044917        }
    1045 
    1046918        return void 0 !== w.mobileInput && (w.mobileInput.focus(), w.mobileInput.click()), void pe("onOpen");
    1047919      }
    1048 
    1049920      if (w._input.disabled || w.config.inline) return;
    1050921      var a = w.isOpen;
     
    1079950      }]
    1080951    };
    1081 
    1082952    function me(e, t) {
    1083953      var n = [];
     
    1089959          n = [w.parseDate(e, t)];
    1090960          break;
    1091 
    1092961        case "multiple":
    1093962          n = e.split(w.config.conjunction).map(function (e) {
     
    1095964          });
    1096965          break;
    1097 
    1098966        case "range":
    1099967          n = e.split(w.l10n.rangeSeparator).map(function (e) {
     
    1107975      });
    1108976    }
    1109 
    1110977    function ge(e) {
    1111978      return e.slice().map(function (e) {
     
    1118985      });
    1119986    }
    1120 
    1121987    function pe(e, t) {
    1122988      if (void 0 !== w.config) {
     
    1126992      }
    1127993    }
    1128 
    1129994    function he(e) {
    1130995      var t = document.createEvent("Event");
    1131996      return t.initEvent(e, !0, !0), t;
    1132997    }
    1133 
    1134998    function ve(e) {
    1135999      for (var t = 0; t < w.selectedDates.length; t++) if (0 === M(w.selectedDates[t], e)) return "" + t;
    1136 
    11371000      return !1;
    11381001    }
    1139 
    11401002    function De() {
    11411003      w.config.noCalendar || w.isMobile || !w.monthNav || (w.yearElements.forEach(function (e, t) {
     
    11441006      }), w._hidePrevMonthArrow = void 0 !== w.config.minDate && (w.currentYear === w.config.minDate.getFullYear() ? w.currentMonth <= w.config.minDate.getMonth() : w.currentYear < w.config.minDate.getFullYear()), w._hideNextMonthArrow = void 0 !== w.config.maxDate && (w.currentYear === w.config.maxDate.getFullYear() ? w.currentMonth + 1 > w.config.maxDate.getMonth() : w.currentYear > w.config.maxDate.getFullYear()));
    11451007    }
    1146 
    11471008    function we(e) {
    11481009      return w.selectedDates.map(function (t) {
     
    11521013      }).join("range" !== w.config.mode ? w.config.conjunction : w.l10n.rangeSeparator);
    11531014    }
    1154 
    11551015    function be(e) {
    11561016      void 0 === e && (e = !0), void 0 !== w.mobileInput && w.mobileFormatStr && (w.mobileInput.value = void 0 !== w.latestSelectedDateObj ? w.formatDate(w.latestSelectedDateObj, w.mobileFormatStr) : ""), w.input.value = we(w.config.dateFormat), void 0 !== w.altInput && (w.altInput.value = we(w.config.altFormat)), !1 !== e && pe("onValueUpdate");
    11571017    }
    1158 
    11591018    function Ce(e) {
    11601019      var t = g(e),
    1161           n = w.prevMonthNav.contains(t),
    1162           a = w.nextMonthNav.contains(t);
     1020        n = w.prevMonthNav.contains(t),
     1021        a = w.nextMonthNav.contains(t);
    11631022      n || a ? G(n ? -1 : 1) : w.yearElements.indexOf(t) >= 0 ? t.select() : t.classList.contains("arrowUp") ? w.changeYear(w.currentYear + 1) : t.classList.contains("arrowDown") && w.changeYear(w.currentYear - 1);
    11641023    }
    1165 
    11661024    return function () {
    11671025      w.element = w.input = p, w.isOpen = !1, function () {
    11681026        var t = ["wrap", "weekNumbers", "allowInput", "allowInvalidPreload", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"],
    1169             i = e(e({}, JSON.parse(JSON.stringify(p.dataset || {}))), v),
    1170             o = {};
     1027          i = e(e({}, JSON.parse(JSON.stringify(p.dataset || {}))), v),
     1028          o = {};
    11711029        w.config.parseDate = i.parseDate, w.config.formatDate = i.formatDate, Object.defineProperty(w.config, "enable", {
    11721030          get: function () {
     
    11851043        });
    11861044        var r = "time" === i.mode;
    1187 
    11881045        if (!i.dateFormat && (i.enableTime || r)) {
    11891046          var l = T.defaultConfig.dateFormat || a.dateFormat;
    11901047          o.dateFormat = i.noCalendar || r ? "H:i" + (i.enableSeconds ? ":S" : "") : l + " H:i" + (i.enableSeconds ? ":S" : "");
    11911048        }
    1192 
    11931049        if (i.altInput && (i.enableTime || r) && !i.altFormat) {
    11941050          var d = T.defaultConfig.altFormat || a.altFormat;
    11951051          o.altFormat = i.noCalendar || r ? "h:i" + (i.enableSeconds ? ":S K" : " K") : d + " h:i" + (i.enableSeconds ? ":S" : "") + " K";
    11961052        }
    1197 
    11981053        Object.defineProperty(w.config, "minDate", {
    11991054          get: function () {
     
    12071062          set: oe("max")
    12081063        });
    1209 
    12101064        var s = function (e) {
    12111065          return function (t) {
     
    12131067          };
    12141068        };
    1215 
    12161069        Object.defineProperty(w.config, "minTime", {
    12171070          get: function () {
     
    12261079        }), "time" === i.mode && (w.config.noCalendar = !0, w.config.enableTime = !0);
    12271080        Object.assign(w.config, o, i);
    1228 
    12291081        for (var u = 0; u < t.length; u++) w.config[t[u]] = !0 === w.config[t[u]] || "true" === w.config[t[u]];
    1230 
    12311082        n.filter(function (e) {
    12321083          return void 0 !== w.config[e];
     
    12341085          w.config[e] = c(w.config[e] || []).map(E);
    12351086        }), w.isMobile = !w.config.disableMobile && !w.config.inline && "single" === w.config.mode && !w.config.disable.length && !w.config.enable && !w.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    1236 
    12371087        for (u = 0; u < w.config.plugins.length; u++) {
    12381088          var f = w.config.plugins[u](w) || {};
    1239 
    12401089          for (var m in f) n.indexOf(m) > -1 ? w.config[m] = c(f[m]).map(E).concat(w.config[m]) : void 0 === i[m] && (w.config[m] = f[m]);
    12411090        }
    1242 
    12431091        i.altInputClass || (w.config.altInputClass = re().className + " " + w.config.altInputClass);
    12441092        pe("onParseConfig");
     
    12621110      }, w.isMobile || function () {
    12631111        var e = window.document.createDocumentFragment();
    1264 
    12651112        if (w.calendarContainer = s("div", "flatpickr-calendar"), w.calendarContainer.tabIndex = -1, !w.config.noCalendar) {
    12661113          if (e.appendChild((w.monthNav = s("div", "flatpickr-months"), w.yearElements = [], w.monthElements = [], w.prevMonthNav = s("span", "flatpickr-prev-month"), w.prevMonthNav.innerHTML = w.config.prevArrow, w.nextMonthNav = s("span", "flatpickr-next-month"), w.nextMonthNav.innerHTML = w.config.nextArrow, q(), Object.defineProperty(w, "_hidePrevMonthArrow", {
     
    12801127          }), w.currentYearElement = w.yearElements[0], De(), w.monthNav)), w.innerContainer = s("div", "flatpickr-innerContainer"), w.config.weekNumbers) {
    12811128            var t = function () {
    1282               w.calendarContainer.classList.add("hasWeeks");
    1283               var e = s("div", "flatpickr-weekwrapper");
    1284               e.appendChild(s("span", "flatpickr-weekday", w.l10n.weekAbbreviation));
    1285               var t = s("div", "flatpickr-weeks");
    1286               return e.appendChild(t), {
    1287                 weekWrapper: e,
    1288                 weekNumbers: t
    1289               };
    1290             }(),
    1291                 n = t.weekWrapper,
    1292                 a = t.weekNumbers;
    1293 
     1129                w.calendarContainer.classList.add("hasWeeks");
     1130                var e = s("div", "flatpickr-weekwrapper");
     1131                e.appendChild(s("span", "flatpickr-weekday", w.l10n.weekAbbreviation));
     1132                var t = s("div", "flatpickr-weeks");
     1133                return e.appendChild(t), {
     1134                  weekWrapper: e,
     1135                  weekNumbers: t
     1136                };
     1137              }(),
     1138              n = t.weekWrapper,
     1139              a = t.weekNumbers;
    12941140            w.innerContainer.appendChild(n), w.weekNumbers = a, w.weekWrapper = n;
    12951141          }
    1296 
    12971142          w.rContainer = s("div", "flatpickr-rContainer"), w.rContainer.appendChild($()), w.daysContainer || (w.daysContainer = s("div", "flatpickr-days"), w.daysContainer.tabIndex = -1), J(), w.rContainer.appendChild(w.daysContainer), w.innerContainer.appendChild(w.rContainer), e.appendChild(w.innerContainer);
    12981143        }
    1299 
    13001144        w.config.enableTime && e.appendChild(function () {
    13011145          w.calendarContainer.classList.add("hasTime"), w.config.noCalendar && w.calendarContainer.classList.add("noCalendar");
     
    13031147          w.timeContainer = s("div", "flatpickr-time"), w.timeContainer.tabIndex = -1;
    13041148          var t = s("span", "flatpickr-time-separator", ":"),
    1305               n = m("flatpickr-hour", {
    1306             "aria-label": w.l10n.hourAriaLabel
    1307           });
     1149            n = m("flatpickr-hour", {
     1150              "aria-label": w.l10n.hourAriaLabel
     1151            });
    13081152          w.hourElement = n.getElementsByTagName("input")[0];
    13091153          var a = m("flatpickr-minute", {
     
    13151159              case 12:
    13161160                return 12;
    1317 
    13181161              default:
    13191162                return e % 12;
    13201163            }
    13211164          }(e.hours)), w.minuteElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getMinutes() : e.minutes), w.hourElement.setAttribute("step", w.config.hourIncrement.toString()), w.minuteElement.setAttribute("step", w.config.minuteIncrement.toString()), w.hourElement.setAttribute("min", w.config.time_24hr ? "0" : "1"), w.hourElement.setAttribute("max", w.config.time_24hr ? "23" : "12"), w.hourElement.setAttribute("maxlength", "2"), w.minuteElement.setAttribute("min", "0"), w.minuteElement.setAttribute("max", "59"), w.minuteElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(n), w.timeContainer.appendChild(t), w.timeContainer.appendChild(a), w.config.time_24hr && w.timeContainer.classList.add("time24hr");
    1322 
    13231165          if (w.config.enableSeconds) {
    13241166            w.timeContainer.classList.add("hasSeconds");
     
    13261168            w.secondElement = i.getElementsByTagName("input")[0], w.secondElement.value = o(w.latestSelectedDateObj ? w.latestSelectedDateObj.getSeconds() : e.seconds), w.secondElement.setAttribute("step", w.minuteElement.getAttribute("step")), w.secondElement.setAttribute("min", "0"), w.secondElement.setAttribute("max", "59"), w.secondElement.setAttribute("maxlength", "2"), w.timeContainer.appendChild(s("span", "flatpickr-time-separator", ":")), w.timeContainer.appendChild(i);
    13271169          }
    1328 
    13291170          w.config.time_24hr || (w.amPM = s("span", "flatpickr-am-pm", w.l10n.amPM[r((w.latestSelectedDateObj ? w.hourElement.value : w.config.defaultHour) > 11)]), w.amPM.title = w.l10n.toggleTitle, w.amPM.tabIndex = -1, w.timeContainer.appendChild(w.amPM));
    13301171          return w.timeContainer;
     
    13321173        d(w.calendarContainer, "rangeMode", "range" === w.config.mode), d(w.calendarContainer, "animate", !0 === w.config.animate), d(w.calendarContainer, "multiMonth", w.config.showMonths > 1), w.calendarContainer.appendChild(e);
    13331174        var i = void 0 !== w.config.appendTo && void 0 !== w.config.appendTo.nodeType;
    1334 
    13351175        if ((w.config.inline || w.config.static) && (w.calendarContainer.classList.add(w.config.inline ? "inline" : "static"), w.config.inline && (!i && w.element.parentNode ? w.element.parentNode.insertBefore(w.calendarContainer, w._input.nextSibling) : void 0 !== w.config.appendTo && w.config.appendTo.appendChild(w.calendarContainer)), w.config.static)) {
    13361176          var l = s("div", "flatpickr-wrapper");
    13371177          w.element.parentNode && w.element.parentNode.insertBefore(l, w.element), l.appendChild(w.element), w.altInput && l.appendChild(w.altInput), l.appendChild(w.calendarContainer);
    13381178        }
    1339 
    13401179        w.config.static || w.config.inline || (void 0 !== w.config.appendTo ? w.config.appendTo : window.document.body).appendChild(w.calendarContainer);
    13411180      }(), function () {
     
    13521191          w.input.getAttribute("step") && (w.mobileInput.step = String(w.input.getAttribute("step")));
    13531192          w.input.type = "hidden", void 0 !== w.altInput && (w.altInput.type = "hidden");
    1354 
    13551193          try {
    13561194            w.input.parentNode && w.input.parentNode.insertBefore(w.mobileInput, w.input.nextSibling);
    13571195          } catch (e) {}
    1358 
    13591196          A(w.mobileInput, "change", function (e) {
    13601197            w.setDate(g(e).value, !1, w.mobileFormatStr), pe("onChange"), pe("onClose");
     
    13711208        }), !0 === w.config.clickOpens && (A(w._input, "focus", w.open), A(w._input, "click", w.open));
    13721209        void 0 !== w.daysContainer && (A(w.monthNav, "click", Ce), A(w.monthNav, ["keyup", "increment"], F), A(w.daysContainer, "click", ue));
    1373 
    13741210        if (void 0 !== w.timeContainer && void 0 !== w.minuteElement && void 0 !== w.hourElement) {
    13751211          var t = function (e) {
    13761212            return g(e).select();
    13771213          };
    1378 
    13791214          A(w.timeContainer, ["increment"], I), A(w.timeContainer, "blur", I, {
    13801215            capture: !0
     
    13851220          });
    13861221        }
    1387 
    13881222        w.config.allowInput && A(w._input, "blur", te);
    13891223      }(), (w.selectedDates.length || w.config.noCalendar) && (w.config.enableTime && _(w.config.noCalendar ? w.latestSelectedDateObj : void 0), be(!1)), k();
     
    13921226    }(), w;
    13931227  }
    1394 
    13951228  function k(e, t) {
    13961229    for (var n = Array.prototype.slice.call(e).filter(function (e) {
    1397       return e instanceof HTMLElement;
    1398     }), a = [], i = 0; i < n.length; i++) {
     1230        return e instanceof HTMLElement;
     1231      }), a = [], i = 0; i < n.length; i++) {
    13991232      var o = n[i];
    1400 
    14011233      try {
    14021234        if (null !== o.getAttribute("data-fp-omit")) continue;
     
    14061238      }
    14071239    }
    1408 
    14091240    return 1 === a.length ? a[0] : a;
    14101241  }
    1411 
    14121242  "undefined" != typeof HTMLElement && "undefined" != typeof HTMLCollection && "undefined" != typeof NodeList && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (e) {
    14131243    return k(this, e);
     
    14151245    return k([this], e);
    14161246  });
    1417 
    14181247  var T = function (e, t) {
    14191248    return "string" == typeof e ? k(window.document.querySelectorAll(e), t) : e instanceof Node ? k([e], t) : k(e, t);
    14201249  };
    1421 
    14221250  return T.defaultConfig = {}, T.l10ns = {
    14231251    en: e({}, i),
     
    14391267  var DEFAULT_FONT_COLOR = '#404040';
    14401268  var FORCE_MOBILE_LAYOUT = slpWidgetOptions.force_mobile_layout;
    1441 
    14421269  function createSlopeBlock(el, children) {
    14431270    var className = FORCE_MOBILE_LAYOUT ? 'slope-block' : 'slp-responsive-layout slope-block';
     
    14501277    }, children);
    14511278  }
    1452 
    14531279  function createSlopeReservationSection(el, children) {
    14541280    return el('div', {
     
    14561282    }, children);
    14571283  }
    1458 
    14591284  function createSlopeReservationDates(el) {
    14601285    return el('div', {
     
    14621287    }, [createSlopeReservationSection(el, createSlopeArrival(el)), createSlopeReservationSection(el, createSlopeDeparture(el))]);
    14631288  }
    1464 
    14651289  function createSlopeArrival(el) {
    14661290    var today = new Date();
     
    14731297    }, today.getDate() + ' Ago, ' + today.getFullYear())]);
    14741298  }
    1475 
    14761299  function createSlopeDeparture(el) {
    14771300    var today = new Date();
     
    14841307    }, today.getDate() + 1 + ' Ago, ' + today.getFullYear())]);
    14851308  }
    1486 
    14871309  function createSlopeVerticalDivider(el) {
    14881310    return el('div', {
     
    14901312    });
    14911313  }
    1492 
    14931314  function createSlopeGuestsAndButtonContainer(el) {
    14941315    return el('div', {
     
    14961317    }, [createSlopeReservationSection(el, [createSlopeGuests(el)]), createSlopeSubmitButton(el)]);
    14971318  }
    1498 
    14991319  function createSlopeRooms(el) {
    15001320    return el('div', {
     
    15061326    }, '1')]);
    15071327  }
    1508 
    15091328  function createSlopeGuests(el) {
    15101329    return el('div', {
     
    15241343    }, ' Bambini')])]);
    15251344  }
    1526 
    15271345  function createSlopeSubmitButton(el) {
    15281346    return el('div', {
     
    15381356    })]);
    15391357  }
    1540 
    15411358  function createSlopeLanguageSelect(el, languages, props) {
    15421359    return el('select', {
     
    15621379    }));
    15631380  }
    1564 
    15651381  return {
    15661382    createSlopeBlock: createSlopeBlock,
     
    15751391var slopeDateRangePicker = function () {
    15761392  var DEFAULT_PLUGIN_LANG = 'it';
    1577 
    15781393  function init($) {
    15791394    updateDates(this, this.currentLocale, this.scope);
    1580     var $this = this; // This is the most ugly thing i did in my life:
     1395    var $this = this;
     1396
     1397    // This is the most ugly thing i did in my life:
    15811398    // - in order to make the calendar change top property and showing correctly on top or bottom of the slope-block
    15821399    // we hide the calender first, then check if the calendar has the class 'arrowBottom' then set we close the calendar
    15831400    // and finally reopen it.
    1584 
    15851401    $(this.scope + '.slope-check-in-wrapper').parent().on('click', function () {
    15861402      $this.calendarContainer.style.visibility = 'hidden';
     
    15891405        var input = document.querySelector($this.scope + ' .slope-block .slope-check-in-input');
    15901406        var isBottomCalendar = $this.calendarContainer.getAttribute('class').split(' ').indexOf('arrowBottom') > 0;
    1591 
    15921407        if (isBottomCalendar) {
    15931408          input.style.top = '-8px';
     
    15951410          input.style.top = '88px';
    15961411        }
    1597 
    15981412        $this.close();
    15991413        $this.calendarContainer.style.visibility = 'visible';
     
    16081422        var input = document.querySelector($this.scope + ' .slope-block .slope-check-in-input');
    16091423        var isBottomCalendar = $this.calendarContainer.getAttribute('class').split(' ').indexOf('arrowBottom') > 0;
    1610 
    16111424        if (isBottomCalendar) {
    16121425          input.style.top = '-8px';
     
    16141427          input.style.top = '88px';
    16151428        }
    1616 
    16171429        $this.close();
    16181430        $this.calendarContainer.style.visibility = 'visible';
     
    16211433    });
    16221434  }
    1623 
    16241435  function updateDates(self, locale, scope) {
    16251436    var start = new Date();
    16261437    var end = new Date();
    1627 
    16281438    if (!!self.selectedDates && self.selectedDates.length < 2) {
    16291439      end.setDate(start.getDate() + self.minDays);
    16301440      self.selectedDates = [start, end];
    1631     } // if (!self.selectedDates[0]) {
     1441    }
     1442    // if (!self.selectedDates[0]) {
    16321443    //   var checkInDate = document.querySelector(self.scope + '.slope-check-in-input').value.split('/');
    16331444    //   var checkInDay = checkInDate[0];
     
    16431454    //   self.selectedDates[1] = new Date(checkOutYear, checkOutMonth, checkOutDay);
    16441455    // }
    1645 
    1646 
    16471456    var arrival = self.selectedDates[0];
    16481457    var departure = self.selectedDates[1];
     
    16521461    document.querySelector(scope + '.slope-check-out-input').value = departure.getDate() + '/' + (departure.getMonth() + 1) + '/' + departure.getFullYear();
    16531462  }
    1654 
    16551463  function create(firstInput, secondInput, appendTo, index, $, options) {
    16561464    var indexedScope = '[data-widget-count=\"' + index + '\"] ';
    16571465    var reservationDate = document.querySelector(indexedScope + '.slope-reservation-section-container');
    1658 
    16591466    if (!!reservationDate) {
    16601467      var pluginLang = reservationDate.getAttribute('data-lang');
    16611468    }
    1662 
    16631469    var currentLocale = slopeFlatpickrLocaleManager.locale(pluginLang || DEFAULT_PLUGIN_LANG);
    1664 
    16651470    var isMobile = function isMobile() {
    16661471      var check = false;
    1667 
    16681472      (function (a) {
    16691473        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    16701474      })(navigator.userAgent || navigator.vendor || window.opera);
     1475      return check;
     1476    };
    16711477
    1672       return check;
    1673     }; // The dateFormat option is necessary for the form submission to work
    1674 
    1675 
     1478    // The dateFormat option is necessary for the form submission to work
    16761479    options = {
    16771480      mode: "range",
     
    16981501    return calendar;
    16991502  }
    1700 
    17011503  return {
    17021504    create: create
     
    17241526        var s = nth % 100;
    17251527        if (s > 3 && s < 21) return "th";
    1726 
    17271528        switch (s % 10) {
    17281529          case 1:
    17291530            return "st";
    1730 
    17311531          case 2:
    17321532            return "nd";
    1733 
    17341533          case 3:
    17351534            return "rd";
    1736 
    17371535          default:
    17381536            return "th";
     
    18041602      time_24hr: true
    18051603    };
    1806 
    18071604    switch (langCode) {
    18081605      case 'it':
    18091606        return Italian;
    1810 
    18111607      case 'fr':
    18121608        return French;
    1813 
    18141609      case 'de':
    18151610        return German;
    1816 
    18171611      default:
    18181612        return English;
    18191613    }
    18201614  }
    1821 
    18221615  return {
    18231616    locale: locale
     
    18291622  this.data = _toJSON($form);
    18301623  this.requiredFields = requiredFields;
    1831 
    18321624  this.isValid = function () {
    18331625    var self = this;
     
    18381630    });
    18391631  };
    1840 
    18411632  function _toJSON($form) {
    18421633    var asArray = $form.serializeArray();
     
    18471638    return json;
    18481639  }
    1849 
    18501640  this.send = function (url, successCallback) {
    18511641    jQuery.ajax(url, {
     
    18621652  CHILDREN: '[data-input="children"]'
    18631653};
    1864 
    18651654function SlopeGuestsWrapper($element) {
    18661655  this.childrenNextIndex = 0;
     
    18681657  this.stepperContainer = $element.siblings('.slope-stepper-container');
    18691658  this.rooms = [new SlopeRoom(0, this.stepperContainer.find('[data-container="guests"]'), this.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS), $element)];
    1870 
    18711659  this.updateGuests = function () {
    18721660    var self = this;
     
    18851673    });
    18861674  };
    1887 
    18881675  this.reset = function () {
    18891676    this.rooms.forEach(function (room, index) {
     
    19021689    this.updateGuests();
    19031690  };
    1904 
    19051691  this.calculateStepperTop = function () {
    19061692    var isMobile = function isMobile() {
    19071693      var check = false;
    1908 
    19091694      (function (a) {
    19101695        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
    19111696      })(navigator.userAgent || navigator.vendor || window.opera);
     1697      return check;
     1698    };
    19121699
    1913       return check;
    1914     }; // We append the stepper container to the body of the page to avoid z-index to depend on the container
    1915 
    1916 
     1700    // We append the stepper container to the body of the page to avoid z-index to depend on the container
    19171701    document.querySelector('body').appendChild(this.stepperContainer[0]);
    19181702    var slopeBlockBounds = this.$element.parentsUntil('.slope-block').parent()[0].getBoundingClientRect();
     
    19221706    this.stepperContainer.css('left', left + 'px');
    19231707  };
    1924 
    19251708  this.openGuestsSelection = function () {
    19261709    this.stepperContainer.show();
    19271710  };
    1928 
    19291711  this.closeGuestsSelection = function () {
    19301712    this.stepperContainer.hide();
    19311713  };
    1932 
    19331714  this.handleClickOutsideGuestsSelection = function (event) {
    19341715    var containers = Array.from(document.querySelectorAll('.slope-stepper-container'));
    19351716    var isStepperContainerVisible = this.stepperContainer.css('display') !== 'none';
    1936 
    19371717    if (containers.length > 0 && this.$element.parent().find(event.target).length === 0 && !this.$element.parent().is(event.target) && this.stepperContainer.find(event.target).length === 0 && isStepperContainerVisible) {
    19381718      this.updateGuests();
     
    19401720    }
    19411721  };
    1942 
    19431722  this.init = function ($) {
    19441723    this.updateGuests();
     
    19681747        return;
    19691748      }
    1970 
    19711749      var adultsInputClone = self.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS).first().clone();
    19721750      adultsInputClone.appendTo(self.$element);
     
    19781756        return;
    19791757      }
    1980 
    19811758      self.$element.find(SLOPE_ROOM_FORM_SELECTORS.ADULTS).last().remove();
    19821759      var lastRoom = self.rooms.pop();
     
    19931770  CHILDREN: "reservation[guestCounts][__name__][childrenAges][__childrenAgesName__]"
    19941771};
    1995 
    19961772function SlopeRoom(index, $element, adultsInput, guestsWrapper) {
    19971773  this.index = index;
     
    20011777  this.guestsWrapper = guestsWrapper;
    20021778  this.$element = null;
    2003 
    20041779  this.update = function () {
    20051780    var adultsInput = this.$element.find('[data-sync-trigger="adults"]');
     
    20091784    this.adultsInput.val(this.adultsCount);
    20101785  };
    2011 
    20121786  this.reset = function () {
    20131787    this.adultsCount = 2;
     
    20151789    this.update();
    20161790  };
    2017 
    20181791  if (index > 0) {
    20191792    // The element is not the first so we have to clone the first one is not passed this means we have to clone one
     
    20241797    this.$element = $element;
    20251798  }
    2026 
    20271799  this.adultsInput.attr('name', SLOPE_NAME_PROTOTYPES.ADULTS.replace(new RegExp('__name__', 'g'), this.index));
    20281800  var roomLabel = this.$element.find('[data-label="room"]');
     
    20421814    self.decrementChildren();
    20431815  });
    2044 
    20451816  this.incrementAdults = function () {
    20461817    this.adultsCount += this.adultsCount < 99 ? 1 : 0;
     
    20481819    input.val(this.adultsCount);
    20491820  };
    2050 
    20511821  this.decrementAdults = function () {
    20521822    this.adultsCount -= this.adultsCount > 1 ? 1 : 0;
     
    20541824    input.val(this.adultsCount);
    20551825  };
    2056 
    20571826  this.incrementChildren = function () {
    20581827    this.childrenCount += this.childrenCount < 99 ? 1 : 0;
     
    20671836    stepperInput.val(this.childrenCount);
    20681837  };
    2069 
    20701838  this.decrementChildren = function () {
    20711839    this.childrenCount -= this.childrenCount > 0 ? 1 : 0;
     
    20741842    stepperInput.val(this.childrenCount);
    20751843  };
    2076 
    20771844  this.destroy = function () {
    20781845    this.$element.remove();
     
    20841851  Array.from = function () {
    20851852    var toStr = Object.prototype.toString;
    2086 
    20871853    var isCallable = function isCallable(fn) {
    20881854      return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
    20891855    };
    2090 
    20911856    var toInteger = function toInteger(value) {
    20921857      var number = Number(value);
    2093 
    20941858      if (isNaN(number)) {
    20951859        return 0;
    20961860      }
    2097 
    20981861      if (number === 0 || !isFinite(number)) {
    20991862        return number;
    21001863      }
    2101 
    21021864      return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
    21031865    };
    2104 
    21051866    var maxSafeInteger = Math.pow(2, 53) - 1;
    2106 
    21071867    var toLength = function toLength(value) {
    21081868      var len = toInteger(value);
    21091869      return Math.min(Math.max(len, 0), maxSafeInteger);
    2110     }; // The length property of the from method is 1.
     1870    };
    21111871
     1872    // The length property of the from method is 1.
     1873    return function from(arrayLike /*, mapFn, thisArg */) {
     1874      // 1. Let C be the this value.
     1875      var C = this;
    21121876
    2113     return function from(arrayLike
    2114     /*, mapFn, thisArg */
    2115     ) {
    2116       // 1. Let C be the this value.
    2117       var C = this; // 2. Let items be ToObject(arrayLike).
     1877      // 2. Let items be ToObject(arrayLike).
     1878      var items = Object(arrayLike);
    21181879
    2119       var items = Object(arrayLike); // 3. ReturnIfAbrupt(items).
    2120 
     1880      // 3. ReturnIfAbrupt(items).
    21211881      if (arrayLike == null) {
    21221882        throw new TypeError('Array.from requires an array-like object - not null or undefined');
    2123       } // 4. If mapfn is undefined, then let mapping be false.
     1883      }
    21241884
    2125 
     1885      // 4. If mapfn is undefined, then let mapping be false.
    21261886      var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
    21271887      var T;
    2128 
    21291888      if (typeof mapFn !== 'undefined') {
    21301889        // 5. else
     
    21321891        if (!isCallable(mapFn)) {
    21331892          throw new TypeError('Array.from: when provided, the second argument must be a function');
    2134         } // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
     1893        }
    21351894
    2136 
     1895        // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
    21371896        if (arguments.length > 2) {
    21381897          T = arguments[2];
    21391898        }
    2140       } // 10. Let lenValue be Get(items, "length").
     1899      }
     1900
     1901      // 10. Let lenValue be Get(items, "length").
    21411902      // 11. Let len be ToLength(lenValue).
     1903      var len = toLength(items.length);
    21421904
    2143 
    2144       var len = toLength(items.length); // 13. If IsConstructor(C) is true, then
     1905      // 13. If IsConstructor(C) is true, then
    21451906      // 13. a. Let A be the result of calling the [[Construct]] internal method
    21461907      // of C with an argument list containing the single item len.
    21471908      // 14. a. Else, Let A be ArrayCreate(len).
     1909      var A = isCallable(C) ? Object(new C(len)) : new Array(len);
    21481910
    2149       var A = isCallable(C) ? Object(new C(len)) : new Array(len); // 16. Let k be 0.
    2150 
    2151       var k = 0; // 17. Repeat, while k < len… (also steps a - h)
    2152 
     1911      // 16. Let k be 0.
     1912      var k = 0;
     1913      // 17. Repeat, while k < len… (also steps a - h)
    21531914      var kValue;
    2154 
    21551915      while (k < len) {
    21561916        kValue = items[k];
    2157 
    21581917        if (mapFn) {
    21591918          A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
     
    21611920          A[k] = kValue;
    21621921        }
    2163 
    21641922        k += 1;
    2165       } // 18. Let putStatus be Put(A, "length", len, true).
    2166 
    2167 
    2168       A.length = len; // 20. Return A.
    2169 
     1923      }
     1924      // 18. Let putStatus be Put(A, "length", len, true).
     1925      A.length = len;
     1926      // 20. Return A.
    21701927      return A;
    21711928    };
  • slope-widgets/trunk/js/slope-promotions.js

    r3294822 r3415084  
    33// NOTE: This is the code of the latest promotion widget. Code for legacy promotions widget is placed in the file
    44// slope-widgets.js
     5
    56document.addEventListener('DOMContentLoaded', function () {
    67  var slopePromotionsShortcodes = document.querySelectorAll('[data-role="slope-promo"]');
     
    2425      // Remove loading spinner
    2526      var loadingElement = slopePromotionsShortcode.querySelector(".slp-loading-indicator");
    26 
    2727      if (loadingElement) {
    2828        loadingElement.remove();
    2929      }
    30 
    3130      if (response.success && response.data) {
    3231        slopePromotionsShortcode.innerHTML = response.data.html;
    3332        initializePromotionCards(slopePromotionsShortcode);
    3433      }
    35 
    3634      if (response.data && response.data.error) {
    3735        console.error("Error fetching promotions:", response.data.error);
     
    4947    });
    5048  });
    51 
    5249  function initializePromotionCards(shortcodeElement) {
    5350    var promotionCards = shortcodeElement.querySelectorAll('.slp-promotion-card');
    54 
    5551    if (document.querySelectorAll("[data-open-new-tab]").length > 0) {
    5652      shortcodeElement.querySelectorAll(".slp-reserve-button").forEach(function (promotionButton) {
     
    5854      });
    5955    }
    60 
    6156    promotionCards.forEach(function (card) {
    6257      var promotionId = card.dataset.promotionId;
    6358      var modal = shortcodeElement.querySelector("#modal-".concat(promotionId));
    6459      var openButtons = card.querySelectorAll('[data-action="open-modal"]');
    65       var closeButton = modal.querySelector('.slp-close-modal-button'); // Open modal handlers
     60      var closeButton = modal.querySelector('.slp-close-modal-button');
    6661
     62      // Open modal handlers
    6763      openButtons.forEach(function (button) {
    6864        button.addEventListener('click', function () {
    6965          return openModal(modal);
    7066        });
    71       }); // Close modal handler
     67      });
    7268
     69      // Close modal handler
    7370      closeButton.addEventListener('click', function () {
    7471        return closeModal(modal);
    75       }); // Close on outside click
     72      });
    7673
     74      // Close on outside click
    7775      modal.addEventListener('click', function (e) {
    7876        if (e.target === modal) {
     
    8078        }
    8179      });
    82     }); // Modal functions
     80    });
    8381
     82    // Modal functions
    8483    function openModal(modal) {
    8584      modal.classList.add('slp-modal-visible');
     
    8887      document.body.style.overflow = 'hidden'; // Prevent background scrolling
    8988    }
    90 
    9189    function closeModal(modal) {
    9290      modal.classList.add('slp-modal-hidden');
     
    9492      modal.setAttribute('aria-hidden', 'true');
    9593      document.body.style.overflow = ''; // Restore background scrolling
    96     } // When ESC key is pressed, close all open modals
     94    }
    9795
    98 
     96    // When ESC key is pressed, close all open modals
    9997    document.addEventListener('keydown', function (e) {
    10098      if (e.key === 'Escape') {
  • slope-widgets/trunk/js/slope-widgets.js

    r3385288 r3415084  
    88    new SlopeGuestsWrapper($(widget).find(".slope-guests-wrapper")).init($);
    99  });
    10 }); // Packages and promotions
     10});
    1111
     12// Packages and promotions
    1213/**
    1314 * Widget object to isolate all the logic needed from a widget.
    1415 */
    15 
    1616var WidgetManager = function () {
    1717  /**
     
    2020   */
    2121  var establishmentID;
     22
    2223  /**
    2324   * Domain. The default value gets overridden in testing scenarios (e.g. //test.booking.slope.it).
    2425   * @var {string}
    2526   */
     27  var domain;
    2628
    27   var domain;
    2829  /**
    2930   * Language. The language in which the widget must be rendered.
    3031   */
     32  var language;
    3133
    32   var language;
    3334  /**
    3435   * Controller action representing the path fo the widget we want to retrieve.
    3536   * @var {string}
    3637   */
    37 
    3838  var widgetAction = "search";
    3939  return {
     
    5151      domain = widgetDomain || "booking.slope.it";
    5252      domain = "https://" + domain;
    53 
    5453      switch (type) {
    5554        case "promotions":
    5655          widgetAction = "promotions";
    5756          break;
    58 
    5957        case "search":
    6058        default:
     
    6361      }
    6462    },
    65 
    6663    /**
    6764     * Returns the url of the action that generates the JSONp for the desired widget.
     
    7269      return domain + "/widgets/" + widgetAction + "/" + establishmentID + (language ? "/" + language : "");
    7370    },
    74 
    7571    /**
    7672     * Returns the url for json widget.
     
    7874     * @returns {string}
    7975     */
     76
    8077    getBookingEngineUrl: function getBookingEngineUrl(promotionID) {
    8178      return domain + "/" + establishmentID + "/promotions/" + promotionID;
    8279    },
    83 
    8480    /**
    8581     * Returns the full url to the css resource.
     
    9288  };
    9389}();
     90
    9491/**
    9592 * Used to embed our legacy promotions widget into external websites.
    9693 */
    97 
    98 
    9994jQuery(document).ready(function ($) {
    10095  // TODO: This code is for legacy promotions. It is going to be removed in the future.
    10196  if ($("#slope-promotions").length) {
    10297    WidgetManager.create($("#slope-promotions").attr("data-id"), $("#slope-bl").attr("data-domain"), "promotions");
    103 
    10498    if ($("#widget-css").length === 0) {
    10599      $("head").append("<link id=\"widget-css\" rel=\"stylesheet\" type=\"text/css\" href=\"".concat(WidgetManager.getCSSResource(), "\" />"));
    106100    }
    107 
    108101    $.get(WidgetManager.getWidgetUrl(), null, function (data) {
    109102      $("#slope-promotions").html(data.html); // Inject HTML in the page.
     103
    110104      // Book engine in new window Promotions
    111 
    112105      if (document.querySelectorAll("[data-open-new-tab]").length > 0) {
    113106        var widgetElement = document.getElementById("slope-promotions");
  • slope-widgets/trunk/languages/slope-widgets-en_US.po

    r3385288 r3415084  
    22msgstr ""
    33"Project-Id-Version: Slope Widgets\n"
    4 "POT-Creation-Date: 2025-10-17 16:17+0200\n"
    5 "PO-Revision-Date: 2025-10-17 16:17+0200\n"
     4"POT-Creation-Date: 2025-12-04 17:27+0100\n"
     5"PO-Revision-Date: 2025-12-05 08:58+0100\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
     
    2828msgstr "Invalid Establishment ID."
    2929
    30 #: includes/admin/Promotions.php:93
     30#: includes/admin/Promotions.php:92
    3131msgid "Id Struttura non impostato"
    32 msgstr "Establishment ID not setted"
    33 
    34 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392
     32msgstr "Establishment ID not set"
     33
     34#: includes/admin/Promotions.php:212 includes/admin/Reservations.php:393
    3535msgid "Una delle proprietà non è valida, controllare i valori e riprovare"
    36 msgstr "One of the properties is invalid, check the values ​​and try again"
     36msgstr "One of the properties is invalid, check values and try again"
    3737
    3838#: includes/pages/global-settings/index.php:14
     
    7575"francese e tedesco (it, en, fr, de)."
    7676msgstr ""
    77 "The languages ​​supported by the booking bar are Italian, English, French and "
     77"The languages supported by the booking bar are Italian, English, French and "
    7878"German (it, en, fr, de)."
    7979
     
    136136#: includes/pages/global-settings/partials/form.php:40
    137137msgid "ID Struttura Slope"
    138 msgstr "Slope Structure ID"
     138msgstr "Slope Establishment ID"
    139139
    140140#: includes/pages/global-settings/partials/form.php:46
     
    498498#: slope-promotions-legacy.php:37
    499499msgid "ID struttura"
    500 msgstr "Hotel ID"
     500msgstr "Establishment ID"
    501501
    502502#: slope-promotions-legacy.php:39
    503503msgid "Il tuo Slope ID"
    504 msgstr "Your Slope hotel ID"
     504msgstr "Your Slope establishment ID"
    505505
    506506#: slope-promotions-legacy.php:55
     
    558558"i pacchetti e le promozioni tramite shortcode personalizzabili."
    559559msgstr ""
    560 "Add Slope to your WordPress site! This plugin allows you to insert the "
    561 "reservations bar and the promotion cards in your website thanks to shortcodes."
     560"Add Slope widgets to your WordPress site! This plugin allows you to insert "
     561"the reservations bar and the promotion cards in your website via customizable "
     562"shortcodes."
    562563
    563564#. Author of the plugin/theme
  • slope-widgets/trunk/languages/slope-widgets.pot

    r3385288 r3415084  
    33msgstr ""
    44"Project-Id-Version: Slope Widgets\n"
    5 "POT-Creation-Date: 2025-10-17 16:17+0200\n"
     5"POT-Creation-Date: 2025-12-05 08:49+0100\n"
    66"PO-Revision-Date: 2018-01-04 14:50+0100\n"
    77"Last-Translator: \n"
     
    2727msgstr ""
    2828
    29 #: includes/admin/Promotions.php:93
     29#: includes/admin/Promotions.php:92
    3030msgid "Id Struttura non impostato"
    3131msgstr ""
    3232
    33 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392
     33#: includes/admin/Promotions.php:212 includes/admin/Reservations.php:393
    3434msgid "Una delle proprietà non è valida, controllare i valori e riprovare"
    3535msgstr ""
  • slope-widgets/trunk/readme.txt

    r3385288 r3415084  
    55Requires at least: 5.6
    66Requires PHP: 7.0
    7 Tested up to: 6.8
    8 Stable tag: 4.3.3
     7Tested up to: 6.9
     8Stable tag: 4.3.4
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4040== Changelog ==
    4141
     42= 4.3.4 =
     43* Bugfix e correzioni minori
     44
    4245= 4.3.3 =
    4346* Possibilità di indicare l'età minima dei bambini nelle impostazioni del plugin
  • slope-widgets/trunk/slope-widgets.php

    r3385288 r3415084  
    33* Plugin Name: Slope Widgets
    44* Description: Aggiungi i widget di Slope al sito web WordPress della tua struttura ricettiva! Questo plugin ti permette di mostrare la barra delle prenotazioni, i pacchetti e le promozioni tramite shortcode personalizzabili.
    5 * Version: 4.3.3
     5* Version: 4.3.4
    66* Author: Slope
    77* Author URI: https://www.slope.it/
     
    1616
    1717// We use this constant to invalidate the cache of the plugin's assets
    18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.3';
     18const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.4';
    1919
    2020// Current version of the database schema. It is used to check if the database schema needs to be updated.
     
    3434// more data on actual requests.
    3535define(
    36     'SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS',
    37     getenv('SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS') !== false ? getenv('SLOPE_PRMOTIONS_CACHE_EXPIRATION_SECONDS') : 120
     36    'SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS',
     37    getenv('SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS') !== false ? getenv('SLOPE_PROMOTIONS_CACHE_EXPIRATION_SECONDS') : 120
    3838);
    3939
Note: See TracChangeset for help on using the changeset viewer.