/***************************************
* Body text & Permalink
****************************************/
html:not(.wp-toolbar) body {
    color:var(--ifs-color-text);
    background:var(--ifs-color-bg);
    font-family:var(--ifs-font-primary);
    font-size:var(--ifs-size-body);
    line-height:1.69; font-weight:400;
}
a, button {
    color:var(--ifs-color-text);
    transition:var(--ifs-transition);
}
.mceContentBody p, .main_content p {margin-bottom:var(--ifs-spacing-heading);}

/* Permalink */
p a, li a, td a {text-decoration:underline;}
p a:focus, p a:active, p a:hover,
li a:focus, li a:active, li a:hover,
td a:focus, td a:active, td a:hover {
    color:var(--ifs-color-primary); text-decoration:underline; 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(--ifs-color-black); margin-bottom:var(--ifs-spacing-heading);
    font-family:var(--ifs-font-primary); font-weight:700;
}
.mceContentBody h1, .main_content h1, .main_content .heading_1, .heading_1 {font-size:var(--ifs-size-h1); letter-spacing:-0.02em; line-height:1.15;}
.mceContentBody h2, .main_content h2, .main_content .heading_2, .heading_2 {font-size:var(--ifs-size-h2); letter-spacing:-0.02em; line-height:1.2;}
.mceContentBody h3, .main_content h3, .main_content .heading_3, .heading_3 {font-size:var(--ifs-size-h3); letter-spacing:-0.4px; line-height:1.28;}
.mceContentBody h4, .main_content h4, .main_content .heading_4, .heading_4 {font-size:var(--ifs-size-h4); letter-spacing:-0.4px; line-height:1.4;}
.mceContentBody h5, .main_content h5, .main_content .heading_5, .heading_5 {font-size:var(--ifs-size-h5); letter-spacing:-0.4px; line-height:1.5;}
.mceContentBody h6, .main_content h6, .main_content .heading_6, .heading_6 {font-size:var(--ifs-size-h6); font-weight:400;}

/* 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"] {--ifs-color-white:#ccc;}

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


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


/***************************************
* Buttons
****************************************/
a.btn_primary,
a.btn_primary_icon_paper_plane,
a.btn_primary_icon_download,
a.btn_primary_icon_phone,
a.btn_underline {}

/* button primary */
[class*="btn_primary"] {
    --btn-bg-color:var(--ifs-color-black); --btn-color:#fff;
    --btn-bg-color-hover:var(--ifs-color-black); --btn-color-hover:#fff;
    --btn-hover-shadow:var(--ifs-color-primary);

    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; text-decoration:none;
    font-family:var(--ifs-font-primary); font-weight:700; line-height:1.2;
    background:var(--btn-bg-color); color:var(--btn-color);
    padding:5px 20px; min-height:60px; min-width:190px;
    border-radius:5px;
}
[class*="btn_primary"]:hover, [class*="btn_primary"]:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
    box-shadow:0 0 0 3px var(--btn-hover-shadow);
}

.txt_color_white [class*="btn_primary"] {
    --btn-bg-color:var(--ifs-color-primary); --btn-color:var(--ifs-color-on-primary);
    --btn-bg-color-hover:var(--ifs-color-primary); --btn-color-hover:var(--ifs-color-on-primary);
    --btn-hover-shadow:#fff;
}

/* button primary > icon */
[class*="btn_primary_icon"] {position:relative; overflow:hidden; padding-right:75px;}
[class*="btn_primary_icon"]:before {
    content:""; width:35px; height:35px; border-radius:50%;
    background:#fff; transition:var(--ifs-transition);
    position:absolute; right:20px;
}
[class*="btn_primary_icon_paper_plane"]:before,
[class*="btn_primary_icon_paper_plane"]:after,
.quick-panel.menu-closing.menu-control {
    display: none!important;
}
.btn_primary_icon_paper_plane {
    padding-right: 20px;
}
[class*="btn_primary_icon"]:after {
    position:absolute; z-index:2; top:50%; right:20px;
    transform:translateY(-50%);
    font-family:var(--ifs-font-icomoon);
    width:35px; height:35px; line-height:35px;
    color:var(--ifs-color-on-primary);
    margin-left:10px;
}

[class*="btn_primary_icon_paper_plane"]:after {content:"\e950";}
[class*="btn_primary_icon_download"]:after {content:"\e940";}
[class*="btn_primary_icon_phone"]:after {content:"\e919";}

