/***************************************
* Body text & Permalink
****************************************/
html:not(.wp-toolbar) body {
    color:var(--vii-color-text);
    /*background:var(--vii-color-bg);*/
    font-family:var(--vii-font-primary), sans-serif;
    font-size:var(--vii-size-body);
    line-height:1.56; font-weight:500;
}
a, button {
    color:var(--vii-color-text);
    transition:var(--vii-transition);
}

/* Permalink */
.mceContentBody a:not([class*="btn_"]),
.wpb_text_column p a:not([class*="btn_"]) {
    color:var(--vii-color-permalink);
    font-weight:700;
}
.mceContentBody a:not([class*="btn_"]):hover,
.mceContentBody a:not([class*="btn_"]):focus,
.mceContentBody a:not([class*="btn_"]):active,
.wpb_text_column p a:not([class*="btn_"]):hover,
.wpb_text_column p a:not([class*="btn_"]):focus,
.wpb_text_column p a:not([class*="btn_"]):active {
    color:var(--vii-color-permalink-highlight); outline:0;
}

/***************************************
* Headings
****************************************/
.mceContentBody h1, .mceContentBody h2, .mceContentBody h3, .mceContentBody h4, .mceContentBody h5, .mceContentBody h6,
.main_content h1, .main_content h2, .main_content h3, .main_content h4, .main_content h5, .main_content h6,
.main_content .heading_1, .main_content .heading_2, .main_content .heading_3, .main_content .heading_4, .main_content .heading_5, .main_content .heading_6,
.heading_1, .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-secondary), sans-serif; line-height:1.3; font-weight:700;
}
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--vii-size-h1); letter-spacing:-.01em;}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--vii-size-h2); line-height:1.2; letter-spacing:-.01em;}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--vii-size-h3);}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--vii-size-h4); letter-spacing:-.02em;}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--vii-size-h5); font-family:var(--vii-font-primary); letter-spacing:-.04em;}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--vii-size-h6); font-family:var(--vii-font-primary);}

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

.txt_80px {
    font-size:var(--vii-size-80);
}

/* h2 with txt_zigzag_line */
.mceContentBody h2:has(.txt_zigzag_line), .main_content h2:has(.txt_zigzag_line),
.main_content .heading_2:has(.txt_zigzag_line), .heading_2:has(.txt_zigzag_line) {line-height:1.55;}

/***************************************
* Text format
****************************************/
.txt_highlight_red, .txt_highlight_blue {}
[class*="txt_highlight"] {
    color:#fff !important;
    padding:.28em 0.42em; display:inline-block;
}
.txt_highlight_red {background-color:var(--vii-color-red);}
.txt_highlight_blue {background-color:var(--vii-color-blue);}

.txt_with_gradient_line {display:inline-block; position:relative; padding-bottom:40px}
.txt_with_gradient_line:before {
    content:"";
    width:100%; height:11px; background:linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, var(--vii-color-red) 52%);
    position:absolute; right:0; bottom:0;
}
@media only screen and (max-width:768px) {
    .txt_with_gradient_line {padding-bottom:26px}
    .txt_with_gradient_line:before {height:8px;}
}
@media only screen and (max-width:480px) {
    .txt_with_gradient_line {padding-bottom:15px}
    .txt_with_gradient_line:before {height:6px;}
}


/* 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);}


/* Alignments */
.txt_group {display:inline-block;}
.txt_uppercase {text-transform:uppercase;}


/***************************************
* Buttons
****************************************/
a.btn_primary {}
a.btn_primary_blue {}
a.btn_primary_blue_download {}
a.btn_download {}
a.btn_primary_no_icon {}

/* button primary */
[class*="btn_primary"] {
    --btn-bg-color:var(--vii-color-primary); --btn-color:var(--vii-color-on-primary);
    --btn-bg-color-hover:var(--vii-color-blue); --btn-color-hover:var(--vii-color-on-primary);
    --btn-padding-lr:16px; --btn-size-arrow: 20px;

    display:inline-flex; align-items:center; justify-content:center; gap:5px 10px;
    text-align:center; text-decoration:none; line-height:1.2;
    font-family:var(--vii-font-primary), sans-serif; font-weight:500; font-size:var(--vii-size-14);
    background:var(--btn-bg-color); color:var(--btn-color);
    padding:5px calc(var(--btn-padding-lr) + var(--btn-size-arrow) + 6px) 6px var(--btn-padding-lr);
    min-height:48px; min-width:100px;
    position:relative;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
}

