:root {
    --font_default: Arial, Verdana, Helvetica, sans-serif;
    --font_fat: Arial, Verdana, Helvetica, sans-serif;
}

html.front_end,
html.front_end body {
    margin: 0;
    padding: 0;
}

body {
    font-size: 1rem; /* ALWAYS should NEVER CHANGE, must match CR */
}

#funky-canvas {
    font-size: 0.875em;
    -webkit-text-size-adjust: none;

    background-color: #fff;
    font-family: var(--font_default);
    letter-spacing: 0;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: var(--rtnz_grey);

    -webkit-text-size-adjust: none;

    max-width: 100%;
}


#funky-canvas .header_text_shadow {
    text-shadow: 0 0 6px black;
}

html.front_end.sticky_footer {
    position: relative;
    min-height: 100%;
}

html.front_end.sticky_footer #site-footer.funky-sticky_footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    /* height: 60px; Set the fixed height of the footer here */
}

#funky-canvas h1,
#funky-canvas h2,
#funky-canvas h3,
#funky-canvas h4,
#funky-canvas h5,
#funky-canvas h6,
#funky-canvas .h1,
#funky-canvas .h2,
#funky-canvas .h3,
#funky-canvas .h4,
#funky-canvas .h5,
#funky-canvas .h6,
#funky-canvas .btn,
#funky-canvas button {
    font-family: var(--font_fat);
    line-height: 1.2;
    font-weight: 400;
    text-transform: none;
    margin: 0 0 .25rem;
}

#funky-canvas div h1:last-child,
#funky-canvas div h2:last-child,
#funky-canvas div h3:last-child,
#funky-canvas div h4:last-child,
#funky-canvas div h5:last-child,
#funky-canvas div h6:last-child,
#funky-canvas div .h1:last-child,
#funky-canvas div .h2:last-child,
#funky-canvas div .h3:last-child,
#funky-canvas div .h4:last-child,
#funky-canvas div .h5:last-child,
#funky-canvas div .h6:last-child,
#funky-canvas div p:last-child {
    margin-bottom: 0;
}

#funky-canvas .btn,
#funky-canvas button  {
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
}

#funky-canvas .border-radius-1 {
    -webkit-border-radius: 0.25rem !important;
    -moz-border-radius: 0.25rem !important;
    border-radius: 0.25rem !important;
}
#funky-canvas .border-radius-2 {
    -webkit-border-radius: 0.5rem !important;
    -moz-border-radius: 0.5rem !important;
    border-radius: 0.5rem !important;
}
#funky-canvas .border-radius-3 {
    -webkit-border-radius: 0.75rem !important;
    -moz-border-radius: 0.75rem !important;
    border-radius: 0.75rem !important;
}
#funky-canvas .border-radius-4 {
    -webkit-border-radius: 1rem !important;
    -moz-border-radius: 1rem !important;
    border-radius: 1rem !important;
}
#funky-canvas .border-radius-5 {
    -webkit-border-radius: 1.25rem !important;
    -moz-border-radius: 1.25rem !important;
    border-radius: 1.25rem !important;
}

#funky-canvas h1,
#funky-canvas .h1 {
    font-size: 2.875em;
}

#funky-canvas h2,
#funky-canvas .h2 {
    font-size: 2rem;
}

#funky-canvas h3,
#funky-canvas .h3 {
    font-size: 1.750em;
    font-weight: 400;
}

#funky-canvas h4,
#funky-canvas .h4 {
    font-size: 1.5rem;
}

#funky-canvas h5,
#funky-canvas .h5 {
    font-size: 1.25em;
}

#funky-canvas h6,
#funky-canvas .h6 {
    font-size: 1em;
}

#funky-canvas footer a:not(.btn),
#funky-canvas footer span{
    color: var(--rtnz_grey);
}

#funky-canvas .breadcrumb {
    background-color: transparent;
    border-radius: 0;
    padding-left: 0;
}


#funky-canvas .site-link_block,
#funky-canvas .site-link_block:hover {
    color: var(--font_default);
}

