/***************************************
* Body text & Permalink
****************************************/
html:not(.wp-toolbar) body {
    color:var(--vii-color-text);
    background:var(--vii-color-bg);
    font-family:var(--vii-font-primary);
    font-size:var(--vii-size-body);
    line-height:1.5; font-weight:400;
}
a, button {
    color:var(--vii-color-text);
    transition:var(--vii-transition);
    --vii-color-permalink-highlight:var(--vii-color-orange);
}

/* Permalink */
.mceContentBody a:not([class*="btn_"]),
.wpb_text_column a:not([class*="btn_"]) {
    text-decoration:underline; color:var(--vii-color-permalink);
    font-weight:500;
}
.mceContentBody a:not([class*="btn_"]):hover,
.mceContentBody a:not([class*="btn_"]):focus,
.mceContentBody a:not([class*="btn_"]):active,
.wpb_text_column a:not([class*="btn_"]):hover,
.wpb_text_column a:not([class*="btn_"]):focus,
.wpb_text_column a:not([class*="btn_"]):active {
    color:var(--vii-color-permalink-highlight);
}

.wpb_text_column a[href*="tel"],
.wpb_text_column a[href*="mailto"] {
    text-decoration:none;font-weight:400;color:var(--vii-color-text);
}

/***************************************
* Headings
****************************************/
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1, .mceContentBody h2, .mceContentBody h3, .mceContentBody h4, .mceContentBody h5, .mceContentBody h6,
.main_content h2, .main_content h3, .main_content h4, .main_content h5, .main_content h6,
.main_content .heading_2, .main_content .heading_3, .main_content .heading_4, .main_content .heading_5, .main_content .heading_6, .heading_2, .heading_3, .heading_4, .heading_5, .heading_6 {
    color:var(--vii-color-heading); margin-bottom:var(--vii-spacing-heading);
    font-family:var(--vii-font-primary); font-weight:400;
}

.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--vii-size-h1);line-height:1.1;font-weight:500;}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--vii-size-h2);line-height:1.1;letter-spacing:-.03em;}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--vii-size-h3);line-height:1.2;letter-spacing:-.04em;}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--vii-size-h4);line-height:1.2;letter-spacing:-.01em;}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--vii-size-h5);line-height:1.2; letter-spacing:0;}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--vii-size-h6);line-height:1.4; letter-spacing:0;}

/* override classes display block to respect line height */
h1 [class*="heading_"],
h2 [class*="heading_"],
h3 [class*="heading_"],
h4 [class*="heading_"],
h5 [class*="heading_"],
h6 [class*="heading_"] {display:block;}

/* heading with dots */
.heading_dot {}
.heading_dot[class*="heading_"] {padding-left:16px; position:relative;}
.heading_dot[class*="heading_"]:before {
    content:"";
    width:8px; height:8px; border-radius:50%; background:var(--vii-color-heading);
    position:absolute; left:0; top:50%; transform:translateY(-50%);
}