/* button primary blue */
[class*="btn_primary_blue"] {
    --btn-bg-color:var(--vii-color-blue); --btn-color:var(--vii-color-white);
    --btn-bg-color-hover:var(--vii-color-primary); --btn-color-hover:var(--vii-color-on-primary);
}

/* icon */
@media only screen and (min-width:481px) {
    [class*="btn_primary"]:after {
        position:absolute; top:50%; right:var(--btn-padding-lr); transform:translate(12%, -50%);
        transition:transform .2s ease;
    }
}
[class*="btn_primary"]:after {
    content:"\e90c"; font-family:var(--vii-font-icomoon), fantasy;
    font-size:var(--btn-size-arrow); line-height:1;
}
[class*="btn_primary"][class*="_video"]:after {content:"\e90d";}

/* no icon */
[class*="btn_primary_no_icon"] {padding-right:var(--btn-padding-lr);}
[class*="btn_primary_no_icon"]:after {display:none;}

/* button primary blue download */
[class*="btn_primary"][class*="_download"]:after {content:"\e918";}

/* on text white */
.txt_color_white [class*="btn_primary"],
.txt_color_white [class*="btn_primary_blue"] {
    /* hover color => blue bg */
    --btn-bg-color-hover:var(--vii-color-white); --btn-color-hover:var(--vii-color-blue);
}
.txt_color_white [class*="btn_primary_blue"] {
    --btn-bg-color:var(--vii-color-primary); --btn-color:var(--vii-color-white);
}

/* button arrow */
a.btn_arrow {}
[class*="btn_arrow"] {
    --btn-color:var(--vii-color-primary);
    --btn-color-hover:var(--vii-color-blue);

    position:relative; padding-right:22px;
    color:var(--btn-color);
    font-weight:700;
}
[class*="btn_arrow"]:before {
    content:"";
    width:calc(100% - 22px); height:1px; background:var(--btn-color);
    position:absolute; bottom:4px; left:0; transition:var(--vii-transition)
}
[class*="btn_arrow"]:hover, [class*="btn_arrow"]:focus {
    color:var(--btn-color-hover);
}
[class*="btn_arrow"]:hover:before, [class*="btn_arrow"]:focus:before {
    background:var(--btn-color-hover);
}
[class*="btn_arrow"]:after {
    position:absolute; top:50%; right:0; transform:translateY(-50%);
    content:"\e913"; font-family:var(--vii-font-icomoon), fantasy; font-size:.9em; font-weight:400;
    transition:transform .3s ease;
}
[class*="btn_arrow"]:hover:after, [class*="btn_arrow"]:focus:after,
.trigger-hover:hover [class*="btn_arrow"]:after,
.trigger-hover:focus [class*="btn_arrow"]:after {
    transform:translate(3px, -50%);
}
.txt_color_white [class*="btn_arrow"] {
    --btn-color:var(--vii-color-white);
    --btn-color-hover:var(--vii-color-white);
}

/* button download */
[class*="btn_download"] {
    --btn-color:var(--vii-color-primary);
    --btn-color-hover:var(--vii-color-blue);
    color:var(--btn-color); font-weight:700; line-height:1.2;
    display:inline-flex; border-bottom:1px solid var(--btn-color);
}
[class*="btn_download"]:after {
    font-family:var(--vii-font-icomoon), fantasy; content:"\e940";
    margin-left:7px; line-height:1; font-weight:400;
}
[class*="btn_download"]:hover,
[class*="btn_download"]:focus {color:var(--btn-color-hover); border-color:var(--btn-color-hover)}


/***************************************
* List
****************************************/
/* Default unordered list for text block */
.mceContentBody ul,
.wpb_text_column ul {list-style:none; margin:0;}
.wpb_text_column ul ul {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 0 0 20px; position:relative;}

.mceContentBody ul > li:not(:last-child),
.wpb_text_column ul > li:not(:last-child) {margin-bottom:5px;}

.mceContentBody ul > li:before,
.wpb_text_column ul > li:before {
    content:""; position:absolute; top:.6em; left:0;
    width:8px; aspect-ratio:1;
    background:var(--vii-color-primary);
}

.mceContentBody ul ul > li:before,
.wpb_text_column ul ul > li:before {background:var(--vii-color-blue); border-color:var(--vii-color-blue);}


/***************************************
* Paragraph
****************************************/
.mceContentBody p:not(:last-child), .main_content p:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph);}


/***************************************
* HR
****************************************/
.main_content hr {
    margin-bottom:var(--vii-spacing-paragraph);
    border-color:#d7d7e8;
    border-width:1px;
}

/* on dark bg */
.main_content .txt_color_white hr {
    border-color:rgba(255, 255, 255, .2);
}