/***************************************
* 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-medium);
    line-height:1.6; font-weight:600;
}
a, button {
    color:var(--vii-color-text);
    transition:var(--vii-transition);
}

/* Permalink */
.mceContentBody a:not([class*="btn_"]),
.wpb_text_column a:not([class*="btn_"]) {
    text-decoration:underline; color:var(--vii-color-permalink);
    font-weight:600;
}
.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); 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); text-transform:uppercase;
    font-family:var(--vii-font-secondary); line-height:1.3; font-weight:500; letter-spacing:-0.02em;
}
.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);}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--vii-size-h3); line-height:1.2;}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--vii-size-h4);}
.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);}

/* 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;}

/* adjust font weight strong tag to 800 because design doesn't have font weight 700 */
.mceContentBody strong, .main_content strong {font-weight:800;}

/* heading with small bottom spacing */
.heading_small_bottom_spacing {--vii-spacing-heading:var(--vii-spacing-8);}

/***************************************
* 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-dark-blue);
    --vii-color-heading:var(--vii-color-dark-blue);
}
.txt_color_light_blue {
    color:var(--vii-color-light-blue);
    --vii-color-heading:var(--vii-color-light-blue);
}

/* font-sizes */
.txt_size_22px {font-size:var(--vii-size-22); line-height:1.5;}
.txt_size_18px {font-size:var(--vii-size-18);}

/* subtitle */
.txt_subtitle {font-size:var(--vii-size-18); font-weight:500; line-height:1.2; font-family:var(--vii-font-secondary);}

/* blue hr */
hr.light_blue {border-bottom:1px solid var(--vii-color-light-blue)}

/* Alignments */
.txt_group {display:inline-block;}
.txt_uppercase {text-transform:uppercase;}
.txt_with_vertical_line {padding-left:18px; border-left:3px solid var(--vii-color-light-blue); display:inline-block;}
@media only screen and (max-width:480px) {
    .txt_with_vertical_line {padding-left:8px; border-width:2px;}
}


/***************************************
* Buttons
****************************************/
a.btn_primary, a.btn_underline {}
[class*="btn_"] {
    display:inline-flex; align-items:center; justify-content:center; gap:5px 4px;
    font-family:var(--vii-font-primary); font-size:var(--vii-size-18); font-weight:600;
    line-height:1.2; text-decoration:none;
}
[class*="btn_"]:after {
    font-family:var(--vii-font-icomoon); content:"\e927";
    font-size:15px; line-height:1; font-weight:400; transform:translateY(.1em);
}

/* 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-white); --btn-color-hover:var(--vii-color-primary);
    --btn-border-color:var(--vii-color-primary); --btn-border-color-hover:var(--vii-color-primary);

    text-align:center;
    background:var(--btn-bg-color); color:var(--btn-color);
    border:1px solid var(--btn-border-color); border-radius:var(--vii-radius-4);
    padding:5px 16px 8px; min-height:44px; min-width:94px;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
    border-color:var(--btn-border-color-hover);
}

/* button underline */
[class*="btn_underline"] {
    color:var(--vii-color-text);
    border-bottom:1px solid var(--vii-color-text); padding-bottom:2px;
}
[class*="btn_underline"]:after {transition:var(--vii-transition)}
[class*="btn_underline"]:hover, [class*="btn_underline"]:focus {
    color:var(--vii-color-primary); border-color:var(--vii-color-primary);
}
[class*="btn_underline"]:hover:after, [class*="btn_underline"]:focus:after {
    transform:translate(3px, .1em); color:var(--vii-color-primary);
}

/***************************************
* Text with letters
****************************************/
.icon_letter_address, .icon_letter_phone, .icon_letter_email {}
[class*="icon_letter_"] {position:relative; padding-left:30px; display:inline-block}
[class*="icon_letter_"]:before {
    position:absolute; top:-.05em; left:0;
    font-family:var(--vii-font-primary);
}

[class*="icon_letter_address"]:before {content:"A:";}
[class*="icon_letter_phone"]:before {content:"P:";}
[class*="icon_letter_email"]:before {content:"E:";}

