/*
 Theme Name:   Hello Elementor Affinity New
 Theme URI:    https://example.com/
 Description:  Child theme for Hello Elementor
 Author:       Your Name
 Author URI:   https://example.com/
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-affinity-new
*/

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-Regular.woff2') format('woff2'),
         url('fonts/ACaslonPro-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-Italic.woff2') format('woff2'),
         url('fonts/ACaslonPro-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-Semibold.woff2') format('woff2'),
         url('fonts/ACaslonPro-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-SemiboldItalic.woff2') format('woff2'),
         url('fonts/ACaslonPro-SemiboldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-Bold.woff2') format('woff2'),
         url('fonts/ACaslonPro-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Caslon Pro';
    src: url('fonts/ACaslonPro-BoldItalic.woff2') format('woff2'),
         url('fonts/ACaslonPro-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}



/* Media Queries */
@media (max-width: 1024px) {
	.about-tab-2 button[aria-selected="true"] {
        background-color: #1B365D !important;
        color: #fff !important;
    }

	.header-main-menu ul.hfe-nav-menu {
		padding-top: 20px;
		padding-bottom: 30px;
	}
	.header-main-menu a.hfe-menu-item{
		font-size: 24px !important;
	}
	.header-main-menu a.hfe-sub-menu-item{
		font-size: 16px !important;
	}
	.header-main-menu .menu-item.parent{
		padding: 15px 10px;
		border-bottom: 1px solid #1B365D;
	}
	.header-main-menu li.menu-item.parent:last-child {
    	border: none !important;
	}
	.header-main-menu .sub-menu {
		box-shadow: none !important;
	}
	.header-main-menu .sub-menu a {
		padding-left: 15px !important;
		padding-bottom: 10px !important;
	}
	/* Add plus icon by default */
	.header-main-menu li.parent-has-child a.hfe-menu-item:after {
		content: "+";
		font-size: 23px;
		float: right;
		margin-left: 10px;
		transition: .3s;
		font-weight: 400;
		right: 25px;
		z-index: 99999;
		background: transparent !important;
		opacity: 1 !important;
	}
	
	.header-main-menu .hfe-menu-toggle.sub-arrow {
		display: none !important;
	}
	.header-main-menu .current-menu-item.sub-menu-active a:after {
		content: "−" !important;
	}

}

/* Desktop */
@media (min-width: 1025px) {
	header .hfe-nav-menu {
    	white-space: nowrap !important;
    	flex-wrap: nowrap !important;
    }
	.about-responsibilities-tab {
		min-height: 525px;
		overflow-y: auto;
		height: 525px;
	}
.about-tab-2 .e-n-tabs-content {
    box-shadow: 0px 4px 4px rgba(27, 54, 93, 0.25);
    transition: box-shadow 0.3s ease;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

.about-tab-2 .e-n-tabs-content:hover {
    box-shadow: 0px 8px 12px rgba(27, 54, 93, 0.35);
}


.about-tab-2 .e-n-tab-title .e-n-tab-title-text {
  display: inline-block;
  transition: transform 0.3s ease;
}

/* On hover, move up */
.about-tab-2 .e-n-tab-title:hover .e-n-tab-title-text {
  transform: translateY(-5px);
  /* stays in this position after hover */
}

/* Trick: keep the moved state after hover using focus-within on parent */
.about-tab-2 .e-n-tab-title:hover .e-n-tab-title-text ,
.about-tab-2 .e-n-tab-title:hovered .e-n-tab-title-text {
  transform: translateY(-5px);
}

/* Border animation for our captive section on homepage */
.border-animation.container-border-animation {
  padding: 0 44px 0 47px;
}
.border-animation.container-border-animation svg {
  position: absolute;
  top: 20px;
  left: auto;
  right: 60px;
  width: 89%;
  height: 99.5%;
  pointer-events: none;
  z-index: 1;
}
    .about-site a {
    	font-size: 20px !important;
    }
	.menu-hide-mobile {
		display: none !important;
	}
	.header-main-menu .hfe-menu-toggle {
		display: none !important;
	}
	.header-main-menu .hfe-nav-menu li a {
		position: relative !important;
	}
	.header-main-menu .hfe-nav-menu li a::after {
		content: "";
		position: absolute;
		bottom: -10px; /* distance from text */
		left: 0;
		width: 0;
		height: 2px;
		background: #002F5F; /* underline color */
		transition: width 0.4s ease;
	}
	.header-main-menu .hfe-nav-menu li a:hover::after {
  		width: 100%;
		opacity: 1 !important;
	}
	.header-main-menu .hfe-nav-menu li.parent a.hfe-menu-item {
		padding: 0 !important;
	}
	.header-main-menu .hfe-nav-menu li.parent {
		padding: 13px !important;
		display: flex;
		align-items: center;
	}
	.header-main-menu .sub-menu {
		padding: 20px !important;
	}
	.header-main-menu .sub-menu li {
		padding: 15px !important;
		width: fit-content;
	}
	.header-main-menu .hfe-sub-menu-item {
		padding: 0 !important;
	}
	.btn-default a {
		display: inline-flex;
		align-items: center;
		height: 58px !important;
	}	
}

@media (max-width: 767px) {
	.criteria-list li {
		font-size: 16px !important;
	}
    .abt-performance h2 {
    	font-weight:  600 !important;
    }
	.header-main-menu .hfe-nav-menu li.parent a.hfe-menu-item {
		font-weight: 500 !important;
	}
	.abt-membership {
		font-size: 18px !important;
	}
	.perform-tabs .e-n-tabs .e-n-tabs-heading {
		display: none !important;
	}
	.affinity-radio-selector-toggle {
		background: transparent !important;
	}
}

@media (min-width: 768px) {
	
.abt-workplace .e-n-accordion-item-title {
	padding-bottom: 0 !important;
}
	.about-benefits .e-n-accordion {
		display: grid;
		grid-template-columns: 1fr 1fr; /* 2 equal columns */
		gap: 20px;
	}
	.abt-for-executives .e-n-accordion {
		display: block !important;
		grid-template-columns: 1fr !important; /* 2 equal columns */
		gap: 0 !important;
	}
	.about-benefits .e-n-accordion-item {
		width: 100%;
	}
}
strong {
	font-weight: 600 !important;
}
.page-header {
	display: none;
}

/* Hide content by default */
.content-hidden-by-default {
    display: none;
}

/* Add + icon after the span */
..about-benefits-content{
    position: relative;
    cursor: pointer;
}

.about-benefits-content::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 0;
    font-weight: 200;
    font-size: 24px;
    transform: translateY(-25%);
}

/* When open, switch to - icon */
.about-benefits-content.open::after {
    content: "-";
}

.about-benefits .e-n-accordion-item-title-icon {
	display: none;
}

/* Hide the legend marker in Graphina (ApexCharts) */
.apexcharts-legend-marker {
  display: none !important;
}

@media (min-width:768px) and (max-width: 1250px) {
	.perform-tabs .e-n-tabs-heading {
    	display: -webkit-box;
        overflow-x: auto;
        white-space: nowrap;
        gap: 12px;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
        width: 100%;
    }
}
.apexcharts-text.apexcharts-xaxis-label {
	fill: #1B365D !important;
    font-size: 12px !important;
}
.apexcharts-text.apexcharts-yaxis-label {
	fill: #828383 !important;
    font-size: 15px !important;
    font-family: 'Poppins', sans-serif !important;
}
.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title, .apexcharts-tooltip-marker {
	display: none;
}
.apexcharts-tooltip-series-group {
    padding: 0 10px;
    display: none;
    text-align: left;
    justify-content: left;
    align-items: center;
    background: #008393;
    font-size: 14px;
    font-weight: 700;
    border-radius: 20px;
    color: #fff;
    padding: 5px 20px;
}
.apexcharts-tooltip {
	background: transparent !important;
}
 .apexcharts-tooltip-series-group {
    padding: 5px 10px !important;
    display: none;
    text-align: left;
    justify-content: left;
    align-items: center;
    background: #fff !important;
    font-size: 20px !important;
    border-radius: 5px !important;
    color: #1B365D;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) !important;
    border: .5px solid #1B365D !important;
}
 .apexcharts-tooltip-y-group {
	padding: 0 !important;
}

@media (min-width: 1600px) {
	.about-tab-2 .e-n-tab-title {
    	padding-left: 45px !important;
    	padding-right: 45px !important;
    }
	.header-main-menu .hfe-nav-menu li.parent {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}
}
.content-hidden-by-default:not(.open) {
	disply: none !important;
}
.accordion-benefits .e-n-accordion-item:hover {
    box-shadow: 0px 8px 8px 0px rgba(27, 54, 93, 0.20),    /* bottom shadow */
    0px -8px 8px 0px rgba(27, 54, 93, 0.20);
    border-radius: 20px;
    background: linear-gradient(45deg, rgba(243, 249, 255, 1), rgba(214, 236, 238, 1));
}

.accordion-benefits summary {
	padding-left: 25px !important;
    padding-right: 25px !important;
}
.elementor-element-567a81a {
	z-index: 999!important;
}
.elementor-element-76caa554 {
	z-index: 99999!important;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.about-responsibilities-tab {
		min-height: 750px;
		overflow-y: auto;
		height: 750px;
	}
}
.about-responsibilities-tab {
    scrollbar-width: thin;
}

.criteria-list {
	margin-top: 20px;
}
.criteria-list li {
	margin-top: 5px;
}
@media screen and (max-width: 768px) {
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(50px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-50px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-50px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(50px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ===================== */
/* ✅ ZOOM (subtle)       */
/* ===================== */

@keyframes zoomIn {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes zoomOut {
  from { opacity: 0; transform: scale(1.05); }
  to   { opacity: 1; transform: scale(1); }
}

/* ===================== */
/* ✅ SLIDE (50px only) */
/* ===================== */
@keyframes slideInUp {
  from { transform: translateY(50px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes slideInDown {
  from { transform: translateY(-50px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes slideInLeft {
  from { transform: translateX(-50px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
@keyframes slideInRight {
  from { transform: translateX(50px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

/* ===================== */
/* ✅ BOUNCE (gentle)    */
/* ===================== */
@keyframes bounceIn {
  0%   { opacity: 0; transform: scale(0.95); }
  50%  { opacity: 1; transform: scale(1.05); }
  70%  { transform: scale(0.98); }
  100% { transform: scale(1); }
}

@keyframes bounceInLeft {
  0%   { opacity: 0; transform: translateX(-50px); }
  50%  { transform: translateX(15px); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes bounceInRight {
  0%   { opacity: 0; transform: translateX(50px); }
  50%  { transform: translateX(-15px); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes bounceInUp {
  0%   { opacity: 0; transform: translateY(50px); }
  50%  { transform: translateY(-15px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes bounceInDown {
  0%   { opacity: 0; transform: translateY(-50px); }
  50%  { transform: translateY(15px); }
  100% { opacity: 1; transform: translateY(0); }
}
}

/* Base bounce animation styles */
/* Base animation styling */
/* General animation base */
/* Utility classes */
.fade-in-up,
.fade-in-down,
.fade-in-left,
.fade-in-right {
  opacity: 0;
  animation-fill-mode: forwards;
  animation-duration: 1s;
  animation-timing-function: ease-out;
}

.fade-in-up { animation-name: fadeInUp; }
.fade-in-down { animation-name: fadeInDown; }
.fade-in-left { animation-name: fadeInLeft; }
.fade-in-right { animation-name: fadeInRight; }


/* Apply specific animations */
.slide-in-up,
.slide-in-down,
.slide-in-left,
.slide-in-right {
  opacity: 0;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}

/* Assign animations */
.slide-in-up    { animation-name: slideInUp; }
.slide-in-down  { animation-name: slideInDown; }
.slide-in-left  { animation-name: slideInLeft; }
.slide-in-right { animation-name: slideInRight; }

.bounce-in-left,
.bounce-in-right,
.bounce-in-up,
.bounce-in-down {
  opacity: 0;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}

.bounce-in-left   { animation-name: bounceInLeft; }
.bounce-in-right  { animation-name: bounceInRight; }
.bounce-in-up     { animation-name: bounceInUp; }
.bounce-in-down   { animation-name: bounceInDown; }


@media screen and (min-width: 769px) {
	
/* ===================== */
/* ✅ FADE (smaller move) */
/* ===================== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(100px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-100px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-100px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(100px); }
  to   { opacity: 1; transform: translateX(0); }
}



/* ===================== */
/* ✅ SLIDE (50px only) */
/* ===================== */
@keyframes slideInUp {
  from { transform: translateY(100px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes slideInDown {
  from { transform: translateY(-100px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes slideInLeft {
  from { transform: translateX(-100px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
@keyframes slideInRight {
  from { transform: translateX(100px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

/* ===================== */
/* ✅ BOUNCE (gentle)    */
/* ===================== */
@keyframes bounceInLeft {
  0%   { opacity: 0; transform: translateX(-100px); }
  50%  { transform: translateX(15px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes bounceInRight {
  0%   { opacity: 0; transform: translateX(100px); }
  50%  { transform: translateX(-15px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes bounceInUp {
  0%   { opacity: 0; transform: translateY(100px); }
  50%  { transform: translateY(-15px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes bounceInDown {
  0%   { opacity: 0; transform: translateY(-100px); }
  50%  { transform: translateY(15px); }
  100% { opacity: 1; transform: translateY(0); }
}
}
.apexcharts-tooltip-text-y-value {
	margin-left: 0 !important;
	font-weight: 700 !important;
}
 .apexcharts-tooltip-text-y-value {
	font-size: 20px !important;
}
.acc-img {
	height: 50px;
	width: 50px !important;
	margin-bottom: 15px !important;
}

.acc-img img {
	height: 100% !important;
	width: 100% !important;
	object-fit: contain;	
}
.about-benefits .e-n-accordion-item-title-text {
	line-height: 110% !important;
}
@media (max-width: 767px) {
	.perform-tabs .e-n-tabs-content {
		padding-top: 0 !important;
	}
	#benefits_tab_1, #benefits_tab_2, #benefits_tab_3, #benefits_tab_4 {
		border-bottom: 1px solid #1B365D;
	}
	#benefits_tab_1:hover, #benefits_tab_2:hover, #benefits_tab_3:hover, #benefits_tab_4:hover {
		border-bottom: 0 !important;
	}
	
}

@media (min-width: 1441px) {
	.about-our-history {
		padding-right: 100px !important;
	}
	.elementor-element-1f28555f {
		padding-right: 0 !important;
	}
	.elementor-element-55f10446 a {
		float: right !important;
	}
}
/* Fix Graphina marker clipping ONLY for chart_1_gross */
.about-chart-area .apexcharts-canvas,
.about-chart-area .apexcharts-canvas svg,
.about-chart-area .apexcharts-inner,
.about-chart-area .apexcharts-plot-area,
.about-chart-area .apexcharts-grid {
    overflow: visible !important;
}

/* Optional: add extra right padding so the last marker never gets cut */
.about-chart-area .apexcharts-inner {
    padding-right: 20px !important;
}
.chart_3_income  .chart-box {
	box-shadow: none !important;
}

@media (min-width: 1025px) and (max-width: 1280px) {
	.header-main-wrapper  {
    	padding-right: 30px !important;
    }
    .header-main-wrapper .hfe-menu-item {
    	font-size: 20px !important;
    }
}
 .apexcharts-gridlines-horizontal .apexcharts-gridline {
  stroke-dasharray: 4, 4;
}
 .apexcharts-grid-borders .apexcharts-gridline:first-child {
  stroke-dasharray: 4, 4;
  stroke-width: 1;
}
 .apexcharts-area-series .apexcharts-series path.apexcharts-area:last-of-type {
  stroke-width: 1px !important;
}
 .apexcharts-series-markers .apexcharts-marker {
	fill: #1B365D !important;
    stroke:  #1B365D !important;
    stroke-opacity: 1 !important;
}
 .apexcharts-marker[cx="0"][cy="0"] {
  opacity: 0 !important;
}
 .apexcharts-tooltip {
	transform: translate(0%, -53%) !important;
}

 .chart_2_members .apexcharts-hidden-element-shown, 
 .chart_1_gross .apexcharts-hidden-element-shown,
 .chart_3_income .apexcharts-hidden-element-shown,
 .chart_4_distributions .apexcharts-hidden-element-shown,
 .chart_5_loss .apexcharts-hidden-element-shown {
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* Show ONLY when hovering the chart wrapper */
 .chart_2_members:hover .apexcharts-hidden-element-shown,
 .chart_1_gross:hover .apexcharts-hidden-element-shown, 
 .chart_3_income:hover .apexcharts-hidden-element-shown, 
 .chart_4_distributions:hover .apexcharts-hidden-element-shown, 
 .chart_5_loss:hover .apexcharts-hidden-element-shown  {
  opacity: 1 !important;
}
/*.mbl_chart_gross .apexcharts-hidden-element-shown .apexcharts-series-markers, .mbl_chart_income .apexcharts-hidden-element-shown .apexcharts-series-markers, .mbl_chart_distributions .apexcharts-hidden-element-shown .apexcharts-series-markers, .mbl_chart_loss .apexcharts-hidden-element-shown .apexcharts-series-markers {
    opacity: 0 !important;
    transition: opacity 0.2s;
}
.mbl_chart_gross .apexcharts-hidden-element-shown .apexcharts-series-markers:hover, .mbl_chart_income .apexcharts-hidden-element-shown .apexcharts-series-markers:hover, .mbl_chart_distributions .apexcharts-hidden-element-shown .apexcharts-series-markers:hover, .mbl_chart_loss .apexcharts-hidden-element-shown .apexcharts-series-markers:hover {
    opacity: 1 !important;
}*/
.dscf7-captcha-container {
	background: transparent !important;
    padding-left: 0 !important;
}