/*********************************************
 VARIABLES
*********************************************/
.zb_light {
	/* BUTTONS */
	--kec_btn_bg_color: #F8F8F8;
	--kec_btn_border_color: rgba(0, 0, 0, 0.2);
	/* ICONS */
	--kec_icon_color: #999;
	--kec_icon_bg_color: #EEE;
	/* ACCORDION */
	--kec_accordion_title_bg_color: #F8F8F8;
	--kec_accordion_title_hover_bg_color: #FFF;
	--kec_accordion_title_hover_after_color: #666;
	--kec_accordion_content_bg_color: #FFF;
	--kec_accordion_border_color: #CCC;
	/* BOOKING */
	--kec_booking_bg_color: #F8F8F8;
	--kec_booking_border_color: #CCC;
}
.zb_dark {
	/* BUTTONS */
	--kec_btn_bg_color: rgba(21,21,21,0.4);
	--kec_btn_border_color: rgba(255,255,255,0.4);
	/* ICONS */
	--kec_icon_color: #DDD;
	--kec_icon_bg_color: rgba(255,255,255,0.2);
	/* ACCORDION */
	--kec_accordion_title_bg_color: rgba(21,21,21,0.8);
	--kec_accordion_title_hover_bg_color: #000;
	--kec_accordion_title_hover_after_color: #BBB;
	--kec_accordion_content_bg_color: rgba(21,21,21,0.4);
	--kec_accordion_border_color: #666;
	/* BOOKING */
	--kec_booking_bg_color: #222;
	--kec_booking_border_color: #555;
}