/***************************************
* Text format
****************************************/
/* White turns gray if is inside Editor */
body[class*="wp-editor"] {--vii-color-white:#ccc;}

/* Colors */
.txt_color_white {color:var(--vii-color-white);}
.txt_color_blue {color:var(--vii-color-blue);
    --vii-color-heading:var(--vii-color-blue)}
.txt_color_green {color:var(--vii-color-green);
    --vii-color-heading:var(--vii-color-green)}

/* Size */
.txt_size_body_large {font-size:var(--vii-size-body-large)}
.txt_size_14 {font-size:var(--vii-size-14);}

/* Alignments */
.txt_group {display:inline-block;}
.txt_uppercase {text-transform:uppercase;}

/* Text weight */
.txt_weight_500 {font-weight:500;}

/* text caption */
.txt_caption {font-size:var(--vii-size-14);letter-spacing:0.04em;font-weight:500; text-transform:uppercase}

/***************************************
* Buttons
****************************************/
a.btn_primary {}
a.btn_primary_border {}

/* button primary */
[class*="btn_primary"] {
    --linear-btn:linear-gradient(to right, var(--vii-color-blue) 0%, var(--vii-color-light-blue-2) 50%, var(--vii-color-light-blue-2) 50%, var(--vii-color-blue) 100%);
    --btn-bg-color:var(--linear-btn); --btn-color:var(--vii-color-white);
    --btn-bg-color-hover:var(--linear-btn); --btn-color-hover:var(--vii-color-white);
    --btn-icon-color:var(--vii-color-turquoise);--btn-icon-color-hover:var(--vii-color-turquoise);
    --padding:13px 24px 13px calc(24px + 1em + 8px);--padding-hover:13px calc(24px + 1em + 8px) 13px 24px;

    display:inline-flex;align-items:center;justify-content:center;border-radius:16px;
    text-decoration:none;text-transform:uppercase;line-height:1.1;
    font-family:var(--vii-font-primary); font-weight:500; font-size:var(--vii-size-14);letter-spacing:0.04em;
    background:var(--btn-bg-color); background-size:200% 100%;background-position-x:0;color:var(--btn-color);
    position:relative;padding:var(--padding); min-height:46px; min-width:160px;transition:all .4s ease;
}

/* .txt_color_white btn_primary */
.txt_color_white .btn_primary {
    --btn-bg-color:var(--vii-color-white);--btn-bg-color-hover:var(--vii-color-turquoise);
    --btn-color:var(--vii-color-blue);--btn-icon-color-hover:var(--vii-color-white);
}

/* btn_primary_border */
.btn_primary_border {
    --btn-bg-color:transparent; --btn-color:var(--vii-color-blue);
    --btn-bg-color-hover:var(--vii-color-light-gray-8); --btn-color-hover:var(--vii-color-blue);
    --btn-icon-color:var(--vii-color-turquoise);--btn-icon-color-hover:var(--vii-color-turquoise);
    border:2px solid var(--vii-color-light-gray-8);
}

/* .txt_color_white btn_primary_border */
.txt_color_white .btn_primary_border {
    --btn-color:var(--vii-color-white);--btn-bg-color-hover:var(--vii-color-white);border-color:var(--vii-color-white);
}

/* icon in before */
[class*="btn_primary"]::before,
[class*="btn_primary"]::after {
    content:"\e902";
    font-family:"icomoon", fantasy !important;line-height:.5em;font-size:calc(1em * (10 / 7));bottom:.05em;
    display:inline-block;color:var(--btn-icon-color);overflow:visible;width:0;position:relative;
}

/* before at left show up, after at left but hidden */
[class*="btn_primary"]::before {right:calc(1em + 8px);transition:all .4s ease;}
[class*="btn_primary"]::after {left:-20px;opacity:0;transition:left 0.4s ease, opacity 0.3s ease;}

/*focus visible*/
[class*="btn_primary"]:focus-visible {border-radius:16px;}
.txt_color_white [class*="btn_primary"]:focus-visible {outline-color:var(--vii-color-orange);}

/* hover */
.hover-trigger:hover [class*="btn_primary"],
.hover-trigger:focus [class*="btn_primary"],
[class*="btn_primary"]:hover,
[class*="btn_primary"]:focus {
    padding:var(--padding-hover);background-color:var(--btn-bg-color-hover);
    text-decoration:none; background-position-x:100%; color:var(--btn-color-hover);
}

/* when hover before move right and slowly hidden, after move right and slowly show */

.hover-trigger:hover [class*="btn_primary"]::before,
.hover-trigger:focus [class*="btn_primary"]::before,
[class*="btn_primary"]:hover::before,
[class*="btn_primary"]:focus::before {right:-20px;color:var(--btn-icon-color-hover);opacity:0;}

.hover-trigger:hover [class*="btn_primary"]::after,
.hover-trigger:focus [class*="btn_primary"]::after,
[class*="btn_primary"]:hover::after,
[class*="btn_primary"]:focus::after {
    color:var(--btn-icon-color-hover);left:8px;opacity:1;transition:left 0.4s ease, opacity 0.6s ease;
}


/***************************************
* List
****************************************/
/* Default unordered list for text block */
.mceContentBody ul,
.wpb_text_column ul {
    list-style:disc; margin:0;padding-left:36px;}
.wpb_text_column ul ul, .wpb_text_column ol ol {padding-top:15px;}

.mceContentBody ul:not(:last-child),
.wpb_text_column ul:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph);}

.mceContentBody ul > li,
.wpb_text_column ul > li {padding:0; position:relative;}

.mceContentBody ul > li:not(:last-child),
.wpb_text_column ul > li:not(:last-child) {margin-bottom:15px;}


/* Unordered Lists */
ul.custom_ul {list-style:none; margin:0;padding-left:0;}
ul.custom_ul:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph);}
ul.custom_ul > li {padding:0 0 0 16px; position:relative;}
ul.custom_ul > li:before {
    position:absolute; top:0.9em; left:0; content:"\e918";font-size:0.5em;
    font-family:var(--vii-font-icomoon); color:var(--vii-color-green);border:none;
}

@media screen and (max-width:768px) {
    .mceContentBody ul:not(.custom_ul),
    .wpb_text_column ul:not(.custom_ul) {padding-left:20px;}
}

/***************************************
* Paragraph
****************************************/
.mceContentBody p:not(:last-child):not(:has(a[class])), .main_content p:not(:last-child):not(:has(a[class])) {margin-bottom:var(--vii-spacing-paragraph);}
.mceContentBody p:has(a[class]):not(:first-child), .main_content p:has(a[class]):not(:first-child) {margin-top:var(--vii-spacing-32);}

/***************************************
* Table
****************************************/
.mceContentBody table, .main_content table {margin-bottom:var(--vii-spacing-paragraph);}
table.custom_table, table.no_border, table.has-border-top {}