/* button primary > icon > keyframes */
[class*="btn_primary_icon"]:hover:before {background:var(--ifs-color-primary);}
.txt_color_white [class*="btn_primary_icon"]:hover:before {background:#fff;}

/* button primary > icon > keyframes > paper plane */
[class*="btn_primary_icon_paper_plane"]:hover:after {
    color:var(--btn-bg-color);
    animation:btn-primary-icon-plane .9s infinite ease;
}
@keyframes btn-primary-icon-plane {
    20% {transform:translate(0, -50%);}
    49% {transform:translate(100%, -100%);}
    50% {transform:translate(-100%, 50%);}
    80% {transform:translate(0, -50%);}
}

/* button primary > icon > keyframes > download */
[class*="btn_primary_icon_download"]:hover:after {
    animation:btn-primary-icon-download .9s infinite ease;
}
@keyframes btn-primary-icon-download {
    20% {transform:translate(0, -50%);}
    49% {transform:translateY(100%);}
    50% {transform:translateY(-100%);}
    80% {transform:translate(0, -50%);}
}

/* button primary > icon > keyframes > phone */
[class*="btn_primary_icon_phone"]:hover:after {
    animation:btn-primary-icon-phone .15s infinite;
}
@keyframes btn-primary-icon-phone {
    0% {transform:translateY(-50%);}
    40% {transform:translateY(-50%) rotate(-10deg);}
    60% {transform:translateY(-50%) rotate(10deg);}
    100% {transform:translateY(-50%);}
}


/* button underline */
.ifs-bg-gray-200 [class*="btn_underline"],
.ifs-bg-primary [class*="btn_underline"] {--color-hover:#fff;}
.txt_color_white [class*="btn_underline"] {--ifs-color-black:#fff;}
[class*="btn_underline"] {
    --color-hover:var(--ifs-color-primary);
    font-weight:700; font-size:var(--ifs-size-20); color:var(--ifs-color-black);
    text-transform:capitalize; text-decoration:none;
    display:inline-block; position:relative;
}
/*[class*="btn_underline"]:after {*/
/*    content:"\e952"; font-family:var(--ifs-font-icomoon);*/
/*    margin-left:.5em;*/
/*}*/
/*[class*="btn_underline"]:before {*/
/*    content:""; position:absolute; bottom:0; left:0; right:0;*/
/*    height:2px; border-radius:2px; background:var(--ifs-color-black);*/
/*}*/
[class*="btn_underline"]:hover, [class*="btn_underline"]:focus {
    color:var(--color-hover); text-decoration:none;
}
[class*="btn_underline"]:hover:before {
    animation:btn-underline-line 1s infinite;
    background:var(--color-hover);
}

/* button underline > keyframes */
@keyframes btn-underline-line {
    20% {left:0; right:0;}
    49% {left:100%; right:0;}
    50% {right:100%; left:0;}
    80% {right: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(--ifs-spacing-heading);}

.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:12px;}

.mceContentBody ul > li:before,
.wpb_text_column ul > li:before {
    content:"\e957"; font-family:var(--ifs-font-icomoon); font-size:.7em;
    color:var(--ifs-color-primary);
    position:absolute; top:.25em; left:0;
}

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


/* Custom unordered list */
ul.custom_ul {list-style:none; margin:0;}
ul.custom_ul:not(:last-child) {margin-bottom:var(--ifs-spacing-heading);}
ul.custom_ul > li {padding:0 0 0 23px; position:relative;}
ul.custom_ul > li:not(:last-child) {margin-bottom:var(--ifs-spacing-15);}
ul.custom_ul > li:before {
    position:absolute; top:0; left:0; content:"\e932";
    font-family:var(--ifs-font-icomoon); color:var(--ifs-color-primary); font-size:1em;
    width:auto; height:auto; background:transparent; border:none;
}

/* Custom unordered list > failed icon */
li.icon_failed {}
ul.custom_ul > li.icon_failed:before {content:"\e93a"; color:var(--ifs-color-error); font-size:.85em; top:.15em;}


/* Default ordered Lists */
.mceContentBody ol,
.wpb_text_column ol {list-style:none; counter-reset:custom_ol; margin:0;}
.mceContentBody ol:not(:last-child),
.wpb_text_column ol:not(:last-child) {margin-bottom:var(--ifs-spacing-heading);}
.mceContentBody ol > li,
.wpb_text_column ol > li {
    counter-increment:custom_ol; padding:3px 0 10px 43px; box-sizing:border-box;
    position:relative; min-height:43px;
}
.mceContentBody ol > li:before,
.wpb_text_column ol > li:before {
    content:counter(custom_ol); position:absolute; top:0; left:0;
    width:29px; height:29px; line-height:29px;
    text-align:center; border-radius:50%;
    background:var(--ifs-color-primary); color:var(--ifs-color-on-primary);
    font-size:var(--ifs-size-18); font-weight:700;
}