/*********************************************
 KEDITOR BUTTONS
*********************************************/
.kec_button { background-color: #999; background-color:var(--kec_btn_bg_color); border:1px solid var(--kec_btn_border_color); font-size:14px; font-weight:600; line-height:22px; width:100%; box-sizing:border-box; display:block; outline:none; cursor:pointer; text-align:center; padding:10px 20px; margin:1em 0; appearance:none; -webkit-appearance:none; border-radius:0; transition:all 0.2s ease-out; text-decoration:none!important; }
.kec_button.kec_thick_border { border-width:3px; }
.kec_button.kec_no_border { border-width:0px; }
.kec_button.kec_16 { font-size:16px; line-height:24px; }
.kec_button.kec_18 { font-size:18px; line-height:28px; }
.kec_button.kec_20 { font-size:20px; line-height:32px; }
.kec_button.kec_22 { font-size:22px; line-height:36px; }
.kec_button.kec_shadow_1 { box-shadow: 0 0 5px 0 rgba(0,0,0,.3); }
.kec_button.kec_shadow_2 { box-shadow: 4px 4px 4px 0 rgba(0,0,0,0.3); }
.kec_button.kec_shadow_3 { box-shadow: 4px 4px 0 0 rgba(0,0,0,0.3); }
.kec_button:hover { opacity: 0.8; }
.kec_button:active { opacity: 0.5; }

/*********************************************
 KEDITOR IMAGE
 *********************************************/
.kec_image {position:relative;width:100%;overflow:hidden;margin:0.5em 0;}
.kec_image:after {content:'';padding-bottom:100%;display:block;}
.kec_image * {transition:all 300ms ease-in-out;}
.kec_image img {display:block;position:absolute;border:none!important;width:100%!important;height:100%!important;object-fit:cover;max-width:100%!important;box-sizing: border-box;}
.kec_image div {position:absolute;cursor:pointer;background:rgba(0,0,0,0.5);width:100%;height:100%;opacity:0;font:500 18px "Open Sans";color:#FFF;padding:30px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
.kec_image div:empty {display:none;}
.kec_image div:hover {opacity:1;}
.kec_image a:not([href]) {cursor: default!important; }

/*********************************************
 KEDITOR ICON
 *********************************************/
.kec_icon {background:var(--kec_icon_bg_color); position:relative; width:100%; margin:0.5em 0; border: none; text-align: center; overflow: hidden;transition:all 300ms ease-in-out;}
.kec_icon:after {content:''; padding-bottom:100%; display:block;}
.kec_icon * {transition:all 300ms ease-in-out;}
.kec_icon a {color:var(--kec_icon_color)!important; position:absolute; width:100%; height:100%; top:0; left:0; bottom:0; right:0; border:0; padding: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration:none!important; cursor:pointer; box-sizing: border-box;}
.kec_icon a i { display: flex; color: inherit; font-size: 50px; margin: 5px 0px; justify-content: center; width: 100%!important; }
.kec_icon a i.fip-icon-block { display: none; }
.kec_icon a div { display: flex; color: inherit; width: 100%; margin: 5px 0px; font-weight: 600; font-family: "Open Sans"; font-size: 16px; line-height: 20px; align-items: center; justify-content: center; }
.kec_icon a div:empty { display: none; }
.kec_icon:not(.kec-nohover):hover { background-color: var(--kec_icon_bg_color); }
.kec_icon a:not([href]) {cursor: default!important; }
.kec_icon.kec-icon2x a i { font-size:70px; }
.kec_icon.kec-icon3x a i { font-size:90px; }
.kec_icon.kec-icon4x a i { font-size:110px; }
.kec_icon.kec-icon5x a i { font-size:130px; }
.kec_icon.kec-icon6x a i { font-size:150px; }
.kec_icon.kec-icon7x a i { font-size:170px; }
.kec_icon.kec-icon8x a i { font-size:190px; }
.kec_icon.kec-icon9x a i { font-size:210px; }
.kec_icon.kec-icon10x a i { font-size:230px; }

/*********************************************
 KEDITOR GOOGLEMAP
 *********************************************/
.kec_gmap {position:relative; width:100%; overflow:hidden; margin:0.5em 0;}
.kec_gmap:after {content:''; padding-bottom:56.25%; display:block;}
.kec_gmap .gmapCanvas {position:absolute; width:100%; height:100%; top:0; left:0; bottom:0; right:0; border:0;}
.kec_gmap input {display:none;}

/*********************************************
 KEDITOR DIVIDER
 *********************************************/
.kec_divider hr {margin:1em 0;}
.kec_hr_one {border: 0!important;height: 6px!important;background: url(/assets/img/dividers/hr-one.png) repeat-x 0 0;}
.kec_hr_two {border: 0!important;height: 6px!important;background: url(/assets/img/dividers/hr-two.png) repeat-x 0 0;}
.kec_hr_three {border: 0!important;height: 10px!important;box-shadow: 0 10px 10px -10px #8c8b8b inset;}
.kec_hr_four {border: 0!important; height: 1px!important;background-image:linear-gradient(to left, #8880, #888, #8880);}
.kec_hr_five {border: 0!important;height: 20px!important;background: url(/assets/img/dividers/hr-five.png) repeat-x 0 0;}
.kec_hr_six {border: 0!important;height: 20px!important;background: url(/assets/img/dividers/hr-six.png) repeat-x 0 0;}

/*********************************************
 KEDITOR VIDEO
 *********************************************/
.kec_video {position:relative; width:100%; overflow:hidden; margin:0.5em 0;}
.kec_video:after {content:''; padding-bottom:56.25%; display:block;}
.kec_video iframe {position:absolute; top:0; left:0; width:100%; height:100%;} 

/*********************************************
 KEDITOR ACCORDION
 *********************************************/
.kec_accordion { margin-top: -1px; }
.kec_accordion .kec_accordion_title { background-color: var(--kec_accordion_title_bg_color); border: 1px solid var(--kec_accordion_border_color); margin: 0px; padding: 10px 20px; cursor: pointer; position: relative; }
.kec_accordion .kec_accordion_title > * { margin: 0px!important; padding: 0px!important; border: none!important; text-align:left!important; }
.kec_accordion .kec_accordion_title:hover { background-color: var(--kec_accordion_title_hover_bg_color); }
.kec_accordion .kec_accordion_title:after { color: var(--kec_accordion_border_color); content:'◀'; position: absolute; top: 50%; right: 17px; font-size: 12px; margin-top: -8px;}
.kec_accordion .kec_accordion_title,
.kec_accordion .kec_accordion_title:after { transition: all 0.15s ease-in-out; }
.kec_accordion.show .kec_accordion_title:after,
.kec_accordion .kec_accordion_title:hover:after { color:var(--kec_accordion_title_hover_after_color); transform: rotate(-90deg); }
.kec_accordion .kec_accordion_content { background-color: var(--kec_accordion_content_bg_color); border-left: 1px solid var(--kec_accordion_border_color); border-right: 1px solid var(--kec_accordion_border_color); border-bottom: 1px solid var(--kec_accordion_border_color); display: none; margin-top:-1px; padding: 5px 20px; overflow: hidden;}
section[data-type="component-accordion"]:not([data-snippet]):first-of-type { margin-top: 1em; }
section[data-type="component-accordion"]:not([data-snippet]):last-of-type { margin-bottom: 1em; }
.zb_admin .kec_accordion .kec_accordion_content { display:block; }

/*********************************************
 KEDITOR HERO
 *********************************************/
.kec_hero { position: relative; color:#FFF; background: #000; min-height:50vh; text-align: center; display: flex; justify-content: center; flex-flow: column; overflow: hidden; }
.kec_hero_content { position: relative; z-index: 2; padding: 50px 10px; }
.kec_hero_1, #builder .kec_hero_1 { font-size: 3.4em; color:#FFF!important; line-height: 1.1em; font-weight: 600; padding: 0; margin: 10px; border: none;}
.kec_hero_2, #builder .kec_hero_2 { font-size: 1.7em; color:#FFF!important; line-height: 1.3em; font-weight: 300; padding: 0; margin: 10px; border: none; opacity: .8; }
.kec_hero_btn { display: inline-block; color: inherit; font-size: 1.3em; line-height: 1.3em; font-weight: 600; padding: 8px 20px; margin: 10px; border-radius: 2em; border: 3px solid #FFFB; text-decoration: none; transition:all 150ms ease-in-out; }
.kec_hero_btn:hover { background: #FFF; color:#000; }
.kec_hero_btn:empty { display: none; }
.kec_hero_bg { position: absolute; width: 100%; height:100%; z-index: 1; opacity: .5; background-size: cover; background-position: 50% 50%; overflow: hidden; }
@media (max-width: 1024px) {
	.kec_hero_1 { font-size: 2.8em; }
	.kec_hero_2 { font-size: 1.4em; }
}
@media (max-width: 479px) {
	.kec_hero_1 { font-size: 2.0em; }
	.kec_hero_2 { font-size: 1.3em; }
}

/*********************************************
 KEDITOR BOOKING
 *********************************************/
.kec_booking { background: var(--kec_booking_bg_color); border: 1px solid var(--kec_booking_border_color); padding: 10px; }
.kec_booking [type="text"],
.kec_booking [type="number"] { padding: 8px; }
.kec_booking button,
.kec_booking [type="submit"] { box-shadow: none; padding: 4px!important; }
.kec_booking .grid-container > div { position: relative; }
.kec_booking .picker { background: var(--kec_booking_bg_color); border:1px solid var(--kec_booking_border_color); display:none; position:absolute; z-index:5; padding:5px; width:calc(100% - 10px); box-sizing:border-box; }
.kec_booking .picker--opened { display:block; }
.kec_booking p { margin: 0; line-height: 1.8em;}

/*********************************************
 KEDITOR CLASS
 *********************************************/
.kec-m0 {margin:0;}
.kec-rounded, .kec-rounded div {border-radius:30px;}
.kec-circle, .kec-circle div {border-radius:50%;}
.kec-frame {border:1px solid #AAA6; background:#AAA3;}
.kec-frame img {padding:10px;}
.kec-w75p {width:75%; min-width:100px;}
.kec-w66p {width:66%; min-width:100px;}
.kec-w50p {width:50%; min-width:100px;}
.kec-w33p {width:33%; min-width:100px;}
.kec-w25p {width:25%; min-width:100px;}
.kec-h150p:after {padding-bottom:150%}
.kec-h125p:after {padding-bottom:125%}
.kec-h100p:after {padding-bottom:100%}
.kec-h75p:after {padding-bottom:75%}
.kec-h66p:after {padding-bottom:66%}
.kec-h50p:after {padding-bottom:50%}
.kec-h33p:after {padding-bottom:33%}
.kec-h25p:after {padding-bottom:25%}
.kec-mh200 {min-height:200px}
.kec-mh300 {min-height:300px}
.kec-mh400 {min-height:400px}
.kec-mh500 {min-height:500px}
.kec-mh600 {min-height:600px}
.kec-mh25vh {min-height:25vh}
.kec-mh33vh {min-height:33vh}
.kec-mh50vh {min-height:50vh}
.kec-mh66vh {min-height:66vh}
.kec-mh75vh {min-height:75vh}
.kec-mh100vh {min-height:100vh}
.kec-alpha100 {opacity:1}
.kec-alpha80 {opacity:.8}
.kec-alpha60 {opacity:.6}
.kec-alpha40 {opacity:.4}
.kec-alpha20 {opacity:.2}
.kec-align-center {margin-left:auto; margin-right:auto;}
.kec-align-right {margin-left:auto; margin-right:0;}
.kec-lightbox{cursor:pointer}
.kec-lightbox:before{content: ''; position:absolute; z-index:2; cursor:pointer; opacity:0; width:100%; height:100%; background:#FFF url(/assets/img/lightbox/zoom.png) no-repeat center center; transition:all 300ms ease-in-out;}
.kec-lightbox:hover:before{opacity: 0.5;}
.kec-hidden_caption div {display:none;}
.kec-float-left {float:left; margin:10px 15px 10px 0px;}
.kec-float-right {float:right; margin:10px 0px 10px 15px;}
.kec-parallax { background-attachment: fixed; background-size: cover; }
.compat-object-fit {-webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; background-repeat:no-repeat; background-position:50% 50%;}

/*********************************************
 KEDITOR ANIMATIONS
 *********************************************/
.kec-fadeIn:hover i {
	-webkit-animation: fadeIn 1000ms ease;
	-moz-animation: fadeIn 1000ms ease;
	-ms-animation: fadeIn 1000ms ease;
	animation: fadeIn 1000ms ease;
}
.kec-zoomIn:hover i {
	-webkit-animation: zoomIn 500ms ease;
	-moz-animation: zoomIn 500ms ease;
	-ms-animation: zoomIn 500ms ease;
	animation: zoomIn 500ms ease;
}
.kec-bounceIn:hover i {
	-webkit-animation: bounceIn 800ms ease;
	-moz-animation: bounceIn 800ms ease;
	-ms-animation: bounceIn 800ms ease;
	animation: bounceIn 800ms ease;
}
.kec-swing:hover i {
	-webkit-animation: swing 800ms ease;
	-moz-animation: swing 800ms ease;
	-ms-animation: swing 800ms ease;
	animation: swing 800ms ease;
}
.kec-slideInLeft:hover i {
	-webkit-animation: slideInLeft 500ms ease;
	-moz-animation: slideInLeft 500ms ease;
	-ms-animation: slideInLeft 500ms ease;
	animation: slideInLeft 500ms ease;
}
.kec-slideInRight:hover i {
	-webkit-animation: slideInRight 500ms ease;
	-moz-animation: slideInRight 500ms ease;
	-ms-animation: slideInRight 500ms ease;
	animation: slideInRight 500ms ease;
}