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

/* Permalink */
.mceContentBody a:not([class*="btn_"]),
.wpb_text_column a:not([class*="btn_"]) {
    color:var(--px-color-permalink); line-height:1.4;
    letter-spacing:0.05em; text-decoration:underline;
}
.mceContentBody a:not([class*="btn_"])[href*="mailto"],
.wpb_text_column a:not([class*="btn_"])[href*="mailto"] {text-decoration:underline;}

.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(--px-color-permalink-highlight); outline:0;
}

.mceContentBody .px-bg-primary a:not([class*="btn_"]):hover,
.mceContentBody .px-bg-primary a:not([class*="btn_"]):focus,
.mceContentBody .px-bg-primary a:not([class*="btn_"]):active,
[class*="bg-primary"] .wpb_text_column a:not([class*="btn_"]):hover,
[class*="bg-primary"] .wpb_text_column a:not([class*="btn_"]):focus,
[class*="bg-primary"] .wpb_text_column a:not([class*="btn_"]):active {
    --px-color-permalink-highlight:#fff;
}

/***************************************
* 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(--px-color-heading); margin-bottom:var(--px-spacing-heading);
    font-family:var(--px-font-secondary); line-height:1.2; font-weight:700; text-transform:uppercase;
}
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--px-size-h1);}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--px-size-h2);}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--px-size-h3);}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--px-size-h4);}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--px-size-h5);}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--px-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;}

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

/* Sizes */
.txt_size_14px {font-size:var(--px-size-14); font-weight:700; line-height:1.4; letter-spacing:0.05em;}
.txt_size_18px {font-size:var(--px-size-18); line-height:1.4;}

/* Colors */
.txt_color_white {color:var(--px-color-white);}
.txt_color_primary {color:var(--px-color-primary);}

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


/***************************************
* Buttons
****************************************/
a.btn_primary {}
a.btn_primary_yellow {}
a.btn_primary_white {}
a.btn_group {}
a.btn_view_more {}
a.btn_icon_arrow {}
a.btn_icon_message {}

/* view more button */
[class*="btn_view_more"] {
    text-decoration:none; text-transform:uppercase; position:relative;
    font-size:var(--px-size-14); font-weight:700; line-height:1.4; letter-spacing:0.05em;
    background-color:transparent;
}
[class*="btn_view_more"]:before {content:""; position:absolute; bottom:0; width:0; height:1px; background:var(--px-color-text); transition:var(--px-transition);}
[class*="btn_view_more"]:hover:before {width:100%;}

/* buttons group */
[class*="btn_group"] {display:flex; align-items:center; gap:var(--px-spacing-24);}

/* button primary */
[class*="btn_primary"] {
    --btn-bg-color:transparent; --btn-color:var(--px-color-white);
    --btn-bg-color-hover:transparent; --btn-color-hover:var(--px-color-on-primary);

    --btn-b-bg-color:var(--px-color-black); --btn-a-bg-color:var(--px-color-primary);
    position:relative;
    display:inline-flex; align-items:center; justify-content:center; gap:5px 10px;
    text-align:center; text-decoration:none;
    font-size:var(--px-size-14); font-family:var(--px-font-primary), sans-serif; font-weight:700; line-height:1.2;
    background:var(--btn-bg-color); color:var(--btn-color); text-transform:uppercase;
    padding:5px 25px; min-height:50px; /*min-width:233px;*/
    border:2px solid var(--px-color-black);
    overflow:hidden;
}

[class*="btn_primary"] span {position:relative; z-index:4;}
[class*="btn_primary"] span:has([class*="icon"]) {display:flex; gap:7px}
[class*="btn_primary"]:before {
    content:""; background:var(--btn-b-bg-color); z-index:2;
    position:absolute; inset:0; transition:var(--px-transition);
}
[class*="btn_primary"]:after {
    content:"";
    background:var(--btn-a-bg-color);
    z-index:3;
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    transition:var(--px-transition);
    transform-origin:top left;
    clip-path:polygon(0 0, 100% 0, 94% 100%, 0% 100%);
}
[class*="btn_primary"]:hover:after {
    transform:translateX(0%);
    width:107%; height:100%;}


[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    color:var(--btn-color-hover);
    background:var(--btn-bg-color-hover);
}

