/***************************************************************
 * Visual Composer - Accordion element
****************************************************************/
.ws-custom-accordion {
    --icon-size:25px;
    --icon-height:3px;
    --border:none;
    --highlight-color:var(--ws-color-primary);
    --spacing:var(--ws-spacing-40px);
    --ws-spacing-default:var(--spacing);
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel:not(:first-child),
.vc_tta.vc_general {position:relative; background:#fff;}
.vc_tta.vc_general:before,
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel:not(:first-child):before {
    content:""; position:absolute; top:0; right:0; bottom:0; left:calc(-1 * var(--ws-gap-side));
    border-radius:0 25px 0 0; background:#fff;
    box-shadow:0 3px 56px rgba(0, 0, 0, 0.12);
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel:not(:last-child):before {
    content:""; position:absolute; top:0;
}


/* heading */
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel-heading {border:none; border-radius:0; background:none !important;}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel-title {
    font-size:var(--ws-size-40); font-family:var(--ws-font-primary);
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel-title > a {
    padding:var(--spacing) var(--ws-gap-container) var(--spacing) calc(var(--icon-size) + 20px) !important;
    color:inherit !important;
    text-align:right; opacity:.4;
    transition:all .3s ease;
}


/* hover */
.ws-custom-accordion .vc_tta-panel .vc_tta-panel-title > a:hover,
.ws-custom-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a {color:var(--ws-color-secondary) !important; opacity:1;}
.ws-custom-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a {font-size:var(--ws-size-60);}


/* icon (plus/minus) */
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-controls-icon {
    left:0; right:auto;
    width:var(--icon-size); height:var(--icon-size);
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-controls-icon:before,
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-controls-icon:after {
    content:""; position:absolute; top:50%; left:50%;
    transform:translate(-50%, -50%); transition:var(--ws-transition);
    width:var(--icon-size); height:var(--icon-height); background:var(--ws-color-secondary);
    border:none;
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-controls-icon:before {width:var(--icon-height); height:var(--icon-size);}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon:before {
    opacity:1; display:block;
    transform:translate(-50%, -50%) rotate(90deg);
}


/* body */
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel-body {
    border:none; background:none !important; padding:0 var(--ws-gap-container) 0 0;
}
.ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel:last-child .vc_tta-panel-body {padding-bottom:0;}

/***************************************************************
 * Visual Composer - Accordion element - White todo: remove if not use
****************************************************************/
body .txt_color_white .ws-custom-accordion > .vc_tta.vc_tta-accordion {
    --border:1px solid rgba(255, 255, 255, 0.5);
    --highlight-color:var(--ws-color-primary);
}

/***************************************************************
 * Visual Composer - Accordion element - Responsive
****************************************************************/
@media only screen and (max-width:1024px) {
    .ws-custom-accordion {
        --icon-size:20px;
        --icon-height:2px;
    }

    .ws-custom-accordion > .vc_tta.vc_tta-accordion .vc_tta-panel-title {font-size:var(--ws-size-26);}
    .ws-custom-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a {font-size:var(--ws-size-44);}
}