/****************************
 * 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:20;}
.site-footer {position:relative; z-index:10;}

/* Container */
.container {
    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);
}

/* 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
****************************/
/* Footer text and permalink */
.site-footer-content {padding-top:var(--twc-spacing-80);}
.site-footer-content.txt_color_white p,
.site-footer-content.txt_color_white p a,
.site-footer-content.txt_color_white li a {color:rgb(255 255 255 / .5);}
.site-footer-content.txt_color_white p a:hover,
.site-footer-content.txt_color_white li a:hover,
.site-footer-content.txt_color_white p a:focus,
.site-footer-content.txt_color_white li a:focus {color:#fff;}

.site-footer-content a {font-weight:500; text-decoration:none;}
.site-footer-content.txt_color_white p a:hover, .site-footer-content.txt_color_white p a:hover,
.site-footer-content li a:hover, .site-footer-content li a:focus {color:#fff; text-decoration:none;}

/* Footer space */
.main_content .site-footer-content {
    --twc-spacing-heading:var(--twc-spacing-15);
    --twc-spacing-default:var(--twc-spacing-60);
}

/* 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:55px;}

/* Footer nav menu */
.site-footer-content .widget_nav_menu ul {margin:0; list-style:none; display:flex; flex-wrap:wrap;}
.site-footer-content .widget_nav_menu ul li {margin:0; padding:0;}
.site-footer-content .widget_nav_menu ul li:not(:last-child) {margin-right:var(--twc-gap-container);}

/* Footer copyright */
#copyright {font-size:14px;}

/* Left menu */
#footer-left > .vc_column-inner > .wpb_wrapper {max-width:460px; margin-left:auto; margin-right:auto;}


/****************************
 * Editor style
****************************/
/* Background colors */
[class*="bg_color_"] {color:#fff;}
[class*="bg_color_"] a {color:#fff;}
[class*="bg_color_"] a:hover, [class*="bg_color_"] a:focus {color:var(--twc-color-yellow);}
.bg_color_yellow {background:var(--twc-color-yellow);}
.bg_color_blue {background:var(--twc-color-blue);}
.bg_color_primary {background:var(--twc-color-primary);}

.txt_color_black {color:#000 !important;}

/* button with bg pink */
.bg-pink [class*="btn_primary"]:not(.ignore-span):before {
    background:var(--twc-color-primary-highlight);
}

/* Force white text color */
.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 {color:#fff;}
.txt_color_white a:not([class*="btn_"]):hover, .txt_color_white a:not([class*="btn_"]):focus {color:var(--twc-color-primary-highlight);}

/* Force white text color */
.txt_color_white {
    --twc-color-heading:var(--twc-color-white);
    --twc-color-primary-highlight:#12132a;
}


/* Fonts */
.txt_font_primary {font-family:var(--twc-font-primary);}
.txt_font_primary_medium {font-family:var(--twc-font-primary); font-weight:500 !important;}
.txt_font_primary_semibold {font-family:var(--twc-font-primary); font-weight:600 !important;}
.txt_font_primary_bold {font-family:var(--twc-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;}

.txt_size_16px {font-size:var(--twc-size-16px) !important;}

/* Buttons */
/* button primary */
[class*="btn_primary"], [class*="btn_primary"] > span {position:relative}
[class*="btn_primary"]:not(.ignore-span):before {
    content:""; position:absolute; bottom:0; left:0; right:0; height:0;
    transition:all .4s ease; background:var(--twc-color-pink);
}
[class*="btn_primary"]:not(.ignore-span):hover,
[class*="btn_primary"]:not(.ignore-span):focus {background:var(--twc-color-primary);}
[class*="btn_primary_white"] {background:#fff;}
[class*="btn_primary_white"]:hover, [class*="btn_primary_white"]:focus {--twc-color-primary:#fff;}
[class*="btn_primary"]:hover:before, [class*="btn_primary"]:focus:before {height:100%;}

/* button group (auto detect via js) */
p.button-group {display:flex; flex-wrap:wrap; gap:5px 15px;}
p[style*="text-align:center"].button-group,
p[style*="text-align: center"].button-group {justify-content:center;}

/* text icon */
.txt_icon {
    font-size:var(--twc-size-16px); font-weight:600; font-family:var(--twc-font-primary);
    color:var(--twc-color-blue); display:block; position:relative; padding-left:30px;
}
.txt_icon i {
    color:#000;
    position:absolute; top:0; left:0;
}

.bg-extra-dark-blue {background-color:#12132a;}

/****************************
 * Spacing
****************************/
/* clear line-height of headings */
.wpb_text_column h2:first-child {margin-top:-.3em;}

/* 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(--twc-gap-vc-column) * -1); margin-right:calc(var(--twc-gap-vc-column) * -1);}
    .main_content .vc_column_container > .vc_column-inner {padding-left:var(--twc-gap-vc-column); padding-right:var(--twc-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(--twc-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(--twc-spacing-default);
}

/* Spacing: Custom */
.no-margin-bottom {margin-bottom:0 !important;}
.margin-bottom-default {margin-bottom:var(--twc-spacing-default) !important;}
.margin-bottom-80px {margin-bottom:var(--twc-spacing-80) !important;}
.margin-bottom-60px {margin-bottom:var(--twc-spacing-60) !important;}
.margin-bottom-45px {margin-bottom:var(--twc-spacing-45) !important;}
.margin-bottom-30px {margin-bottom:var(--twc-spacing-30) !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;}

.padding-left-45px {padding-left:var(--twc-gap-container);}
.padding-top-60px {padding-top:var(--twc-spacing-60);}
.padding-side-left {padding-left:var(--twc-gap-side);}
.padding-side-right {padding-right:var(--twc-gap-side);}

/* row with custom bg */
.vc_row.twc-row-bg-color#newsletter {--twc-spacing-default:calc(var(--twc-spacing-60) + 10px);}
.main_content .vc_row-has-fill.twc-row-bg-color#newsletter + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner {padding-top:0;}


/* Row has fill > one col 767 > only the first col has padding top */
@media only screen and (max-width:767px) {
    .main_content .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container:not(:first-child) > .vc_column-inner,
    .main_content .vc_row-has-fill > .vc_column_container:not(:first-child) > .vc_column-inner {padding-top:0;}
}

/****************************
 * 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:#1d1b1b80;}
body ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#1d1b1b80;}
body :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#1d1b1b80;}
body :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#1d1b1b80;}

/* Text block container */
.twc-vc-custom-container.container-medium {max-width:1060px; margin-left:auto; margin-right:auto;}

/* Clip email */
.email-link {
    display:inline-block; max-width:100%;
    /*white-space:nowrap; overflow:hidden; text-overflow:ellipsis;*/
    word-break:break-all;
}

/* Full width */
.twc-full-width {margin-left:calc(-1 * var(--twc-gap-side) - 0.5px); margin-right:calc(-1 * var(--twc-gap-side));}

/*********************************************
 * Predefined classes
**********************************************/
/* Keep aspect ratio using css */
.fw-ratio-container {position:relative; padding-top:56.25%;}
.fw-ratio-element {position:absolute; top:0; left:0; right:0; bottom:0;}

/* fix VC single image not display when using svg image */
.wpb_single_image img {width:100%;}

/* align absolute full */
.fw-align--absolute-full,
.fw-align--absolute-full-b:before,
.fw-align--absolute-full-a:after,
.fw-align--absolute-full-ba:before,
.fw-align--absolute-full-ba:after {position:absolute; top:0; left:0; right:0; bottom:0; content:"";}

/* align absolute center */
.fw-align--absolute-center {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%, -50%);
}
.fw-align--absolute-center-h {
    position:absolute; left:50%;
    transform:translateX(-50%);
}
.fw-align--absolute-center-v {
    position:absolute; top:50%;
    transform:translateY(-50%);
}

/* align flex center */
.fw-align--flex-center-v {display:flex; align-items:center;}
.fw-align--flex-center-h {display:flex; justify-content:center;}
.fw-align--flex-center-both, .fw-align--flex-center {display:flex; align-items:center; justify-content:center;}

/* align flex grid */
.fw-grid--flex {
    display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;
    -webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;
}

/* Background size cover */
.fw-bg-cover {background-size:cover; background-position:center; background-color:#eee;}
.fw-bg-contain {background-size:contain; background-position:center; background-repeat:no-repeat;}
.fw-bg-cover > img, .fw-bg-contain > img {opacity:0; max-width:100%; max-height:100%;}

/* Display flex */
.fw-flex {display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}
.fw-flex--inline {display:-ms-inline-flexbox;display:inline-flex;}
.fw-flex--wrap {-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.fw-flex--align-center {-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}
.fw-flex--align-start {
    -webkit-box-align:start;-webkit-align-items:flex-start;
    -moz-box-align:start;-ms-flex-align:start;align-items:flex-start;
}
.fw-flex--align-end {-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;}
.fw-flex--justify-space-around {-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;}
.fw-flex--justify-space-between {
    -webkit-box-pack:justify;-webkit-justify-content:space-between;
    -ms-flex-pack:justify;justify-content:space-between;
}
.fw-flex--justify-center {
    -webkit-box-pack:center;-webkit-justify-content:center;
    -moz-box-pack:center;-ms-flex-pack:center;justify-content:center;
}
.fw-flex--justify-end {
    -webkit-box-pack:end;-webkit-justify-content:flex-end;
    -moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;
}
.fw-flex--column {
    -webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;
    -moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;
}