/***************************************
* 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:500;
}
a, button {
    color:var(--vii-color-text);
    transition:var(--vii-transition);
}

/* a11y */
a:focus-visible,
button:focus-visible {outline:2px solid var(--vii-color-primary); transition:none;}

/* Permalink */
.wpb_text_column a:not([class*="btn_"]) {
    text-decoration:underline; color:var(--vii-color-permalink); font-weight:700;
}
.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);
    font-family:var(--vii-font-primary); line-height:1.2; font-weight:700;
}
.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);}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {
    font-size:var(--vii-size-h4); color:var(--vii-color-blue); text-transform:uppercase;
    letter-spacing:0.015em;
}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--vii-size-h5); color:var(--vii-color-blue);}
.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;}
.heading_gray {font-size:var(--vii-size-28); font-weight:700; color:var(--vii-color-gray-50); letter-spacing:-.02em;}

/***************************************
* 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) !important;}
.txt_color_blue {color:var(--vii-color-blue) !important;}

/* Text size */
.txt_24px {font-size:var(--vii-size-24) !important;}
.txt_14px {font-size:var(--vii-size-14) !important;}

/* Text Font Family */
.txt_font_gilroy {font-family:var(--vii-font-primary) !important;}

/* Alignments */
.txt_group {display:inline-block;}
.txt_uppercase {text-transform:uppercase;}


/***************************************
* Buttons
****************************************/
a.btn_primary {}
a.btn_primary_border {}
a.btn_arrow {}
a.btn_arrow_blue {}

[class*="btn_primary"],
[class*="btn_arrow"],
[class*="btn_arrow"]:after,
[class*="btn_back"],
[class*="btn_back"]:before,
[class*="btn_submit"] {
    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; text-decoration:none;
}

[class*="btn_back"]:before,
[class*="btn_arrow"]:after {
    font-family:var(--vii-font-icomoon); transition:var(--vii-transition);
}

/* button primary */
[class*="btn_primary"] {
    --btn-bg-color:var(--vii-color-blue); --btn-color:var(--vii-color-on-primary);
    --btn-bg-color-hover:var(--vii-color-orange); --btn-color-hover:var(--vii-color-on-primary);

    font-family:var(--vii-font-primary); font-weight:700; font-size:var(--vii-size-16);
    background:var(--btn-bg-color); color:var(--btn-color);
    padding:5px 20px; min-height:48px; min-width:115px; border-radius:4px;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
}

[class*="btn_primary"][class*="_small"] {min-height:32px;}

/* button primary_border */
[class*="btn_primary_border"] {
    --btn-bg-color:transparent; --btn-color:var(--vii-color-blue);
    --btn-bg-color-hover:var(--vii-color-blue); --btn-color-hover:var(--vii-color-on-primary);
    --btn-border:var(--btn-bg-color-hover); --btn-border-hover:var(--btn-bg-color-hover);
    border:1px solid var(--btn-border);
}
[class*="btn_primary_border"][class*="_small"] {min-height:30px; min-width:110px; padding:5px 12px;}

/* Hover */
[class*="btn_primary_border"]:hover,
[class*="btn_primary_border"]:focus {
    border-color:var(--btn-border-hover);
}

/* button arrow */
[class*="btn_arrow"] {
    --icon-size:24px;
    text-transform:uppercase; letter-spacing:0.05em;
    font-family:var(--vii-font-primary); font-weight:600; font-size:var(--vii-size-16);
    padding:5px 10px 5px 0; border-radius:4px; gap:10px; color:var(--vii-color-black);
}
[class*="btn_arrow"]:after {
    content:"\e92f"; font-weight:400; color:var(--vii-color-white); font-size:11px;
    width:var(--icon-size); height:var(--icon-size); border-radius:50%;
    background-color:var(--vii-color-blue); padding-left:0.1em; padding-top:0.1em;
    animation:shine 2.4s cubic-bezier(0, 0, .5, 1.02) infinite;
}
[class*="btn_arrow"]:hover, [class*="btn_arrow"]:focus {
    color:var(--vii-color-blue);
}
[class*="btn_arrow"]:hover:after, [class*="btn_arrow"]:focus:after {
    transform:translateX(5px);
}

/* btn_arrow animation */
@keyframes shine {
    0% {
        box-shadow:0 0 0 0 rgba(0, 85, 199, 0.2);
    }
    30% {
        box-shadow:0 0 0 5px rgba(0, 85, 199, 0.2);
    }
    45% {
        box-shadow:0 0 0 5px rgba(0, 85, 199, 0.05);
    }
    65% {
        box-shadow:0 0 0 5px rgba(0, 85, 199, 0);
    }
}

/* btn arrow with blue text color */
[class*="btn_arrow_blue"] {color:var(--vii-color-blue); text-transform:initial;}

/***************************************
* Text with icons
****************************************/
.icon_txt_printer, .icon_txt_phone, .icon_txt_email {}
[class*="icon_txt_"] {position:relative; padding-left:28px;}
[class*="icon_txt_"]:before {
    position:absolute; top:.1em; left:0; color:var(--vii-color-blue);
    font-family:var(--vii-font-icomoon); font-size:13px;
}

[class*="icon_txt_"] a:not([class*="btn_"]) {text-decoration:unset !important; font-weight:500; line-height:1.6;}
[class*="icon_txt_"] a:not([class*="btn_"]):hover,
[class*="icon_txt_"] a:not([class*="btn_"]):focus {text-decoration:underline !important;}

[class*="icon_txt_printer"]:before {content:"\e916";}
[class*="icon_txt_phone"]:before {content:"\e918";}
[class*="icon_txt_email"]:before {content:"\e915";}

/* mac os */
html.iphone [class*="icon_txt_"]:before {top:-0.1em;}
html.mac [class*="icon_txt_"]:before {top:0;}

/***************************************
* 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:10px;}

.mceContentBody ul > li:before,
.wpb_text_column ul > li:before {
    content:""; position:absolute; top:.6em; left:0;
    width:3px; height:3px; border-radius:50px;
    background:var(--vii-color-primary); border:1px solid var(--vii-color-primary);
}
html.mac .wpb_text_column ul > li:before {top:0.5em;}

.mceContentBody ul ul > li:before,
.wpb_text_column ul ul > li:before {background:#fff;}

/***************************************
* Paragraph
****************************************/
.mceContentBody p:not(:last-child), .main_content p:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph);}