/****************************
 * Global style
*****************************/
body {padding:var(--vii-body-padding);}
body:before {
    content:""; position:fixed; top:0; left:0; z-index:9999;
    width:100%; height:100vh; pointer-events:none;
    box-shadow:inset 0 0 0 var(--vii-body-padding) #fff;
}

/* Transparent header */
body.header-transparent .site-header {padding-top:0;}
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .site-nav--desktop {
    background:rgba(0, 0, 0, 0.05); border-color:rgba(255, 255, 255, 0.2);
    box-shadow:inset 56px -56px 56px rgba(0, 0, 0, 0.05), inset -56px 56px 56px rgba(255, 255, 255, 0.05);
    -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
}
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .site-nav--row__inner {
    min-height:calc(var(--vii-header-height) + var(--vii-body-padding));
    padding-top:var(--vii-body-padding);
}
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .desktop-menu ul.menu > li > a,
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .language-switcher.hover .active {color:#fff;}
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .desktop-menu ul.menu > li > a:hover,
html:not(.menu-open) body.header-transparent:not(.scroll-middle) .desktop-menu ul.menu > li > a:focus {color:var(--vii-color-primary);}


/* Main sections */
.site-sticky {position:fixed; z-index:40; top:0; left:0; right:0;}
.site-header {position:relative; z-index:30; padding-top:calc(var(--vii-header-height) - var(--vii-body-padding));}
.site-content {position:relative; z-index:20;}
.site-footer {position:relative; z-index:10;}

/* Container */
.container, .container-small {
    position:relative; width:100%; max-width:calc(var(--vii-container) + var(--vii-gap-container) * 2);
    margin-right:auto; margin-left:auto;
    padding-right:var(--vii-gap-container); padding-left:var(--vii-gap-container);
}
.container-small {max-width:calc(768px + var(--vii-gap-container) * 2);}

/* Footer stick to bottom */
html, body {min-height:100vh;}
body {
    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;
}


/****************************
 * Header
*****************************/


/****************************
 * Footer
****************************/
@media only screen and (min-width:1025px) {
    /* First column full height */
    #footer-info > .vc_column_container:first-child > .vc_column-inner > .wpb_wrapper {
        height:100%; display:flex; flex-direction:column; justify-content:space-between;
        margin-bottom:var(--vii-spacing-20);
    }
    #footer-info > .vc_column_container:first-child > .vc_column-inner > .wpb_wrapper .social-buttons {
        --vii-spacing-default:0;
    }

    /* Inner cols border left */
    .site-footer-content #footer-info .vc_inner {margin-bottom:var(--vii-spacing-20);}
    .site-footer-content #footer-info .vc_inner > .wpb_column {border-left:2px solid var(--vii-color-neutral-200);}
}


/* Footer text and permalink */
.site-footer-content {
    --vii-spacing-heading:5px;
    --vii-spacing-default:var(--vii-spacing-40);
    background-color:var(--vii-color-neutral-100); padding-top:var(--vii-spacing-80);
    color:var(--vii-color-neutral-600);
}
.site-footer-content p a:not([class*="btn_"]) {color:var(--vii-color-neutral-600);}
.site-footer-content p a:not([class*="btn_"]):hover,
.site-footer-content p a:not([class*="btn_"]):focus {text-decoration:none; color:var(--vii-color-primary);}

/* Footer rows and columns */
.footer-row.vc_row {display:flex; flex-wrap:wrap; justify-content:space-between;}
.footer-row.vc_row:before, .footer-row.vc_row:after {display:none;}
.footer-row.vc_row > div {width:auto;}

/* Footer logo image */
.footer-logo.wpb_single_image img {width:auto; height:64px;}

/* Footer nav menu */
.site-footer-content .widget_nav_menu ul {margin:0; list-style:none;}
.site-footer-content .widget_nav_menu ul li {margin:0; padding:0;}
.site-footer-content .widget_nav_menu ul li:not(:last-child) {margin-bottom:12px;}
.site-footer-content .widget_nav_menu ul li a {
    color:var(--vii-color-dark); font-size:var(--vii-size-h5);
    font-family:var(--vii-font-primary); line-height:1.25; font-weight:700;
}
.site-footer-content .widget_nav_menu ul li a:hover,
.site-footer-content .widget_nav_menu ul li a:focus {color:var(--vii-color-primary); text-decoration:none;}

/****************************
 * Editor style
****************************/
[class*="txt_caption"] {
    font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
    color:var(--vii-color-text);
}
.txt_caption_12 {font-size:var(--vii-size-12);}
.txt_caption_14 {font-size:var(--vii-size-14);}