/* Table > custom_table */
table.custom_table {
    border-radius:8px; overflow:hidden;
    font-size:var(--vii-size-14);
}
.table-responsive table.custom_table:before {
    content:"";
    position:absolute; inset:0; pointer-events:none; z-index:1;
    border:1px solid var(--vii-color-dark); border-radius:8px;
}
table.custom_table tr {position:relative}
table.custom_table tr:not(:first-child):not(:last-child)::after {
    content:"";display:inline-block;
    position:absolute; bottom:0; left:12px; right:12px;
    height:1px; background-color:var(--vii-color-light-gray-4);
}
table.custom_table td {border:none;padding:4px 12px;}
table.custom_table tr:last-child td {padding-bottom:8px;}
table.custom_table tr:first-child td {
    width:auto !important;
    padding-top:6px; padding-bottom:6px;
    background-color:var(--vii-color-blue); color:var(--vii-color-white);
    font-size:var(--vii-size-20);line-height:1.4;
}
table.custom_table td:first-child {padding-right:0;}
table.custom_table tr td:last-child {
    text-align:right;
    width:auto !important;
}
table.custom_table tr:not(:first-child) td:first-child {
    color:var(--vii-color-blue);font-weight:500;
    width:auto !important;
}
.mceContentBody table.custom_table:before { border-right-width:2px;border-bottom-width:2px;}
@media screen and (max-width:1180px) {
    table.custom_table td {padding-left:var(--vii-gap-container);padding-right:var(--vii-gap-container);}
}

/* Table > table no border */
table.no_border tr td {border:none; padding:4px;}
table.no_border tr > td:first-child {padding-left:0; width:40% !important;}
table.no_border tr > td:last-child {padding-right:0;}

table.no_border tr.has-2-td > td:last-child {padding-right:0; width:60% !important;}

table.no_border tr.has-3-td td:nth-child(2) {width:42.5% !important;}
table.no_border tr.has-3-td td:nth-child(3) {width:17.5% !important;}

@media only screen and (max-width:1180px) {
    table.no_border tr > td:first-child {width:30% !important;}

    table.no_border tr.has-2-td > td:last-child {padding-right:0; width:70% !important;}

    table.no_border tr.has-3-td td:nth-child(2) {width:45% !important;}
    table.no_border tr.has-3-td td:nth-child(3) {width:25% !important;}
}
@media only screen and (max-width:768px) {
    table.no_border tr > td:first-child {width:40% !important;}

    table.no_border tr.has-2-td > td:last-child {width:60% !important; text-align:right}

    table.no_border tr.has-3-td {display:flex; flex-wrap:wrap; width:100%;}
    table.no_border tr.has-3-td > td:empty {display:none;}
    table.no_border tr.has-3-td > td:first-child {width:100% !important;}
    table.no_border tr.has-3-td > td:nth-child(2) {width:70% !important;}
    table.no_border tr.has-3-td > td:nth-child(3) {width:30% !important;}
}

/* Table > table has border top */
table.has-border-top {--gap:32px;}
table.has-border-top tr td {
    padding:var(--vii-spacing-24) calc(var(--gap) / 2);
    border:none; position:relative;
}
table.has-border-top tr td:before {
    content:"";
    width:calc(100% - var(--gap)); height:1px; background:rgba(0, 0, 0, .2);
    position:absolute; top:0; left:calc(var(--gap) / 2);
}
table.has-border-top tr td:first-child {padding-left:0;}
table.has-border-top tr td:first-child:before {width:calc(100% - var(--gap) / 2); left:0;}
table.has-border-top tr td:last-child {padding-right:0;}
table.has-border-top tr td:last-child:before {width:calc(100% - var(--gap) / 2);}
table.has-border-top tr:last-child td {padding-bottom:0}
table.has-border-top tr td > *:not(:last-child):not(p:empty) {margin-bottom:8px; display:block}
@media only screen and (max-width:1180px) {
    table.has-border-top {--gap:var(--vii-gap-container);}
    table.has-border-top tr td {padding-top:16px; padding-bottom:16px;}
}


/***************************************
* HR tag
****************************************/
.mceContentBody hr, .main_content hr {margin-bottom:var(--vii-spacing-paragraph);border-bottom-width:1px;}


/***************************************
* Tag line
****************************************/
[class*="txt_panel_star"] {
    --vii-color-white:#fff;
    --radius:8px;--bg-tag:var(--vii-color-white);
    display:inline-flex;align-items:center;min-height:32px; padding:5px 8px;
    border-radius:var(--radius);text-transform:uppercase;
    position:relative;background-color:var(--bg-tag);margin-left:32px;line-height:1;
    color:var(--vii-color-white);font-size:14px;font-weight:500;
}
[class*="txt_panel_star"]::before {
    content:"\e90c";font-size:16px;line-height:1;
    font-family:var(--vii-font-icomoon), fantasy;border-radius:var(--radius);
    display:inline-flex;align-items:center;justify-content:center;width:32px;height:100%;
    background-color:var(--bg-tag);position:absolute;top:0;left:-30px;
}
.txt_panel_star_green {
    --bg-tag:var(--vii-color-green);
}

.txt_panel_star_orange {
    --bg-tag:var(--vii-color-orange);
}