@media only screen and (max-width:480px) {
    [class*="icon_letter_"] {padding-left:22px;}
    [class*="icon_letter_"]:before {top:-0.02em;}
}

/***************************************
* 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:4px;}

.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 18px; position:relative;}

.mceContentBody ul > li:not(:last-child),
.wpb_text_column ul > li:not(:last-child) {margin-bottom:4px;}

.mceContentBody ul > li:before,
.wpb_text_column ul > li:before {
    content:"";
    position:absolute; top:.65em; left:0;
    transform:rotate(45deg) translate(3px, -3px); transform-origin:left top;
    width:5px; height:5px; background:var(--vii-color-primary);
}

/* Default ordered list for text block */
.mceContentBody ol > li,
.wpb_text_column ol > li {padding:0;}
.mceContentBody ol > li:not(:last-child),
.wpb_text_column ol > li:not(:last-child) {margin-bottom:4px;}
.wpb_text_column ol ol {padding-top:4px;}

/***************************************
* Paragraph
****************************************/
.mceContentBody p:not(:last-child), .main_content p:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph);}

/***************************************
* Table
****************************************/
.mceContentBody table, .main_content table {margin-bottom:var(--vii-spacing-paragraph);}

/* table no border */
table.no_border {}
table.no_border tr td {width:auto !important; border:1px dashed #ccc;}
.main_content table.no_border tr {border:none !important; background:unset !important;}
.main_content table.no_border tr td {
    height:auto !important;
    vertical-align:top;

    /* clear style from default table */
    padding:0 10px 0 0; border:none !important; background:unset !important; display:inline-block;
}
.main_content table.no_border tr td:first-child {width:200px !important;}
.main_content table.no_border tr td:last-child {padding-right:0;}
.main_content table.no_border tr:not(:last-child) td {padding-bottom:var(--vii-spacing-12);}
@media only screen and (max-width:920px) {
    .main_content table.no_border tr td:first-child {width:160px !important;}
}
@media only screen and (max-width:920px) and (min-width:481px) {
    .main_content table.no_border tr td:last-child {width:calc(100% - 160px) !important;}
}
@media only screen and (min-width:921px) {
    .main_content table.no_border tr td:last-child {width:calc(100% - 200px) !important;}
}
@media only screen and (max-width:480px) {
    .main_content table.no_border tr td {padding-right:0;}
    .main_content table.no_border tr td:first-child {width:100% !important;}
    .main_content table.no_border tr:not(:last-child) td {padding-bottom:0;}
    .main_content table.no_border tr td:last-child {padding-bottom:12px;}
}


/***************************************
* HR tag
****************************************/
.mceContentBody hr, .main_content hr {margin-bottom:var(--vii-spacing-paragraph);}


/***************************************
* Editor Image
****************************************/
/* Image tag: with and without caption */
.wpb_text_column :where(p > img, .wp-caption > img) {margin-bottom:0; border-radius:var(--vii-radius-8)}

/* With-caption wrapper */
.main_content .wp-caption {width:fit-content;}


/* Has link */
/* Single image with link only have hover effect if inside site-content */
.mceContentBody .wp-caption a,
.site-content .wp-caption a {display:block; position:relative; overflow:hidden;}
.mceContentBody .wp-caption a:before,
.site-content .wp-caption a:before {
    content:"";
    position:absolute; inset:0; z-index:1; background:#000; opacity:0;
    transition:opacity .3s ease;
}
.mceContentBody .wp-caption a img,
.site-content .wp-caption a img {width:100%; transition:transform .3s ease;}
.mceContentBody .wp-caption a:hover:before,
.site-content .wp-caption a:hover:before {opacity:.3;}
.mceContentBody .wp-caption a:hover img,
.site-content .wp-caption a:hover img {transform:scale(1.02);}

/* Alignment */
.wp-caption.alignleft .wp-caption-text,
.wp-caption.alignleft .wp-caption-dd {text-align:left;}
.wp-caption.aligncenter .wp-caption-text,
.wp-caption.aligncenter .wp-caption-dd {text-align:center;}
.wp-caption.alignright .wp-caption-text,
.wp-caption.alignright .wp-caption-dd {text-align:right;}

/* Caption text */
.wp-caption-text {padding-top:5px;}