/* Site shell, global typography, and article title scale live in "Layout v2" at end of file. */
/*.site-header-background { background: rgb(225,176,161) !important; background: linear-gradient(0deg, rgba(225,176,161,1) 0%, rgba(244,212,182,1) 100%) !important; }
div.site-nav-left-wrapper:after { display: none; }
.site-nav-logo img { height: 55px !important; }
.site-nav-logo { padding: 0px; margin-top: -5px !important; }
.nav li a { color: #000; text-shadow: 1px 1px 0px rgba(255,255,255,0.5); }*/
p.written-by { margin: 5px 0 10px; font-size: smaller; }
p.written-by a { text-decoration: underline; font-weight: bold; }
.about-box { padding: 20px;
    margin-top: 30px;
    border-radius: 10px;
    background: #fff; font-size: 16px; line-height: 28px; }
.about-box h2 { margin-top: 0px; }
.about-box a { font-weight: 600; }
.post-full-content .about-box img {display: inline;float: right;width: 150px;height: 150px;margin: 0 0 5px 5px;border-radius: 50%; }
@media(max-width:500px){
    p.written-by { font-size: 14px; line-height: 16px; }
    .post-full-content .about-box img { width: 120px; height: 120px; }
}
.header_image { object-fit: cover; height:320px; width: 100%; padding: 0; margin: 0;  border-radius: 10px; box-shadow: 0px 0px 3px rgba(0,0,0,0.2); }
@media screen and (max-width: 600px) { .header_image { height: 220px; } }
@media screen and (max-width: 400px) { .header_image { height: 180px; } }

/* navigation */
.site-header .inner {
    margin: 0 auto;
    max-width: 1240px;
    width: 100%;
}
.topnav { overflow: hidden; height: 64px; }
.topnav.responsive { height: auto; }

.topnav a.site-nav-logo { padding-left: 0px; float: left; display: inline-block; }
.topnav a.site-nav-logo img {
    display: block;
    width: auto;
    height: 50px!important;
    margin: 6px 0;
    border: 0;
}

.topnav a.site-nav-logo:hover {
    background: none;
}

.topnav a, .dropdown .dropbtn {
    display: block;
    height: 64px;
    text-align: center;
    padding: 0 12px;
    text-decoration: none;
    font-size: 14px;
    line-height: 65px;
    color: #000;
    font-weight: 500;
}
.topnav.responsive a.site-nav-logo {
    border-bottom: 2px solid #cfa896;
}

.dropdown .dropbtn {
    border: none;
    outline: none;
    background-color: inherit;
    font-family: inherit;
    margin: 0;
}

.dropdown .dropbtn-active {
    background-color: rgba(0,0,0,0.1)
}

.active {
    background-color: rgba(0,0,0,0.1);
}

.topnav .icon {
    display: none;
}

.topnav-right { float :right; }

.dropdown, a.menu-homepage, a.menu-priority {
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    top: 64px;
}

.dropdown-content a {
    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
    line-height: 14px;
    height: auto;
    font-weight: normal;
}

.dropdown-content a small {
    font-size: smaller;
    font-weight: normal;
    line-height: 18px;
    opacity: 0.5;
}

.dropdown:hover .dropdown-content {
    display: block;
}
.topnav .dropdown button img { opacity: 0.3; width: 12px; }

.topnav #hamburger-menu { font-size: 18px; font-weight: bold; cursor: pointer; }
.topnav #hamburger-menu span { font-size: 16px; }

@media screen and (max-width: 1200px) and (min-width: 820px) {
    .topnav a.menu-homepage { display: none; }
    .topnav .dropdown button { padding: 0 8px; }
}
@media screen and (max-width: 880px) and (min-width: 820px) {
    .topnav .dropdown button { padding: 0 5px; }
    .outer.site-nav-main { padding: 0 20px; }

}

@media screen and (max-width: 770px) {
    .topnav-right { display: none; width: 100%; }
    .topnav.responsive .topnav-right { display: block; }
    .topnav.responsive .topnav-right a, .topnav.responsive .topnav-right .dropdown { display: block; }
    .topnav a.icon {
        float: right;
        display: block;
    }
    .topnav a.site-nav-logo { padding-left: 16px; float: none; }
    .outer.site-nav-main { padding: 0px; }
    .topnav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }
    .topnav.responsive {position: relative;}

    .topnav.responsive a {
        float: none;
        display: block;
        text-align: left;
    }
    .topnav.responsive .dropdown {float: none;}
    .topnav.responsive .dropdown-content {position: relative; float: left;
        top: 0;
        width: 100%;}
    .topnav.responsive .dropdown .dropbtn {
        display: block;
        width: 100%;
        text-align: left;
    }
}

@media(max-width:600px){
    .topnav.responsive .dropdown-content {

    }
}

