/***************************************
* Body text & Permalink
****************************************/
html:not(.wp-toolbar) body {
    color:var(--vii-color-text);
    background-color: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-permalink);
    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:underline; outline:0;
}

.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; text-decoration:none;
}

/***************************************
* 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); line-height:1.125; font-weight:400;
}
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--vii-size-h1); line-height:1.1;}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--vii-size-h2); line-height:1.125;}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--vii-size-h3); line-height:1.16;}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--vii-size-h4); line-height:1.25;}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--vii-size-h5); line-height:1.7;}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--vii-size-h6); line-height:1.25;}

/* 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_50px {font-size:var(--vii-size-50);}
.txt_20px {font-size:var(--vii-size-20);}

/* Subheading */
[class*="subheading"] {
    font-family:var(--vii-font-primary);
    font-weight:700; font-size:var(--vii-size-14); line-height:2.14;
    text-transform:uppercase; letter-spacing:.15em;
}
.subheading {color:var(--vii-color-red-pink);}
.subheading_black {color:var(--vii-color-dark-black);}

/* Colors */
.txt_color_white {color:var(--vii-color-white);}


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


/***************************************
* Buttons
****************************************/
a.btn_primary, a.btn_primary_yellow, a.btn_primary_plus, a.btn_arrow {}

/* button primary */
[class*="btn_primary"] {
    --btn-bg-color:#fff; --btn-color:var(--vii-color-dark-black);
    --btn-bg-color-hover:var(--vii-color-primary); --btn-color-hover:var(--vii-color-on-primary);
    --btn-padding:5px 23px;

    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; text-decoration:none;
    font-family:var(--vii-font-primary); font-weight:500; line-height:1.25;
    background:var(--btn-bg-color); color:var(--btn-color);
    border:2px solid var(--vii-color-dark-black);
    box-shadow:var(--vii-box-shadow);
    border-radius:5px; padding:var(--btn-padding); min-height:40px;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none; outline:0;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
    box-shadow:var(--vii-box-shadow-hover);
}

/* button primary yellow */
[class*="btn_primary_yellow"] {
    --btn-bg-color:var(--vii-color-primary); --btn-color:var(--vii-color-dark-black);
    --btn-bg-color-hover:var(--vii-color-white); --btn-color-hover:var(--vii-color-dark-black);
    --vii-box-shadow:none; --vii-box-shadow-hover:none;
    border:none; min-height:42px; min-width:150px;
}

/* button primary plus */
[class*="btn_primary_plus"] {--btn-padding:5px 23px 5px 46px; position:relative;}
[class*="btn_primary_plus"]:before {
    position:absolute; top:50%; left:12px; transform:translateY(-50%);
    content:"\e93b"; font-family:var(--vii-font-icomoon); font-size:12px;
    width:24px; height:24px; border-radius:50%;
    line-height:1; display:flex; justify-content:center; align-items:center;
    background:var(--vii-color-red-pink); color:#fff;
}
[class*="btn_primary_plus"]:hover:before,
[class*="btn_primary_plus"]:focus:before {
    background:var(--vii-color-dark-black); color:#fff;
}

/* button arrow */
[class*="btn_arrow"] {
    letter-spacing:.08em; text-transform:uppercase; font-weight:700; font-size:12px;
    border-bottom:1px solid var(--vii-color-dark-black); text-decoration:none;
}
[class*="btn_arrow"]:after {
    content:"\e92b"; font-family:var(--vii-font-icomoon); font-size:.6em;
    margin-left:4px; display:inline-block; transform:translate(0, -.3em);
    transition:var(--vii-transition);
}
[class*="btn_arrow"]:hover:after, [class*="btn_arrow"]:focus:after {
    transform:translate(4px, -.3em);
}


/***************************************
* Text with icons
****************************************/
.icon_txt_address, .icon_txt_phone, .icon_txt_email {}
[class*="icon_txt_"] {position:relative; padding-left:32px; display:block;}
[class*="icon_txt_"]:before {
    position:absolute; top:0; left:0;
    font-family:var(--vii-font-icomoon);
}

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


/***************************************
* Text with gifs
****************************************/
.txt_gif_arrow,
.txt_gif_hearts,
.txt_gif_lines,
.txt_gif_twinkle {}

[class*="txt_gif_"] {
    position:relative;
}
[class*="txt_gif_"]:after {content:""; position:absolute; background-size:contain; background-repeat:no-repeat; aspect-ratio:1;}
[class*="txt_gif_lines"]:after {
    top:0; right:0;
    background-image:url("assets/images/lines.gif");
    width:1em; transform:translate(.4em, -.3em);
}
[class*="txt_gif_twinkle"]:after {
    top:0; right:0;
    background-image:url("assets/images/twinkle.gif");
    width:.45em; transform:translate(.3em, 0);
}
[class*="txt_gif_arrow"]:after {
    top:0; left:0;
    background-image:url("assets/images/arrow.gif");
    width:1em; transform:translate(-.3em, -.2em);
}
[class*="txt_gif_hearts"]:after {
    bottom:0; right:0;
    background-image:url("assets/images/hearts.gif");
    width:2em; transform:translate(2em, .2em);
}


/***************************************
* List
****************************************/
/* Default unordered list for text block */
.mceContentBody ul:not(.no-style),
.wpb_text_column ul:not(.no-style) {list-style:none; margin:0;}
.wpb_text_column ul:not(.no-style) ul {padding-top:15px;}

.mceContentBody ul:not(.no-style):not(:last-child),
.wpb_text_column ul:not(.no-style):not(:last-child) {margin-bottom:var(--vii-spacing-heading);}

.mceContentBody ul:not(.no-style) > li,
.wpb_text_column ul:not(.no-style) > li {padding:0 0 0 15px; position:relative;}

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

.mceContentBody ul:not(.no-style) > li:before,
.wpb_text_column ul:not(.no-style) > li:before {
    content:""; position:absolute; top:.6em; left:0;
    width:3px; height:3px;
    background:var(--vii-color-primary); border:1px solid var(--vii-color-dark-black);
}


/***************************************
* HR
****************************************/
.mceContentBody p, .main_content p {margin-bottom:var(--vii-spacing-heading);}
.mceContentBody hr, .main_content hr {margin-bottom:var(--vii-spacing-heading); border:1px dashed #707070;}