/*button*/
[class*="btn_primary"]:hover:before {transform:translate(-50%, -50%) scale(1);}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {background:#000;}
[class*="btn_primary_orange"]:hover, [class*="btn_primary_orange"]:focus {background:var(--vii-color-primary);}

/* Force white text color */
.txt_color_white {--color-white:#fff; --vii-color-text:var(--color-white);}
.main_content .txt_color_white, .txt_color_white a:not([class*="btn_"]),
.main_content .txt_color_white h1, .main_content .txt_color_white h2, .main_content .txt_color_white h3,
.main_content .txt_color_white h4, .main_content .txt_color_white h5, .main_content .txt_color_white h6,
.main_content .txt_color_white .heading_1, .main_content .txt_color_white .heading_2, .main_content .txt_color_white .heading_3,
.main_content .txt_color_white .heading_4, .main_content .txt_color_white .heading_5, .main_content .txt_color_white .heading_6 {color:var(--color-white);}
.txt_color_white a:not([class*="btn_"]):hover, .txt_color_white a:not([class*="btn_"]):focus {color:#000;}

/* Fonts */
.txt_font_primary {font-family:var(--vii-font-primary);}
.txt_font_primary_bold {font-family:var(--vii-font-primary); font-weight:700;}

/* TEXT ALIGNMENTS */
.txt_inline_block {display:inline-block;}
.txt_right {text-align:right; display:block;}
.txt_center {text-align:center; display:block;}
.txt_italic {font-style:italic;}
.txt_center_justify {text-align:justify; -moz-text-align-last:center; text-align-last:center; display:block;}

/* Text size */
.txt_size_10 {font-size:10px !important;}
.txt_size_12 {font-size:12px !important;}

/****************************
 * Spacing
****************************/
/* the last element in a text block will have no spacing */
.wpb_text_column :last-child {margin-bottom:0;}

/* Column spacing, revert to VC spacing for screen smaller 1024px */
@media only screen and (min-width:1025px) {
    .main_content .vc_row {margin-left:calc(var(--vii-gap-vc-column) * -1); margin-right:calc(var(--vii-gap-vc-column) * -1);}
    .main_content .vc_column_container > .vc_column-inner {padding-left:var(--vii-gap-vc-column); padding-right:var(--vii-gap-vc-column);}
    .main_content .vc_row.vc_row-no-padding .vc_column-inner {padding-left:0; padding-right:0;}
}

/* Spacing: Visual Composer */
.main_content .wpb_content_element {margin-bottom:var(--vii-spacing-default);}
.main_content .vc_col-has-fill > .vc_column-inner,
.main_content .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner,
.main_content .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner,
.main_content .vc_row-has-fill > .vc_column_container > .vc_column-inner {
    padding-top:var(--vii-spacing-default);
}

/* Spacing: Custom */
.no-margin-bottom {margin-bottom:0 !important;}
.margin-bottom-default {margin-bottom:var(--vii-spacing-default) !important;}
.margin-bottom-100px {margin-bottom:var(--vii-spacing-100) !important;}
.margin-bottom-90px {margin-bottom:var(--vii-spacing-90) !important;}
.margin-bottom-45px {margin-bottom:var(--vii-spacing-45) !important;}
.margin-bottom-35px {margin-bottom:var(--vii-spacing-35) !important;}
.margin-bottom-30px {margin-bottom:var(--vii-spacing-30) !important;}
.margin-bottom-25px {margin-bottom:var(--vii-spacing-25) !important;}
.margin-bottom-20px {margin-bottom:var(--vii-spacing-20) !important;}
.margin-bottom-15px {margin-bottom:var(--vii-spacing-15) !important;}
.margin-bottom-10px {margin-bottom:var(--vii-spacing-10) !important;}


/****************************
 * 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);}
body ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder);}
body :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder);}
body :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--vii-color-placeholder);}

/* Loading */
[class*="loaded"].loading:after {opacity:0; visibility:hidden; pointer-events:none;}
.loading:after {
    content:""; position:absolute; top:0; left:0; z-index:99;
    width:100%; height:100%;
    background:rgba(255, 255, 255, 0.4) var(--vii-loading-image) center/35px no-repeat;
    transition:var(--vii-transition);
}

/* Top Separator */
[class*="vii-top-separator"],
.vii-top-separator {border-top:2px solid var(--vii-color-neutral-200); padding-top:var(--vii-spacing-25);}
.vii-top-separator--gray {border-top-color:var(--vii-color-neutral-400);}
.vii-top-separator--black {border-top-color:#000;}
.vii-top-separator--white {border-top-color:#fff;}
.vii-top-separator--light-white {border-top-color:rgba(255, 255, 255, .3);}