/* layout */
.post-full-content a { color: #3eb0ef; }
.post-full-content a.inherit-color { color: #15171a; }
.post-full-content img { max-width: 100%; }

/* table of contents */
.toc { margin: 0 !important; float: left; padding: 0px; border-radius: 5px; }
.toc-header { background: #f4d4b6;
    margin: 0px;
    padding: 5px 10px;
    font-size: 18px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    display: block; }
.toc li, .toc ol, .toc ul { margin: 0px; list-style-type: none; list-style-position: inside; padding: 0px; }
.toc ul { border-bottom: 1px solid #f4d4b6; background: #fff }
.toc li a { display: block;
    display: block;
    padding: 4px 8px;
    box-shadow: none !important;
    border: 1px solid #f4d4b6;
    border-bottom: 0px;
    font-size: 14px;
    text-decoration: none;
    color: inherit;
    font-weight: normal;
    line-height: 20px;
}
.post-full-content .toc li a:hover, .post-full-content .toc li a.active { color: #000000; background: #ffeede; }
.post-full-content { padding: 0; }
@media only screen and (min-width: 801px) {
	.toc { width: 100%; margin: 0 0 10px !important; }

	.post-content-flexbox {  display: flex; flex-direction: row; min-height: 100%; align-items: stretch; }
	.post-content-flexbox .post-content { order: 1; }
	.post-content-flexbox aside { order: 2; flex: 0 0 0px; min-width: 250px; padding-left: 30px;}
	.post-content-flexbox aside .toc { position: sticky; position: -webkit-sticky; top: 5px; }
}
@media only screen and (max-width: 800px) {
	.toc { width: 100%; margin: 0 0 20px !important; }

}

/* category widget */
.widget_direct_compare {     padding: 10px;
    font-size: 16px;
    line-height: normal;
    width: 100%;
    text-align: center;
}
.widget_direct_compare a {
    font-weight: bold;
    color: #29a2e6;
    box-shadow: none;
    text-decoration: underline;
}
.widget_collapse_top { background: #f4d4b6;
    font-size: 14px;
    width: 100%;
    padding: 8px;
    text-align: center;
    border-radius: 10px; }
.widget_collapse_top p { margin-bottom: 0px; font-size: larger; }
.widget_collapse_top .button.button-active {
    background-color: #000000;
    font-weight: bold;
    color: #ffffff;
}
.widget_collapse_top .button {
    display: inline-block;
    background: #ffffff;
    padding: 5px 10px;
    line-height: normal;
    border-radius: 10px;
    cursor: pointer;
    margin: 0px 3px 3px 0px;
    font-weight: bold;
}
.widget_collapse_top .button-map-marker { background: url('https://img.balihoneymoon.com/map_marker.png') no-repeat 3px 50% #fff; padding-left: 24px; }
ul.widget_collapse { margin-top: 0px; padding: 0px; list-style-type: none; clear: both;  }
.widget_collapse li.item { padding: 0px; margin: 10px 0 0; }
.widget_collapse li.item:first-child { margin-top: 10px; }
.widget_collapse li.item img { margin: -6px 8px -6px -6px; float: left;
    width: 50%; max-width: 250px;
    height: auto; }


.widget_collapse li.item .widget_left { float: left; padding: 0px; width: 40%; background-size: cover; background-position: center; min-height: 150px; position: relative; }
.widget_collapse li.item .widget_left img { width: 100%; min-height: 150px; object-fit: cover; margin: 0; max-width: none; border-radius: 10px; }
.widget_collapse li.item .widget_right { float: right; width: 59%; padding: 5px; }

.widget_full_page.widget_collapse li.item .widget_left { float: right;
    padding: 10px 0 20px 20px;
    width: 35%;
    background-size: cover;
    background-position: center;
    min-height: 150px;
    position: relative; }
.widget_full_page.widget_collapse li.item .widget_left img { width: 100%; min-height: 150px; object-fit: cover; margin: 0; max-width: none; }
.widget_full_page.widget_collapse li.item .widget_right { padding: 5px 5px 0 0; float: none; width: 100%; }
.widget_full_page .location { color: #888; font-style: italic; font-size: smaller; }
.widget_full_page.widget_collapse li.item a.read_more.is_button {
    font-size: 26px;
    line-height: 25px;
    text-align: center;
    padding-bottom: 30px;
    margin-bottom: 20px;
}
.widget_full_page.widget_collapse li.item a.read_more.is_button .heart {
    font-size: 40px;
    margin: 10px 20px 0 5px;
}
.widget_full_page.widget_collapse li.item a.read_more.is_button span {
    font-size: 16px;
}

.widget_collapse li.item a.read_more {
    display: block;
    box-shadow: none;
    font-size: smaller;
}
.widget_collapse li.item a.read_more.is_button {  display: block;
    text-align: left;
    color: #47b3f0;
    font-size: 18px;
    padding: 10px 0;
    line-height: 20px;
    margin: 0 0 10px;
    text-decoration: none;
}
.widget_collapse li.item a.read_more.is_button .heart {
    display: none;
}
.widget_collapse li.item a.read_more.is_button:hover .heart {
    color: #c00;
}
.widget_collapse li.item a.read_more.is_button strong { text-decoration: underline; color: #47b3f0; }
.widget_collapse li.item a.read_more.is_button:hover strong { color: #238ecd; }
.widget_collapse li.item a.read_more.is_button span { font-size: 12px; color: #888; text-shadow: none; box-shadow: none; font-weight: normal; }
.widget_collapse li.item a.read_more.is_button span strong { text-decoration: none; }
.widget_collapse li.item a.read_more.is_button span.star {
    background: #1fc900;
    padding: 1px 3px;
    color: #fff;
    border-radius: 3px;
    /* box-shadow: 0px 0px 1px 0px #000; */
    /* font-weight: bold; */
    margin: 0 2px;
}
.widget_collapse li.item a.read_more.is_button span.star span {
    font-size: larger;
    color: rgb(255 255 255 / 66%);
}
.inline_cta { background: #ffeede;
    text-align: center;
    padding: 5px 0; }


.widget_collapse li.item h3 { margin: 0 0; }
.widget_collapse li.item h3 strong { text-decoration: underline; text-decoration-color: #f4d4b6; }
.widget_collapse li.item h2 { margin: 0 0; }
.widget_collapse .item_categories span {
    display: inline-block;
    background: #000000;
    font-size: smaller;
    padding: 2px 5px;
    margin-right: 5px;
    border-radius: 5px;
    line-height: normal;
    color: #fff;
}
.widget_collapse .item_categories span.location {background: none;
    display: block;
    color: inherit;
    padding: 0;
    opacity: 0.5;
    margin: 5px 0; }
.widget_collapse li.item div.more { display: none; background: #fff; margin: 8px -8px -8px; border-top: 1px dashed #e3b5a6; padding: 8px; }
.widget_collapse li.item p { margin: 0 0 15px; }
.widget_collapse li.item p.widget_text_teaser { margin-bottom: 5px; }
.widget_collapse .widget_price {
    display: inline-block;
    margin: 0 0 10px 0;
    font-weight: 300;
    font-size: 16px;
    line-height: 16px;
    bottom: 8px;
    font-weight: bold;
    background: #f4d4b6;
    padding: 5px;
    border-radius: 5px;
}
.widget_collapse .widget_fav {
    position: absolute;
    display: block;
    text-align: left;
    background: #ffe31d;
    margin: 0px 5px 0 -4px;
    height: 28px;
    font-size: small;
    padding: 0px 5px;
    top: 8px;
    line-height: 28px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    text-transform: uppercase;
}

/* Makes the triangle */
.widget_collapse .widget_price:after {
    content: "";
    position: absolute;
    display: block;
    right: -14px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 14px solid #ffffff;
}

.widget_collapse_top.activities { background: none; border: 0px; text-align: left; padding: 0px;}
.widget_collapse_top.activities p { display: none; }
.widget_collapse_top.activities .button { border-bottom: 0px; background: none; color: #000; padding: 5px; border: 1px solid #ddd; font-weight: normal; text-transform: none; }
.widget_collapse_top.activities .button.button-active { text-decoration: none; background: #f4d4b6; color: #000; border-color: #e3b5a6; }

.widget_collapse.activities { border: 0px; border-top: 2px solid #e3b5a6; padding: 0; }
.widget_collapse.activities li { border: 0; border-bottom: 2px solid #e3b5a6; padding: 2px 0; }
.widget_collapse.activities li .item_categories span { background: #f4d4b6; color: #000; }
.widget_collapse .widget_toggle_text { cursor: pointer;
    text-align: right;
    display: block;
    color: inherit;
    box-shadow: none;
    font-size: smaller;
    line-height: 24px;
    border-top: 1px dashed #f4d4b6;
    padding: 2px 5px;
    text-decoration: none; }
.widget_collapse .widget_toggle_text:hover { background: #ffeede; color: inherit; }

/* BHG Originals */
.activity-info-small { font-size: 16px; line-height: 24px; background: #eee; padding: 10px; }
.bhg-original { display: block; width: 100%; margin: 0 0 5px; }
.widget_collapse li.item .bhg-original img { float: none; margin: -11px 0 0; width: auto; max-width: 100%; }
.post-full-content div.wa_link { cursor: pointer; display: block; padding: 0 10px 0 0; background: linear-gradient(180deg, #57d163, #23b33a); border-radius: 10px; box-shadow:none; margin: 20px 0; }
.post-full-content div.wa_link span { display: block; color: #fff; background: url('https://img.balihoneymoon.com/whatsapp.png') no-repeat 100% 50%; padding: 10px 30px 10px 10px; font-size: 16px; line-height: normal; font-weight:bold; }
.wa_link_alt {
    text-align: center;
    width: 75%;
    font-size: 16px;
    line-height: 20px;
    font-weight: bold;
    margin: 5px auto 20px;
}

/* package wa link */
.package-wa-link { background: #0000000d; width: 100%; padding: 20px; border-radius: 10px; text-align: center; margin-bottom: 20px; }
.package-wa-link p strong { font-size: 24px; }
.post-full-content .package-wa-link div.wa_link { width: fit-content; margin: 0 auto 10px; display: inline-block; }
.post-full-content .package-wa-link div.wa_link span { padding: 10px 40px 10px 10px; font-size: 18px; }
.post-full-content .package-wa-link a.call_link { cursor: pointer; background: linear-gradient(180deg, #535353, #0f0f0f); border-radius: 10px; box-shadow: none; width: fit-content; margin: 0 auto 10px; display: inline-block; color: #ffffff; text-decoration: none; padding: 0 10px 0 0 }
.post-full-content .package-wa-link .call_link span { padding: 10px 40px 10px 10px; font-size: 18px; display: block; color: #fff; background: url(https://img.balihoneymoon.com/call.png) no-repeat 100% 50%; line-height: normal; font-weight: bold; }
.post-full-content .package-wa-link a.call_link:hover { background: #0f0f0f; }
.post-full-content .package-wa-link div.wa_link:hover { background: #23b33a; }
p.package-wa-footer-text a { color: inherit; font-weight: normal; }
p.package-wa-footer-text { font-size: 16px; margin-bottom: 0; }

    /* FAQ */
.faqs {
    padding: 0 0;
    width: 100%;
    margin-bottom: 20px;
}
.faqs .faq {
    margin-bottom: 10px;
}
.faqs .faq h4.question {
    font-size: smaller;
    font-weight: bold;
    margin-top: 0px;
    padding: 10px 10px 10px 36px;
    margin-bottom: 0px;
    background: url(https://img.balihoneymoon.com/questionmark.png) no-repeat 10px 50% #fff;
    cursor: pointer;
    border-radius: 10px;
}
.faqs .faq p.answer {
    padding: 5px 0;
    font-size: smaller;
    margin-bottom: 0px;
    display: none;
}

/* image wrap */
.post-full-content a.image_wrap {
    display: block;
    padding: 0 0 4px 4px;
    border-radius: 5px;
    box-shadow: none !important;
    text-decoration: none;
    font-weight: normal;
    color: inherit;
    font-size: 14px;
    line-height: 18px;
}
.post-full-content .three_images a.image_wrap, .post-full-content .four_images a.image_wrap {
    padding: 0px;
}
.post-full-content a.image_wrap:hover span.img_caption { opacity: 1 }

.image_wrap img {
    margin: 0px;
    border-radius: 10px;
}
span.img_caption {
    display: block;
    margin-bottom: 0px;
    padding: 2px 0 0;
    text-align: center;
    text-decoration: none !important;
    opacity: 0.6;
}

/* social icons */
.social-line {
    line-height: 24px;
    margin: 0 0 5px;
    padding: 0;
    height: fit-content;
    text-align: right;
    font-size: 14px;
    color: #666666;
}
.social-line img {
    margin: 0 0 0 5px;
    display: inline;
    width: 24px;
}

/* footer */
#social-footer { border-top: 2px solid #ffffff1a; border-bottom: 2px solid #ffffff1a;
    padding: 20px 0; text-align: center; }
#social-footer .social-item {
    color: inherit;
    line-height: 48px;
    text-decoration: none;
    font-size: 18px;
    display: inline-block;
    font-weight: bold;
    margin: 0 20px;
}
#social-footer .social-item img {
    float: left;
    margin-right: 10px;
}

@media screen and (max-width: 750px) {
    #social-footer  .inner { padding: 0 5vw; }
    #social-footer .social-item img { width: 24px; height: 24px; margin-right: 5px; }
    #social-footer .social-item { line-height: 24px; font-size: 16px; margin: 0 5px; }
    #social-footer .social-item i { display: none; }
}
@media screen and (max-width: 500px) {
    #social-footer .social-item img { width: 20px; height: 20px; }
    #social-footer .social-item { font-weight: normal; font-size: 14px; line-height: 20px; }
}

#site-footer {  background: #000000;
    padding: 30px 0;
    color: #fff;
    text-align: center;
    margin-top: 50px;
     }
#site-footer a {
    color: #fff;
    font-weight: normal;
    text-decoration: none;
    opacity: 0.75;
}
#site-footer a.instagram-link { text-decoration: none; }
#site-footer a.instagram-link span { text-decoration: underline; }
#site-footer a:hover, #site-footer a.active { background: none; opacity: 1; text-decoration: underline; }
#site-footer .col3 {
    width: 30%;
    text-align: left;
    float: left;
    margin-right: 5%;
}
#site-footer .col3.col3-last {
    margin-right: 0px;
}
#site-footer li {
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 24px;
}
#site-footer .inline li {
    display: inline-block;
    padding: 0px 10px 0 0;
    font-size: 16px;
}
#site-footer ul {
    list-style: none;
    padding: 0px;
    line-height: 24px;
}
#site-footer p img { margin: 50px 0 0; border: 0; }

#site-footer h3 { color: #f4d4b6; }
.footer-address { opacity: 0.75;
    line-height: 20px;
    font-size: 16px;
    margin-top: 40px; }

@media screen and (max-width: 1150px) {
    #site-footer .col-container { padding: 0 5vw; }
}

@media screen and (max-width: 750px) {
    #site-footer .col3 {
        display: block;
        width: 100%;
        margin: 0;
        text-align: center;
    }
    #site-footer .col3 li, #site-footer .col3 .inline li { display: inline-block; padding: 0 10px 0 0; }
    #site-footer ul { text-align: center; margin-bottom: 0px; }
    #site-footer h3 { text-align: center; }
}

.highlight_link { margin-bottom: 20px; }
.highlight_link a { position: relative; text-decoration: none; box-shadow: none; display: block; padding: 15px 0 10px; border-top: 2px dotted #e3b5a6; border-bottom: 2px dotted #e3b5a6; }
.highlight_link a strong { color: #3eb0ef; text-decoration: underline; }
.highlight_link a:hover, .highlight_link a.active { box-shadow: none; }
.highlight_link a span.more_info {     color: #313b3f;
    text-decoration: none!important;
    display: inline-block;
    padding-left: 10px;
    border-left: 2px solid #ebebeb;
    margin: 5px; }
.highlight_link a span.provider { font-size: smaller; color: #888; text-shadow: none; box-shadow: none; font-weight: normal; }
.highlight_link a span.provider span.check { color: #1fc900; font-size: larger; font-weight: bold; }
.highlight_link a span.recommend {     position: absolute;
    background: #ffeede;
    font-size: small;
    line-height: 14px;
    padding: 4px 8px;
    border-radius: 4px;
    top: -11px;
    left: 20px;
    text-transform: uppercase;
    color: #bd7f6b; }


/* THREE IMAGES */
.three_images { display: block; margin: 0 0 20px; }
.three_images .item { display: block; float: left; width: 33%; margin-right: 0.5%; }
.three_images .item-last { margin-right: 0px !important;}

/* FOUR IMAGES */
.four_images { display: block;margin: 0 0 20px;width: 100%; clear: both; }
.four_images .item {display: block;float: left;width: 49%;margin-right: 10px;margin-bottom: 10px;}
@media screen and (max-width: 900px) { .four_images .item {margin-right: 5px;margin-bottom: 5px;} .four_images .item.item-last { margin-right: 0px; } }
.four_images .item.item-last { margin-right: 0px; }
.widget_collapse li.item .four_images img {margin: 0px;float: none;max-width: 100%;height: auto;width: 100%;}
.four_images span.img_caption {background: none;font-size: small;text-align: left;margin-top: 1px;}
.post-full-content .four_images a { transition: none; }
.post-full-content .four_images a.image_wrap:hover span.img_caption {background: #ffffff;color: #090a0b;border-color: #e3b5a6;}
.post-full-content .four_images a.image_wrap:hover {background: none;border: 0px;}
.widget_full_pictures span.location { color: #888;font-style: italic;}

/* LIGHTBOX */
#lightbox {width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.85); z-index: 9999999; line-height: 0; cursor: pointer; display: none;}
#lightbox .img {
    position: relative;
    top: 50%;
    left: 50%;
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    max-width: 100%;
    max-height: 100%;
}
#lightbox .img img {opacity: 0; pointer-events: none; width: auto;}
@media screen and (min-width: 1200px) {
    #lightbox .img {
        max-width: 1200px;
    }
}
@media screen and (min-height: 1200px) {
    #lightbox .img {
        max-height: 1200px;
    }
}
#lightbox span {display: block; position: fixed; bottom: 13px; height: 1.5em; line-height: 1.4em; width: 100%; text-align: center; color: white; text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

#lightbox span {display: none;}

#lightbox .videoWrapperContainer {
    position: relative;
    top: 50%;
    left: 50%;
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    max-width: 900px;
    max-height: 100%;
}
#lightbox .videoWrapperContainer .videoWrapper {
    height: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    position: relative;
    padding-bottom: 56.333%; /* custom */
    background: black;
}
#lightbox .videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
#lightbox #prev, #lightbox #next {height: 50px; line-height: 36px; display: none; margin-top: -25px; position: fixed; top: 50%; padding: 0 15px; cursor: pointer; text-decoration: none; z-index: 99; color: white; font-size: 60px;}
#lightbox.gallery #prev, #lightbox.gallery #next {display: block;}
#lightbox #prev {left: 0;}
#lightbox #next {right: 0;}
#lightbox #close {height: 50px; width: 50px; position: fixed; cursor: pointer; text-decoration: none; z-index: 99; right: 0; top: 0;}
#lightbox #close:after, #lightbox #close:before {position: absolute; margin-top: 22px; margin-left: 14px; content: ""; height: 3px; background: white; width: 23px;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    /* Safari */
    -webkit-transform: rotate(-45deg);
    /* Firefox */
    -moz-transform: rotate(-45deg);
    /* IE */
    -ms-transform: rotate(-45deg);
    /* Opera */
    -o-transform: rotate(-45deg);
}
#lightbox #close:after {
    /* Safari */
    -webkit-transform: rotate(45deg);
    /* Firefox */
    -moz-transform: rotate(45deg);
    /* IE */
    -ms-transform: rotate(45deg);
    /* Opera */
    -o-transform: rotate(45deg);
}
#lightbox, #lightbox * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* planning cta */
.planning-cta { margin: 0 0 20px; text-align: center; }
.planning-cta a { background: linear-gradient(0deg, #ffe2c7, #fff8f1); display: inline-block; padding: 5px 15px; border-radius: 20px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); font-size: 22px; text-align: center; border: 3px solid #e3b5a6; }
.planning-cta a:hover { box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); background: #ffe2c7;}
.planning-cta a strong { color: #228dc9; text-decoration: underline; }
.planning-cta a small { color: #70553b; font-size: 18px; font-style: italic; }
.planning-cta span {
    display: block;
    font-size: 18px;
    line-height: 24px;
    margin-top: 10px;
    font-style: italic;
}
.planning-cta span a, .planning-cta span span {
    border: 0;
    background: 0;
    box-shadow: none;
    display: inline;
    padding: 0;
    font-size: inherit;
    text-decoration: underline;
    color: #3eb0ef;
    cursor: pointer;
    border-radius: 0;
}
.planning-cta span a:hover { box-shadow: none; background: none; }

/* honeymoon service */
.planning-services { margin: 0 0 20px; }
.planning-services a.service {
    width: 32%;
    display: inline-block;
    text-align: center;
    background: linear-gradient(180deg, #ffeede, #fff 50%);
    margin-right: 2%;
    box-shadow: none;
    color: #0e0f11;
    border-radius: 10px;
    float: left;
    border-bottom: 2px solid #f4d4b6;
    padding: 5px 5px 10px;
}
.planning-services a.service.service-last {
    margin-right: 0;
}
.planning-services a.service span {
    background: #e3b5a6;
    color: #fff;
    padding: 2px 5px;
    border-radius: 5px;
    font-weight: bold;
}
.planning-services a.service small {
    display: block;
    line-height: 20px;
    font-size: 14px;
    margin-bottom: 10px;
}
.combo-discount {
    padding: 10px;
    border: 1px solid #f4d5b7;
    border-radius: 10px;
    margin: 50px 0 20px;
    box-shadow: inset 0 0 25px #ffeede;
}
.combo-discount img {
    margin: -45px auto 0;
    width: 80px;
    max-width: none;
}
img.planning-icon {
    float: right;
    margin: -40px 0 0 10px;
    max-width: none;
    width: auto;
}
.wa_link_float { z-index: 1001; cursor: pointer; display: block; width: 64px; height: 64px; background-size: cover; background-image: url('https://img.balihoneymoon.com/whatsapp-corner.png'); position: fixed; right: 10px; bottom: 10px; box-shadow: none; }

@media screen and (max-width: 700px) {
    .planning-services { margin: 0 -10px 20px; }
    .planning-services a.service strong { font-size: 16px; }
    .planning-services a.service span { background: none; color: #3eb0ef; }
    img.planning-icon { margin: 0 0 0 10px; }
    .wa_link_float { width: 48px; height: 48px; bottom: 5px; right: 5px;}
}
.alert-callout { font-size: 16px;
    line-height: 26px;
    padding: 15px;
    border: 2px solid #e3b5a6;
    border-radius: 10px;
    margin-bottom: 25px; }
.alert-callout a { font-weight: 600; }

/* article-list */
.article-list { margin: 0 -10px 20px 0; }
.article-list a { background: #ffffff;
    display: inline-block;
    float: left;
    width: calc(50% - 10px);
    margin: 0 10px 10px 0;
    text-decoration: none;
    font-size: 18px;
    line-height: normal;
    padding: 10px;
    border-radius: 10px; }
.article-list a img { float: left; width: 100px; height: 100px; margin: 0 10px 0 0; }
.article-list a span {     color: #000;
    background: #f4d4b6;
    border-radius: 10px;
    padding: 1px 5px;
    font-weight: bold; }
.article-list a strong { display: block; padding: 10px 0 0; text-decoration: underline; }
@media screen and (max-width: 1030px) {
    .article-list a { text-align: center; }
    .article-list a img { float: none; margin: -15px auto; display: block; }
}
@media screen and (max-width: 600px) {
    .article-list a { font-size: 14px; padding: 5px; }
    .article-list a img { margin-top: -10px; }
}

/* team list */
.team-list { margin: 0 -10px 20px 0; }
.team-list .team-person { background: linear-gradient(-45deg, #ffeede, #f4d4b6);
    display: inline-block;
    float: left;
    width: calc(50% - 15px);
    margin: 0 15px 15px 0;
    text-decoration: none;
    font-size: 18px;
    line-height: normal;
    padding: 15px;
    border-radius: 5px;
    box-shadow: inset 0 0 15px #0000001a; }
.team-list .team-person img { float: right; width: 100px; height: 100px; margin: -20px -20px 0 10px; }
.team-list .team-person strong { color: #fff; background: #000; border-radius: 5px; padding: 1px 5px; font-weight: bold; }
.team-list .team-person span { display: block; padding: 10px 0 0; font-size: 16px; line-height: 22px; }
@media screen and (max-width: 1030px) {
    .team-list .team-person { text-align: center; }
    .team-list .team-person img { float: none; margin: -15px auto; display: block; }
}
@media screen and (max-width: 600px) {
    .team-list .team-person { font-size: 14px; padding: 5px; }
    .team-list .team-person img { margin-top: -10px; }
}

/* slider */
.bhcom-slider { width: 100%; margin-bottom: 20px; }
.bhcom-slider-toggle { width: 100%; padding: 10px 0; font-size: 12px; line-height: normal; text-align: center; }
.bhcom-slider-toggle span.active { background: #000; }
.bhcom-slider-toggle span {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    margin: 0 2px;
    background: #eeebe9;
    cursor: pointer;
}

/* testimonials */
.testimonials-teaser { height: 178px; overflow: hidden; }
.testimonial-teaser { display: none; background: #f4d4b6; padding: 20px; border-radius: 10px; font-size: 24px; line-height: 34px; }
.testimonial-teaser i { display: block; }
.testimonial-teaser img { float: left; margin: -10px 10px -10px -10px; height: 120px; width: 120px; max-width: 120px; }
@media screen and (max-width: 1200px) {
    .testimonial-teaser { font-size: 22px; line-height: 34px; }
}
@media screen and (max-width: 1000px) {
    .testimonial-teaser { font-size: 20px; line-height: 30px; padding: 10px;  }
    .testimonial-teaser img {  height: 100px; width: 100px; max-width: 100px; margin: 0 10px 0 0; }
}
@media screen and (max-width: 850px) {
    .testimonials-teaser { height: 200px; }
    .testimonial-teaser {  font-size: 18px; line-height: 28px; padding: 10px;  }
    .testimonial-teaser img { height: 80px; width: 80px; max-width: 80px; margin: 0 10px 0 0; }

}

/* package specific */
.package-hotel {
    background: #ffffff;
    padding: 20px 20px 1px;
    border-radius: 10px;
    margin: -15px 0 30px;
    border: 1px solid #f4d4b6;
}
.package-hotel-alt { background: #f4d4b6;
padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 22px;
    margin-top: -15px;
    margin-bottom: 30px;
    border: 1px solid #e3b5a6;}
.package-hotel .rating-img { padding: 10px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e3b5a6; }
.post-content .package-hotel ul { margin-left: 20px; }
.post-content .package-hotel ul li { font-size: 16px; line-height: 28px; list-style-type: disc; }

/* pricing widget */
.pricing-widget { width: 100%;
    border-radius: 10px;
    text-align: left;
    margin-bottom: 20px; }
.pricing-widget input, .pricing-widget select {
    border: 2px solid #e3b5a6;
    background: #fff;
    border-radius: 5px;
    padding: 4px;
    font-size: 18px;
}
.pricing-widget p { margin: 0;}
.pricing-widget-result {     background: #ffffff;
    border-radius: 10px;
    padding: 10px;
    margin:0 0 20px;
    border: 2px solid #e3b5a6;
    box-shadow: inset 0 0 10px #ffeede;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
.pricing-widget-result li small { color: #999; }
.pricing-widget-result ul { margin-bottom: 0; padding-right: 0; list-style-type: none; padding-left: 0; }
.pricing-widget-result ul li { padding-left: 0; padding-right: 0; }
.pricing-widget-result div.receipt span { float: right;
    display: inline-block;
    margin-left: 20px; }
.pricing-widget-result div.receipt { color: #999;background: #eee;font-family: monospace;padding: 10px;line-height: 18px;font-size: 14px;display: inline-block;position: relative; border-radius: 5px; }
.pricing-widget hr { border-color: #e3b5a6; margin: 20px 0; }
.post-full-content .pricing-widget  table { border-top: 1px solid #e3b5a6; margin: 10px 0 0; border-radius: 10px; font-size: 16px; line-height: 20px; }
.pricing-widget table tfoot th {
    font-weight: normal;
    padding: 20px 0 0;
    background: none !important;
    border-bottom: 0px;
    font-size: 18px;
    line-height: 32px;
}
.post-full-content .pricing-widget  table td, .post-full-content table th { border: 0; border-bottom: 1px solid #e3b5a6; padding: 4px 8px; }
.post-full-content .pricing-widget table th { background: #ffeede; }
.post-full-content .pricing-widget table td {     background: #fff; }
.post-full-content .pricing-widget table tfoot tr { border-left: 0; border-right: 0;}
.post-full-content .pricing-widget table tr { border-left: 1px solid #e3b5a6; border-right: 1px solid #e3b5a6; }
p.pricing-widget-head { margin: 10px 0 0;
    background: #f4d4b6;
    padding: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #e3b5a6;
    border-bottom: 0px; }
.pricing-schedule-call { border-top: 2px solid #e3b5a6;
    padding: 10px 0 0; }


/* package days */
.package-day-block {
    background: #ffffff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid #f4d4b6;
}
.package-day-block h3 {     font-size: 24px;
    color: inherit;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #f4d4b6; }
.package-day-block ul {
    padding-left: 20px;
    margin: 10px 0 0 0;
}
.package-day-block ul li { list-style-type: disc;
    margin: 5px 0 0; }
.package_included { padding-left: 0;}
.package_included li { list-style-type: none; }

/* ===== Layout v2 (all shell + global typography; keep new work here) ===== */
:root {
    --font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    --font-heading: "Newsreader", Georgia, "Times New Roman", serif;
    --layout-max-inner: 1180px;
    --layout-pad-x: clamp(1rem, 4vw, 2.75rem);
    --space-section-y: clamp(2.25rem, 5.5vw, 4rem);
    --color-page-bg: #fbf8f5;
    /* Single warm peach from the original bar (no gray gradient) */
    --color-header-bar: #f4d4b6;
    --layout-nav-row-height: 64px;
    /* No sticky header — small offset for hash / in-page links */
    --layout-scroll-padding-top: 0.75rem;
    --layout-toc-sticky-top: 0.75rem;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--layout-scroll-padding-top);
    /* Ghost base uses overflow-x: hidden — keep visible for wide layouts */
    overflow-x: visible !important;
}

body {
    overflow-x: visible !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.7;
    color: #353439;
    min-width: 350px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--color-page-bg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: #000;
    font-weight: 600;
    letter-spacing: -0.015em;
}

/* Article title: clearly above in-content h2 (2.2rem in styles.css) */
article.post-full > h1.post-full-title {
    font-family: var(--font-heading);
    font-size: clamp(2.85rem, 6.5vw, 3.85rem);
    line-height: 1.1;
    margin: 20px 0 0;
    letter-spacing: -0.02em;
}

@media (max-width: 500px) {
    article.post-full > h1.post-full-title {
        font-size: clamp(2.2rem, 8vw, 2.95rem);
        line-height: 1.08;
        margin-top: 10px;
    }
}

/* Day blocks: keep UI sans with emoji headings */
.package-day-block h3 {
    font-family: var(--font-body);
    letter-spacing: 0;
}

.post-full-content {
    margin-top: clamp(1rem, 3vw, 1.75rem);
    background: transparent;
}

.outer {
    padding-left: var(--layout-pad-x);
    padding-right: var(--layout-pad-x);
}

.inner {
    max-width: var(--layout-max-inner);
}

#site-main.site-main,
.page-template .site-main,
.post-template .site-main {
    padding-bottom: var(--space-section-y);
    background: transparent;
}

/* Static header — z-index above .site-main (100 in styles.css) so dropdowns aren’t covered */
.site-header {
    position: relative;
    z-index: 500;
    border-bottom: none;
    box-shadow: none;
    letter-spacing: normal;
}

.site-nav-main {
    position: relative;
    background: linear-gradient(180deg, #f4d4b6, #e3b5a6);    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* Article hero: no drop shadow */
.header_image {
    box-shadow: none;
}

/* Header nav: font-size/weight from legacy .topnav rules; family only */
.site-header .topnav a,
.site-header .dropdown .dropbtn {
    font-family: var(--font-body);
}

.site-header .topnav .dropdown button img {
    width: 8px;
    height: auto;
    opacity: 1;
}

/* Light highlight on nav links; dropdown trigger uses .dropdown:hover so it stays on while the submenu is hovered */
.site-header .topnav a.active, .site-header .topnav a:hover,
.site-header .dropdown:hover .dropbtn,
.site-header .dropdown .dropbtn.dropbtn-active,
.site-header .dropdown .dropbtn-active {
    background-color: rgb(255 255 255 / 25%);
}
.site-header .topnav .dropdown-content a.active, .site-header .topnav .dropdown-content a:hover {
    background-color: rgb(249 233 218) !important;
}

.site-header .topnav a.site-nav-logo:hover {
    background: none;
}

@media screen and (max-width: 770px) {
    .topnav.responsive {
        background-color: var(--color-header-bar);
        background-image: none;
        border-top: 1px solid rgba(57, 54, 86, 0.1);
    }
}

/* Category tabs strip: white bar, plum text, compact line-height (14px type) */
ul.category_tabs {
    background: #fff;
    color: #393656;
    line-height: 1;
    padding: 8px 8px 0 0;
    margin-bottom: 0;
    text-align: center;
    border-bottom: 1px solid rgba(57, 54, 86, 0.08);
}

.category_tabs li {
    list-style: none;
    display: inline-block;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    border-radius: 3px;
    padding: 0 0 8px 8px;
    margin: 0 8px 0 0;
}

.category_tabs li a {
    color: #393656;
    text-shadow: none;
    border-bottom: 0;
    text-decoration: none;
    box-shadow: none;
    font-size: 14px;
    line-height: 1;
    padding: 3px 6px;
    display: inline-block;
    border-radius: 5px;
}

.category_tabs li a small {
    font-weight: normal;
    color: rgba(57, 54, 86, 0.72);
}

.category_tabs li a.active,
.category_tabs li a:hover {
    background: rgba(244, 212, 182, 0.5);
    color: #1a1826;
}

#site-footer {
    padding-top: clamp(2rem, 5vw, 3rem);
    padding-bottom: clamp(2rem, 5vw, 3rem);
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

/* Footer: float columns → grid (same HTML) */
#site-footer .col-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.25rem, 3.5vw, 2.5rem);
    align-items: start;
    text-align: left;
}

#site-footer .col3,
#site-footer .col3.col3-last {
    float: none;
    width: auto;
    max-width: none;
    margin-right: 0;
}

@media screen and (max-width: 750px) {
    #site-footer .col-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media only screen and (min-width: 801px) {
    .post-content-flexbox aside .toc {
        top: var(--layout-toc-sticky-top);
    }
}

/* Keyboard focus */
a:focus-visible,
button:focus-visible,
.dropbtn:focus-visible,
#hamburger-menu:focus-visible,
.category_tabs li a:focus-visible {
    outline: 2px solid #3eb0ef;
    outline-offset: 3px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.dropbtn:focus:not(:focus-visible) {
    outline: none;
}