/* btn_primary_yellow */
[class*="btn_primary_yellow"] {
    --btn-color:var(--px-color-black);
    --btn-b-bg-color:var(--px-color-primary); --btn-a-bg-color:var(--px-color-white);
    border-color:var(--btn-b-bg-color);
}
[class*="btn_primary_yellow"]:hover:before {opacity:0;}

/* btn_primary_white */
[class*="btn_primary_white"] {
    --btn-color:var(--px-color-black);
    --btn-b-bg-color:var(--px-color-white); --btn-a-bg-color:var(--px-color-primary);
}
[class*="btn_primary_white"]:hover:before {--btn-b-bg-color:var(--px-color-primary);}

/* btn_primary admin */
[class*="btn_primary"]:not(:has(span)) {
    display:inline-flex;
    --btn-bg-color:var(--px-color-black); --btn-bg-color-hover:var(--px-color-primary);
    --btn-b-bg-color:transparent; --btn-a-bg-color:transparent;
}
[class*="btn_primary_yellow"]:not(:has(span)) {
    --btn-color-hover:var(--px-color-white);
    --btn-bg-color:var(--px-color-primary); --btn-bg-color-hover:var(--px-color-black);
}
[class*="btn_primary_white"]:not(:has(span)) {
    --btn-color-hover:var(--px-color-black);
    --btn-bg-color:var(--px-color-white); --btn-bg-color-hover:var(--px-color-primary);
}
[class*="btn_primary_white"]:not(:has(span)):hover:before {--btn-b-bg-color:transparent;}

[class*="btn_icon_arrow"]:not(:has(> .dynamic-span)),
[class*="btn_icon"] .dynamic-span {display:flex; align-items:center;}
[class*="btn_icon"] .dynamic-span:after {font-family:var(--px-font-icomoon); font-size:12px; margin-left:7px;}

/* btn icon arrow */
[class*="btn_icon_arrow"]:not(:has(> .dynamic-span)):hover {color:var(--px-color-white);}
[class*="btn_icon_arrow"]:not(:has(> .dynamic-span)):after {content:"\e927"; font-family:var(--px-font-icomoon); margin-left:7px; font-weight:600;}
[class*="btn_icon_arrow"] .dynamic-span:after {content:"\e927"; margin-top:-1px;}

/* btn icon message */
[class*="btn_icon_message"] .dynamic-span:after {content:"\e90c"; font-size:18px; font-weight:500;}

/***************************************
* Text with icons
****************************************/
.icon_txt_phone, .icon_txt_email {}
[class*="icon_txt_"] {position:relative; padding-left:30px;}
[class*="icon_txt_"]:before {
    position:absolute; top:-.12em; left:0;
    font-family:var(--px-font-icomoon); color:var(--px-color-text);
}
[class*="icon_txt_phone"]:before {content:"\e919";}
.wpb_text_column a[href*="tel"] {text-decoration:none;}
[class*="icon_txt_email"]:before {content:"\e914";}

/***************************************
* 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(--px-spacing-paragraph);}

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


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

.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(--px-spacing-paragraph);}

/* avoid too long line */
.wpb_wrapper,
.wpb_text_column p {word-break:break-word;}

/***************************************
* Table
****************************************/
.mceContentBody table, .main_content table {margin-bottom:var(--px-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:middle;

    /* clear style from default table */
    padding:0 20px 0 0; border:none !important; background:unset !important; display:inline-block;
}
.main_content table.no_border tr:not(:last-child) td {padding-bottom:var(--px-spacing-10);}


/***************************************
* HR tag
****************************************/
.mceContentBody hr, .main_content hr {margin-bottom:var(--px-spacing-paragraph);}


/***************************************
* VC Image
****************************************/
.wp-caption { /* width:fit-content; */}
.wpb_text_column .wp-caption:not(:last-child) {margin-bottom:var(--px-spacing-paragraph);}
.wpb_text_column .gallery:not(:last-child) {margin-bottom:var(--px-spacing-paragraph) !important;}

/* 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-text {padding-top:.4em; opacity:.8; font-size:.9em;}
.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; padding-top:.4em;}
.wp-caption.alignright .wp-caption-text,
.wp-caption.alignright .wp-caption-dd {text-align:right;}