/***************************************
* 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.4; font-weight:400;
}
a, button {
    color:var(--vii-color-text);
    transition:var(--vii-transition);
}

/* Permalink */
.wpb_text_column a:not([class*="btn_"]) {
    text-decoration:underline; color:var(--vii-color-permalink);
}
.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); text-decoration:none; outline:0;
}

/* a11y */
.wpb_text_column a:not([class*="btn_"]):focus-visible,
a:focus-visible, button:focus-visible {
    outline:2px solid var(--vii-color-primary); border-radius:3px;
    transition:none !important; text-decoration:none !important;
    background-color:var(--vii-color-gray);
}

/***************************************
* 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-primary); line-height:1.3; font-weight:700;
    letter-spacing:-0.03em; text-transform:capitalize;
}
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--vii-size-h1);}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--vii-size-h2); line-height:1.2;}
.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); line-height:1.4;}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--vii-size-h5);}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--vii-size-h6); color:var(--vii-color-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;}

/***************************************
* Text format
****************************************/
/* White turns gray if is inside Editor */
body[class*="wp-editor"] {--vii-color-white:#ccc;}

.txt_24px {font-size:var(--vii-size-24);}

/* Colors */
.txt_color_white {color:var(--vii-color-white);}
.txt_color_primary {color:var(--vii-color-primary);}
.txt_color_primary a {color:var(--vii-color-primary) !important; text-decoration:none !important;}
.txt_color_primary a:hover,
.txt_color_primary a:focus {text-decoration:underline !important;}


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

/* Font weight */
.txt_weight_medium {font-weight:500 !important;}

/***************************************
* Buttons
****************************************/
a.btn_primary, a.btn_read_more {}

/* 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-primary); --btn-color-hover:var(--vii-color-on-primary);

    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; text-decoration:none;
    font-family:var(--vii-font-primary); font-weight:400; line-height:1.2;
    background:var(--btn-bg-color); color:var(--btn-color);
    padding:5px 20px; min-height:50px; min-width:150px;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
}

/* button read more */
[class*="btn_read_more"] {
    font-weight:700; color:var(--vii-color-primary);
    text-transform:capitalize; border-bottom:1px solid var(--vii-color-primary);
}
[class*="btn_read_more"]:after {
    content:"\e950"; font-family:var(--vii-font-icomoon);
    margin-left:.6em; font-size:.8em;
    transition:var(--vii-transition); display:inline-block;
}
[class*="btn_read_more"]:hover:after {
    transform:translate(2px, -2px);
}
.txt_color_white [class*="btn_read_more"] {color:#fff; border-color:#fff;}

/***************************************
* Text with icons
****************************************/
p.icon_txt_address, p.icon_txt_phone, p.icon_txt_email {}
[class*="icon_txt_"] {position:relative; padding-left:3.5em; margin-bottom:var(--vii-spacing-45) !important;}
[class*="icon_txt_"]:before {
    position:absolute; top:-.1em; left:0; font-size:1.8em;
    font-family:var(--vii-font-icomoon); color:var(--vii-color-primary);
}
[class*="icon_txt_"] strong {font-size:var(--vii-size-h4); margin-bottom:.3em; display:inline-block;}
[class*="icon_txt_"] a {text-decoration:none !important;}
[class*="icon_txt_"] a:hover,
[class*="icon_txt_"] a:focus {text-decoration:underline !important;}

[class*="icon_txt_address"]:before {content:"\e90f";}
[class*="icon_txt_phone"]:before {content:"\e918";}
[class*="icon_txt_email"]:before {content:"\e915";}


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

.mceContentBody ul > li,
.wpb_text_column ul > li {padding:0 0 0 22px; position:relative;}

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

.mceContentBody ul > li:before,
.wpb_text_column ul > li:before {
    content:""; position:absolute; top:.35em; left:0;
    width:6px; height:6px; border-radius:50px;
    border:3px solid var(--vii-color-primary);
}

.mceContentBody ul ul > li:before,
.wpb_text_column ul ul > li:before {background:#fff;}