/****************************
 * Global style
*****************************/
/* Main sections */
.site-sticky {position:fixed; z-index:40; top:0; left:0; right:0;}
.site-header {position:relative; z-index:30;}
.site-content {position:relative; z-index:10;}
.site-footer {position:relative; z-index:20;}

/* Footer stick to bottom */
html, body {min-height:100vh;}
body {
    overflow-x:hidden;
    display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;
    -webkit-box-orient:vertical; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column;
    -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between;
}

/* Disables pull-to-refresh and overscroll glow effect.
Still keeps swipe navigations. */
body {
    overscroll-behavior-y:none;
}


/****************************
 * Editor style
****************************/
p:empty {display:none;}

/* Button group */
p.vii-button-group, .vii-button-group {display:flex; flex-wrap:wrap; gap:8px 20px;}
p[style*="text-align:center"].vii-button-group,
p[style*="text-align: center"].vii-button-group {justify-content:center;}
@media only screen and (max-width:480px) {
    p.vii-button-group, .vii-button-group {gap:10px;}
}

/* text icon group */
p.vii-text-icon-group, .vii-text-icon-group {display:flex; flex-wrap:wrap; gap:12px 60px;}
p[style*="text-align:center"].vii-text-icon-group,
p[style*="text-align: center"].vii-text-icon-group {justify-content:center;}
@media only screen and (max-width:768px) {
    p.vii-text-icon-group, .vii-text-icon-group {gap:12px 32px;}
}

/* permalink > word break to avoid horizontal scroll */
.wpb_text_column p a:not([class]) {word-wrap:break-word;}

.main_content .txt_size_30 {font-size:var(--vii-size-30);}

/* hr */
.wpb_text_column hr {border-bottom:1px solid var(--vii-color-gray);}
.txt_color_white .wpb_text_column hr {border-color:#fff;}

/* heading regular */
.wpb_text_column span.heading_with_regular + span[class*="heading_"] {
    margin-top:calc(-1 * var(--vii-spacing-paragraph) + 12px);
}
.wpb_text_column p:has(.heading_with_regular) + h2 {
    margin-top:calc(-1 * var(--vii-spacing-paragraph) + 8px);
}
.wpb_text_column h2 + h3:has(.txt_size_40) {margin-top:-12px;}
.wpb_text_column h3 .txt_size_40 {line-height:1.27}

.txt_panel {
    --panel-bg-color:var(--vii-color-blue);

    min-width:130px; min-height:41px; border-radius:10px; padding:5px 12px 6px;
    background:var(--panel-bg-color); color:var(--vii-color-white);
    text-align:center; text-transform:uppercase; letter-spacing:-0.01em;
    font-family:var(--vii-font-body), sans-serif; font-weight:700; font-size:var(--vii-size-18);
    display:inline-flex; align-items:center; justify-content:center;
}

/* br tag */
@media only screen and (max-width:768px) {
    .wpb_text_column br {display:none;}
    .wpb_text_column br + span {display:inline;}
    .wpb_text_column br + span:before {content:" ";}
}

/* row */
.vc_row.vii-bg-style-7.last-row:first-child {overflow:hidden !important}


/****************************
 * Spacing
****************************/
/* the last element in a text block will have no spacing */
.wpb_text_column :last-child {margin-bottom:0;}

/* Spacing: Custom */
.no-margin-bottom {margin-bottom:0 !important;}
.margin-bottom-default {margin-bottom:var(--vii-spacing-default) !important;}
.margin-bottom-heading {margin-bottom:var(--vii-spacing-heading) !important;}
.margin-bottom-120px {margin-bottom:var(--vii-spacing-120) !important;}
.margin-bottom-96px {margin-bottom:var(--vii-spacing-96) !important;}
.margin-bottom-80px {margin-bottom:var(--vii-spacing-80) !important;}
.margin-bottom-72px {margin-bottom:var(--vii-spacing-72) !important;}
.margin-bottom-64px {margin-bottom:var(--vii-spacing-64) !important;}
.margin-bottom-56px {margin-bottom:var(--vii-spacing-56) !important;}
.margin-bottom-48px {margin-bottom:var(--vii-spacing-48) !important;}
.margin-bottom-40px {margin-bottom:var(--vii-spacing-40) !important;}
.margin-bottom-32px {margin-bottom:var(--vii-spacing-32) !important;}
.margin-bottom-24px {margin-bottom:var(--vii-spacing-24) !important;}
.margin-bottom-16px {margin-bottom:var(--vii-spacing-16) !important;}
.margin-bottom-8px {margin-bottom:var(--vii-spacing-8) !important;}

.pt-default {padding-top:var(--vii-spacing-default);}
.pt-heading {padding-top:var(--vii-spacing-heading);}


/****************************
 * Miscellaneous
****************************/
/* Visibility Classes */
/*.hidden-mobile, .hidden-tablet-v, .hidden-tablet-h, .hidden-touch-devices {display:block;}*/
/*.show-mobile, .show-tablet-v, .show-tablet-h, .show-touch-devices {display:none;}*/

/* Placeholder */
body ::-webkit-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder); transition:var(--vii-transition);}
body ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder); transition:var(--vii-transition);}
body :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder); transition:var(--vii-transition);}
body :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder); transition:var(--vii-transition);}

/* Full width */
.vii-full-width {margin-left:calc(-1 * var(--vii-gap-side) - 0.5px); margin-right:calc(-1 * var(--vii-gap-side));}

/* A11y focus */
a:focus-visible,
button:focus-visible,
.a11y-focus:focus-visible {outline:2px solid var(--vii-color-primary); border-radius:3px; transition:none;}

/* disabled focus visible */
.a11y-disable a:focus-visible,
.a11y-disable button:focus-visible,
.a11y-disable:focus-visible {outline:none; border-radius:0;}