#funky-canvas .list-group-item {
    border: 0;
    padding-left: 0;
    padding-right: 0;
}

#page-site_header.mobile {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}

/*Used to have height: 100vh;*/
#page-site_header.mobile #site-navbar {
    min-height: 100vh;
    height: auto;
    width: 100%;
}

#page-site_header.mobile #site-navbar .navbar .collapse
/*,*/
/*#page-site_header.mobile #site-navbar .navbar .dropdown-menu.show*/
{
    display: block;
    background-color: transparent;
    border: 0;
}
#page-site_header.mobile #site-navbar .navbar .dropdown-menu {
    border: 0;
    /*display: block;*/
}

#page-site_header .mobile-header_text {
    font-size: 1.0125rem;
    word-wrap: break-word;
    line-height: 1rem;
    flex-basis: 100%;
    margin-top: .5em;
    text-align: center;
}

body.mobile {
    height: 100vh; /* Fallback for browsers that do not support Custom Properties */
    height: calc(var(--vh, 1vh) * 100);
    background-color: #fff;
}

#page-site_header.mobile .navbar {
    font-size: 1.5rem;
}

#page-site_header.mobile .navbar-collapse.collapse .nav-item span{
    border: none;
}

#page-site_header.mobile .dropdown-item {
    color: rgba(0,0,0,.5);
    font-weight: bold;
}

#page-site_header.mobile .dropdown-item:focus,
#page-site_header.mobile .dropdown-item:hover {
    background-color: transparent;
}

.input-datepicker[readonly] {
    background-color: #fff;
}

.html-column_bullet_link {
    margin-left: .5rem!important;
}

.html-column_bullet:before {
    content: "\f192";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
}

.table-hide_base_currency .html-col_description {
    border-right: 0 !important;
}

.table-hide_base_currency .html-col_base_currency {
    border-left: 0 !important;
}

.block-client_itinerary_cost_summary[data-layout_style="style_1"] .table-hide_base_currency .html-col_base_currency span {
    display: none;
}

.block-client_itinerary_cost_summary[data-layout_style="style_2"] .table-hide_base_currency .html-col_base_currency {
    display: none;
}

.bg-required {
    background-color: #FFFBBF !important;
}

#modal-site_default .modal-header,
#modal-site_default .modal-header .close,
#modal-site_default .modal-title h5 {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    line-height: 1.025;
}

#modal-site_default .modal-header {
    -ms-flex-align: center !important;
    align-items: center !important;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

@media print {
    @page {
        size: 330mm 427mm;
        margin: 14mm;
    }

    html, body, .main, .tabs, .tabbed-content { float: none; }

    .page-break_after {
        /*display: block;*/
        page-break-after: always;
        break-after: always;
        position: relative;
    }

    .page-break_before {
        /*display: block;*/
        page-break-before: always;
        break-before: always;
        position: relative;
        page-break-after: auto;
        break-after: auto;
    }

    .container {
        width: auto;
    }
}

@media (max-width: 768px) {
    #funky-canvas h1, #funky-canvas .h1 {
        font-size: 1.750em;
        font-weight: 400;
    }

    #funky-canvas h2, #funky-canvas .h2 {
        font-size: 1.5rem;
        font-weight: 400;
    }

    #funky-canvas h3, #funky-canvas .h3 {
        font-size: 1.25em;
        font-weight: 400;
    }

    #funky-canvas h4, #funky-canvas .h4 {
        font-size: 1em;
        font-weight: 400;
    }
    
}


@media (max-width: 1199px) {
    /* Remove if we update bootstrap version */
    #funky-canvas .container-xl {
        max-width: 100%;
    }
}

/* Map Attribution Styles - High specificity to override Leaflet defaults */
.leaflet-control-attribution {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    bottom: 5px !important;
    right: 5px !important;
}

.map-attribution {
    opacity: 0.5 !important;
    color: #9b9b9b !important;
    background: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding-bottom: 1rem;
}

.map-attribution:hover {
    opacity: 0.8 !important;
    color: #666 !important;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

