/****************************
 * Global style
*****************************/
/* Main sections */
.site-sticky {position:fixed; z-index:40; top:0; left:0; right:0;}
.site-header {position:relative; z-index:30; padding-top:var(--twc-header-height);}
.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(--twc-container) + var(--twc-gap-container) * 2);
    margin-right:auto; margin-left:auto;
    padding-right:var(--twc-gap-container); padding-left:var(--twc-gap-container);
}
.container-small {max-width:calc(880px + var(--twc-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;
}


/****************************
 * Footer
****************************/
/* Footer text and permalink */
.site-footer-content {
    --twc-color-gray:#f6f6f6;
    --twc-container:1140px;
    background:var(--twc-color-gray); font-size:var(--twc-size-16); font-weight:400;
    color:rgba(0, 0, 0, .5); line-height:1.5;
    padding-top:var(--twc-spacing-75);
}
.site-footer-content, .site-footer-content a:not([class*="btn_"]) {
    background:var(--twc-color-gray); font-size:var(--twc-size-16); font-weight:400;
    color:rgba(0, 0, 0, .5); line-height:1.5; text-decoration:none;
}
.main_content .site-footer-content p:not(:last-child) {margin-bottom:15px;}
.site-footer-content a:not([class*="btn_"]):hover,
.site-footer-content a:not([class*="btn_"]):focus {color:var(--twc-color-primary);}
.site-footer-content a:not([class*="btn_"]):focus-visible {
    outline:2px solid var(--twc-color-secondary); border-radius:3px; transition:none;
}
.site-footer-content .container > .vc_row {margin-left:-90px;}

/* 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-image.wpb_single_image img {width:auto; height:92px;}

/* 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:5px;}
.site-footer-content .widget_nav_menu ul li a {white-space:nowrap;}

/* Footer top nav */
#footer-top-nav > .vc_column-inner > .wpb_wrapper {display:flex; flex-wrap:wrap;}
#footer-top-nav > .vc_column-inner > .wpb_wrapper > div {width:100%;}
#footer-top-nav > .vc_column-inner > .wpb_wrapper > .vc_wp_custommenu {width:50%;}

/* Copyright */
#copyright, #copyright a:not([class*="btn_"]) {
    font-size:var(--twc-size-14); font-weight:300; color:rgba(0, 0, 0, .2);
}
#copyright {--twc-spacing-default:var(--twc-spacing-40);}
#copyright a:not([class*="btn_"]):hover,
#copyright a:not([class*="btn_"]):focus {color:var(--twc-color-primary);}
#copyright .widget_nav_menu {width:480px;}
#copyright .widget_nav_menu ul {display:flex; flex-wrap:wrap; justify-content:space-between;}
#copyright .widget_nav_menu ul li:not(:last-child) {margin:0 10px 0 0;}

/****************************
 * Editor style
****************************/
/* Force white text color */
.txt_color_white {
    --twc-color-heading:var(--twc-color-white);
    --twc-color-heading-black:var(--twc-color-white);
    --twc-color-permalink:var(--twc-color-white);
    --twc-color-permalink-highlight:var(--twc-color-black);
}

/* Text color */
.main_content .txt_color_primary {color:var(--twc-color-primary);}

/* Text size */
.main_content .txt_16px {font-size:var(--twc-size-16);}

/* Fonts */
.main_content .txt_font_primary_light {font-family:var(--twc-font-primary); font-weight:300;}
.main_content .txt_font_primary {font-family:var(--twc-font-primary); font-weight:400;}
.main_content .txt_font_medium {font-family:var(--twc-font-primary); font-weight:500;}
.main_content .txt_font_primary_bold {font-family:var(--twc-font-primary); font-weight:700;}

/* Text alignment */
.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;}

/* Button with white text */
.txt_color_white [class*="btn_primary"] {
    --btn-bg-color:rgba(0, 0, 0, 0);
    --btn-color:var(--twc-color-white);
    --btn-border-color:rgba(255, 255, 255, .2);
    --btn-bg-color-hover:var(--twc-color-white);
    --btn-color-hover:var(--twc-color-black);
    --btn-border-color-hover:var(--twc-color-white);
}

/* Table */
table.custom_table {max-width:516px;}
.main_content table.custom_table tr td {
    --twc-spacing-heading:20px;
    color:rgba(0, 0, 0, .6); width:50%;
}
.main_content table.custom_table tr td a {font-weight:300; text-decoration:none; color:rgba(0, 0, 0, .6);}
.main_content table.custom_table tr td a:hover, .main_content table.custom_table tr td a:focus {color:var(--twc-color-primary);}
.main_content table.custom_table tr td a:focus-visible {
    outline:2px solid var(--twc-color-secondary); border-radius:3px; transition:none;
}


/****************************
 * 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(--twc-spacing-default) !important;}
.margin-bottom-145px {margin-bottom:var(--twc-spacing-145) !important;}
.margin-bottom-75px {margin-bottom:var(--twc-spacing-75) !important;}
.margin-bottom-55px {margin-bottom:var(--twc-spacing-55) !important;}
.margin-bottom-40px {margin-bottom:var(--twc-spacing-40) !important;}
.margin-bottom-30px {margin-bottom:var(--twc-spacing-30) !important;}
.margin-bottom-25px {margin-bottom:var(--twc-spacing-25) !important;}
.margin-bottom-20px {margin-bottom:var(--twc-spacing-20) !important;}
.margin-bottom-15px {margin-bottom:var(--twc-spacing-15) !important;}
.margin-bottom-10px {margin-bottom:var(--twc-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(--twc-color-placeholder);}
body ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--twc-color-placeholder);}
body :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--twc-color-placeholder);}
body :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--twc-color-placeholder);}

/* Loading (woocommerce selectors could be remove) */
.loading {position:relative;}
.loading:before {
    content:""; position:absolute; top:0; left:0; right:0; bottom:0; z-index:2;
    background-color:rgba(255, 255, 255, 0.7);
}
.loading:after {
    --loading-size:35px;
    content:""; position:absolute; top:50%; left:50%; z-index:3;
    width:var(--loading-size); height:var(--loading-size);
    margin:calc(-0.5 * var(--loading-size)) 0 0 calc(-0.5 * var(--loading-size));
    border-radius:50%; border:2px dashed transparent;
    border-bottom-color:var(--twc-color-primary);
    border-right-color:var(--twc-color-primary);
    animation:spinner .6s linear infinite;
    box-sizing:border-box;
}
@keyframes spinner {
    to {transform:rotate(360deg);}
}

/* Full width */
.twc-full-width {margin-left:calc(-1 * var(--twc-gap-side) - 0.5px); margin-right:calc(-1 * var(--twc-gap-side));}

/* Background color */
.twc-bg-gray {background-color:var(--twc-color-gray);}
.twc-bg-primary {background-color:var(--twc-color-primary); color:var(--twc-color-on-primary);}

/* A11y focus */
.a11y-focus:focus-visible {outline:2px solid var(--twc-color-secondary); border-radius:3px; transition:none;}