/* focus visible inset */
.a11y-focus-inset, .a11y-focus-inset a, .a11y-focus-inset button {position:relative;}
.a11y-focus-inset:focus-visible,
.a11y-focus-inset a:focus-visible, .a11y-focus-inset button:focus-visible {outline:none;}
.a11y-focus-inset:focus-visible:after,
.a11y-focus-inset a:focus-visible:after, .a11y-focus-inset button:focus-visible:after {
    content:""; z-index:1; position:absolute;
    inset:0; pointer-events:none; border:2px solid var(--vii-color-primary); border-radius:3px;
}

/* Hover effect for image */
.vii-hover-image {position:relative; overflow:hidden;}
.vii-hover-image:before {
    content:"";
    position:absolute; inset:0; background:var(--vii-color-black); z-index:1; pointer-events:none;
    opacity:0; transition:opacity 0.3s;
}
.vii-hover-image img {transition:transform 0.3s;}
.hover-trigger:hover .vii-hover-image:before,
a.vii-hover-image:hover:before, a:hover .vii-hover-image:before,
.hover-trigger:focus .vii-hover-image:before,
a.vii-hover-image:focus:before, a:focus .vii-hover-image:before {opacity:0.3;}
.hover-trigger:hover .vii-hover-image img,
a.vii-hover-image:hover img, a:hover .vii-hover-image img,
.hover-trigger:focus .vii-hover-image img,
a.vii-hover-image:focus img, a:focus .vii-hover-image img {transform:scale(1.05);}


/****************************
 * Sticky element
****************************/
body .vii-sticky, body .vii-sticky-desktop-only {
    --offset:20px;
    --extra-offset:var(--vii-spacing-header-height-sticky);

    position:sticky; left:0;
    top:calc(var(--extra-offset) + var(--offset));
    transition:var(--vii-transition);
}

/* follow breakpoint of VC */
@media only screen and (max-width:767px) {
    body .vii-sticky-desktop-only {position:static; top:unset;}
}

/* has admin bar */
body.admin-bar .vii-sticky, body.admin-bar .vii-sticky-desktop-only,
body.admin-bar .top-responsive-header-height {
    --vii-admin-bar-height:32px;
    --extra-offset:calc(var(--vii-spacing-header-height-sticky) + var(--vii-admin-bar-height));
}
body.admin-bar .top-responsive-header-height {top:calc(var(--vii-spacing-header-height) + var(--vii-admin-bar-height))}
@media only screen and (max-width:782px) {
    body.admin-bar .vii-sticky, body.admin-bar .vii-sticky-desktop-only,
    body.admin-bar .top-responsive-header-height {
        --vii-admin-bar-height:0px;
    }
}

/* row with style rounded 2 */
.style-rounded-2-left-shadow:has(.custom_ol_2_columns) [data-same-height] {
    padding:var(--vii-spacing-default) 30px var(--vii-spacing-default) var(--vii-spacing-64)
}
.vc_row.gradient-10-pink-dots .style-rounded-2-left-shadow > i {opacity:0;}

@media only screen and (max-width:1280px) {
    .style-rounded-2-left-shadow:has(.custom_ol_2_columns) [data-same-height] {
        padding:var(--vii-spacing-default) var(--vii-spacing-gap-container);
        box-shadow:0 0 10px 5px rgba(255, 112, 62, .08);
    }
}
@media only screen and (max-width:1280px) {
    .style-rounded-2-left-shadow:has(.custom_ol_2_columns) [data-same-height] {
        padding:var(--vii-spacing-default) var(--vii-spacing-gap-container);
        box-shadow:0 0 10px 5px rgba(255, 112, 62, .08);
    }
}

/***************************************
* Editor Image
****************************************/
/* Image tag: with and without caption */
.wpb_text_column :where(p > img, .wp-caption > img) {margin-bottom:0;}

/* With-caption wrapper */
.wp-caption {width:fit-content; margin-bottom:var(--vii-spacing-paragraph);}

/* Has link */
/* Single image with link only have hover effect if inside site-content */
.mceContentBody .wp-caption a,
.site-content .wp-caption a {display:block; position:relative; overflow:hidden;}
.mceContentBody .wp-caption a:before,
.site-content .wp-caption a:before {
    content:"";
    position:absolute; inset:0; z-index:1; background:#000; opacity:0;
    transition:opacity .3s ease;
}
.mceContentBody .wp-caption a img,
.site-content .wp-caption a img {width:100%; transition:transform .3s ease;}
.mceContentBody .wp-caption a:hover:before,
.site-content .wp-caption a:hover:before {opacity:.3;}
.mceContentBody .wp-caption a:hover img,
.site-content .wp-caption a:hover img {transform:scale(1.02);}

/* Alignment */
.wp-caption.alignleft .wp-caption-text,
.wp-caption.alignleft .wp-caption-dd {text-align:left;}
.wp-caption.aligncenter .wp-caption-text,
.wp-caption.aligncenter .wp-caption-dd {text-align:center;}
.wp-caption.alignright .wp-caption-text,
.wp-caption.alignright .wp-caption-dd {text-align:right;}

/* Caption text */
.wp-caption-text {padding-top:5px;}

/* VC Row */
@media only screen and (min-width:1281px) {
    .vc_row.gradient-1-radical {
        --vii-vc-row-fill-padding-top:150px;
    }
}
@media only screen and (max-width:1280px) {
    .vc_row.gradient-1-radical > i.row-gradient {min-width:1280px}
    .vc_row.gradient-1-radical > i.row-gradient img {--tw-translate-y:0%}
}
@media only screen and (max-width:768px) {
    .vc_row.gradient-1-radical > i.row-gradient {min-width:1560px}
}