/*
Theme Name: Divi Child Theme
Version: 1.1
Description: A child theme to house custom coding which modifies the Divi parent theme by Elegant Themes. Includes default line numbers where the code was taken from in the parent theme.
Author:   WowDigital.com
Template: Divi
*/

@import url("../Divi/style.css");

:root {
  --ifa-green: #49B461;
  --ifa-dark-blue: #203248;
  --ifa-light-mint: #EDF7F4;
  --ifa-dark-teal: #255F71;
  --ifa-teal: #29A5A1;
  --ifa-purple: #A05793;
}





/* coloured boxes layout code */
.row-1-style * {
	color: #fff !important;
}
.row-1-style .grid figure img {
	opacity: 1;
	height:180px;
}
.row-1-style .grid figure figcaption {
	padding: 10px;
	text-align: right;
	bottom: 0;
	height: auto;
	top: auto;
	z-index: 999
}
.row-1-style figure {
/*	transition: all .3s ease-in-out 0;*/
	margin-bottom: 0!important;
	transition: all 0.3s ease, padding 0s linear;
}
.row-1-style .grid .overlay {
	background: rgba(0,174,112,1);
	position: absolute;
	height: 100%;
	top: 0;
	width: 100%;
	z-index: 0;
/*	transition: all 0.3s ease-in-out 0;*/
	-webkit-transition: all 0.3s ease-in-out 0;
	transition: all 0.3s ease, padding 0s linear;
}
.row-1-style .grid figure:hover .overlay {
	background: rgba(0,174,112,0.75)
}


/* *****
 custom box colours
 ***** */
.row-1-style .grid .overlay.one {
	background: rgba(0,174,112,1)!important
}
.row-1-style .grid figure:hover .overlay.one {
	background: rgba(0,174,112,0.75)!important
}
.row-1-style .grid .overlay.two {
	background: rgba(31,50,72,1)!important
}
.row-1-style .grid figure:hover .overlay.two {
	background: rgba(31,50,72,0.75)!important
}
.row-1-style .grid .overlay.three {
	background: rgba(37,94,112,1)!important
}
.row-1-style .grid figure:hover .overlay.three {
	background: rgba(37,94,112,0.75)!important
}
.row-1-style .grid .overlay.four {
	background: rgba(40,165,161,1)!important
}
.row-1-style .grid figure:hover .overlay.four {
	background: rgba(40,165,161,0.75)!important
}
.row-1-style .grid .overlay.five {
	background: rgba(159,87,146,1)!important
}
.row-1-style .grid figure:hover .overlay.five {
	background: rgba(159,87,146,0.75)!important
}

.row-1-style .grid, .row-2-style .grid, .row-3-style .grid {
	padding: 0
}
.row-1-style, .row-2-style, .row-3-style {
	padding: 0 0 40px!important
}



/*hover box css*/
.grid {
	position: relative;
	margin: 0 auto;
	padding: 1em 0 4em;
	max-width: 1000px;
	list-style: none;
	text-align: center
}



/* Common style */
.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	min-width: 100%;
	max-width: 100%;
	max-height: 360px;
	width: 99%;
	background: #000000;
	text-align: center;
	cursor: pointer
}
.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: .8;
	width: 100%
}
.grid figure figcaption {
	padding: 2em;
	color: #fff;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}
.grid figure figcaption::before, .grid figure figcaption::after {
	pointer-events: none
}
.grid figure figcaption, .grid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.grid figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0
}
.grid figure h2 {
	word-spacing: .1em;
	font-weight: 500;
	font-size: 1.3em;
	text-transform:uppercase;
}
.grid figure .smtext {
	font-size: 0.85em;
	text-transform:uppercase;
	line-height:1.1em;
	font-weight: 500;
}
.grid figure h2, .grid figure p {
	margin: 0
}
.grid figure p {
	letter-spacing: 1px;
	font-size: 68.5%
}



/***** MEDIA QUERIES ******/
@media screen and (max-width: 50em) {
	.grid figure {
		display: inline-block;
		float: none;
		margin: 10px auto;
		width: 100%
	}
	.grid figure img {
		min-height: 100%
	}
}
/*
.et_pb_section_5.et_pb_section{
	margin-top:80px !important;
}
*/


/* clean up spotlight page right column */
.page-id-17011 .f-14 {
  font-family: 'Libre Baskerville',Georgia,"Times New Roman",serif !important;
  font-weight:700 !important;
  font-size:1.1em !important;
  color:#49b460;
  margin:0 !important;
}
.page-id-17011 .form-group h4{
  font-weight: 600 !important;
  color: #000 !important;
  line-height: 1.4em !important;
  font-size: 0.9em !important;
  text-align: left !important;
}
.form-group .cover {
  margin:1.5em 0 0 0 !important;
}
.page-id-17011 .mt-4, .my-4 {
  margin: 0 !important;
}
/* === STANDARDIZED IFA BUTTON STYLES === */

/* View Button - Standardized to IFA Primary */
.view-btn {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.view-btn:active, 
.view-btn:hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* Contact Button - Standardized to IFA Purple */
.form-group .btn-contact {
  background: var(--ifa-purple) !important;
  border: 1px solid var(--ifa-purple) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.form-group .btn-contact:hover, 
.form-group .btn-contact:active {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Blog "Read More" Link - Standardized to IFA Primary */
.more-link {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.more-link:hover,
.more-link:active {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* Dark Button - Light mint background with dark blue text */
.drk-btn,
body .drk-btn,
#page-container .drk-btn {
  background: var(--ifa-light-mint) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: var(--ifa-dark-blue) !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.drk-btn:hover,
.drk-btn:active,
body .drk-btn:hover,
body .drk-btn:active,
#page-container .drk-btn:hover,
#page-container .drk-btn:active {
  background: var(--ifa-dark-blue) !important;
  border-color: var(--ifa-dark-blue) !important;
  color: #fff !important;
}















/* layout fixes by David */
/*
.post-17011 .et_pb_section_1{
	padding:0 !important;
}
.post-17011 .details-expert {
	margin-top:0 !important;
}
.post-17011 .col-md-12 p {
	display:block !important;
	margin-block-start: -0.5em!important;
	margin-block-end: 0em!important;
}
.post-17011 .col-md-12 .sub-text {
	margin-block: 1em 0em !important;
}
.api-frame, .api-frame iframe{
	width:100%;
}

@media screen and (max-width: 990px) {
	.api-frame iframe{
		height:300px !important;
	}
}
.api-frame, .api-frame iframe{
	width:100%;
}

@media screen and (max-width: 990px) {
	.api-frame iframe{
		height:300px !important;
	}
	.list-inline-item.mt-4{
		width:100%;
  }
	.list-inline-item h6 {
		font-size: 0.9em;
	}
}

.col-md-12 .mb-0 {
margin-top:2em;
}
.col-md-12 h5 {
	font-size: 1.4em;
	line-height: 1.3em;
}
.col-md-12 div p a {
	margin-top:0 !important;
  position:relative;
	top: -1em;
	background-color:#f2f2f2;
	padding: 5px 8px;
	border-radius: 5px;
}
.col-md-12 div p a:active, .col-md-12 div p a:hover {
	background-color:#fafafa;
}
body.page-id-16999 p.caret {
	border: 0px solid #f00 !important;
	padding: 0 !important;
	margin-bottom:1em !important;
	line-height: 1.2em;
}
body.page-id-16999 .col-lg-4.form-group .font-weight-bold {
	border: 0px solid #f00;
	margin:2em 0 1em 0 !important;
	padding: 0 !important;
}
*/













/* for spotlight detail page */
.post-17011 .main-heading::after {
	display:none !important;
}
.post-17011 .et_pb_column h2, h2.mb-1 {
	font-family: 'Libre Baskerville',Georgia,"Times New Roman",serif !important;
	font-weight: 700 !important;
	color: #203248!important;
	line-height: 1.4em !important;
	font-size:2em !important;
	text-align: left !important;
 }
.post-17011 .et_pb_section_1{
	padding:0 !important;
}
.post-17011 .details-expert {
	margin-top:0 !important;
}
.post-17011 .col-md-12 p {
	display:block !important;
	margin-block-start: -0.5em!important;
	margin-block-end: 0em!important;
}
.post-17011 .col-md-12 .sub-text {
	margin-block: 1em 0em !important;
}

/* for frame in middle of spotlight */
.api-frame, .api-frame iframe{
	width:100%;
}
@media screen and (max-width: 990px) {
	.api-frame iframe{
		height:300px !important;
	}
}
.api-frame, .api-frame iframe{
	width:100%;
}
@media screen and (max-width: 990px) {
	.api-frame iframe{
		height:300px !important;
	}
	.list-inline-item.mt-4{
		width:100%;
  }
	.list-inline-item h6 {
		font-size: 0.9em;
	}
}

.post-17011 .et_pb_column hr {
  background: #f2f2f2 !important;
	height:3px !important;
	border: 0 !important;
	margin:0 0 5em 0 !important;
}







/*
.col-md-12{
margin-top:2em !important;
}
*/
.col-md-12 h4 {
	font-weight: 600;
}
.col-md-12 h5 {
	font-size: 1.2em;
	line-height: 1.3em;
}
.col-md-12 div p a {
	background-color:#f2f2f2;
	padding: 5px 8px;
	border-radius: 5px;
  margin-bottom: 2em !important;
	display:inline-block;
}
.col-md-12 div p a:active, .col-md-12 div p a:hover {
	background-color:#fafafa;
}
/*
body.page-id-16999 p.caret {
	border: 0px solid #f00 !important;
	padding: 0 !important;
	margin-bottom:1em !important;
	line-height: 1.2em;
}
body.page-id-16999 .col-lg-4.form-group .font-weight-bold {
	border: 0px solid #f00;
	margin:2em 0 1em 0 !important;
	padding: 0 !important;
}
*/
.img-sheen {
    max-height: 250px !important;
}
.spotlight-inner {
	box-shadow: none !important;
}

.membership-renewal{
    overflow: hidden;
}

.membership-renewal .second-line-space{
	margin-bottom: 50px;
}

.membership-renewal .contact-top-space{
	margin-top: 30px;
}

body .gform_wrapper .gform_card_icon_container {
    display: none !important;
}

/* Gravity Forms Submit Button - Standardized to IFA Primary */
body .gform_wrapper .gform_button,
body .gform_wrapper input[type="submit"],
body .gform_wrapper .gform_submit_button,
#page-container .gform_wrapper .gform_button,
#page-container .gform_wrapper input[type="submit"],
#page-container .gform_wrapper .gform_submit_button {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
  cursor: pointer !important;
}
body .gform_wrapper .gform_button:hover,
body .gform_wrapper input[type="submit"]:hover,
body .gform_wrapper .gform_submit_button:hover,
#page-container .gform_wrapper .gform_button:hover,
#page-container .gform_wrapper input[type="submit"]:hover,
#page-container .gform_wrapper .gform_submit_button:hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* === SITE-WIDE DIVI TABS === */
/* Container + frame */
body #page-container .et_pb_module.et_pb_tabs .et_pb_all_tabs {
  border: 1px solid #49b460 !important;
  border-radius: 20px;
  padding: 50px;
  margin-top: 45px;
}

/* Remove default border */
body #page-container .et_pb_tabs { border: none !important; }

/* Remove inner padding */
body #page-container .et_pb_tabs .et_pb_all_tabs .et_pb_tab { padding: 0 !important; }

/* Kill Divi's pseudo underline */
body #page-container .et_pb_tabs .et_pb_tabs_controls::after { border: none !important; }

/* Base controls */
body #page-container .et_pb_tabs .et_pb_tabs_controls { background: transparent !important; }
body #page-container .et_pb_tabs .et_pb_tabs_controls > li { 
  border: 0 !important; 
  margin-right: 10px; 
  height: auto !important; 
}
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a {
  display: inline-block; /* ensures border shows consistently */
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 18px 16px;
  text-decoration: none;
}

/* Active tab – cover both class and ARIA state */
body #page-container .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_active > a,
body #page-container .et_pb_tabs .et_pb_tabs_controls a[aria-selected="true"] {
  border-color: #49b460 !important;
}

/* Content spacing */
body #page-container .et_pb_tabs .et_pb_tab_content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body #page-container .et_pb_tabs .et_pb_tab_content > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hover state: white bg, green border, black text */
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a:hover {
  background: #fff !important;
  border-color: #49b460 !important;
  color: #000 !important;
}

/* Smooth transitions on tabs */
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a {
  transition: all 0.25s ease-in-out;
}

/* Hover state: white bg, green border, black text */
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a:hover {
  background: #fff !important;
  border-color: #49b460 !important;
  color: #000 !important;
}

/* Optional: keyboard accessibility (focus visible) */
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a:focus-visible {
  outline: 2px solid #49b460;
  outline-offset: 2px;
  background: #fff !important;
  color: #000 !important;
}

body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a::before,
body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a::after {
  display: none !important;
}

/* Responsive tweaks  */
@media (max-width: 1400px){
  body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a { padding: 14px 13px; }
  body #page-container .et_pb_tabs .et_pb_all_tabs { padding: 50px; margin-top: 40px; }
}
@media screen and (min-width:981px) and (max-width:1348px){
  body #page-container .et_pb_tabs .et_pb_tabs_controls > li > a,
  body #page-container .et_pb_tabs .et_pb_all_tabs .et_pb_tab { font-size: 16px !important; }
  body #page-container .et_pb_tabs .et_pb_tabs_controls > li { margin-right: 8px; }
  body #page-container .et_pb_tabs .et_pb_tab_content p:not(:last-child) { padding-bottom: 1em; }
}
@media screen and (max-width:1348px){
  body #page-container .et_pb_tabs .et_pb_all_tabs { padding: 30px; margin-top: 30px; }
}


/* === SITE-WIDE IFA BUTTON STYLES === */
/* Apply these classes directly to Button modules or use as global defaults */

/* Primary IFA Button (Dark Blue) - matches events calendar */
.et_pb_button.ifa-primary,
.et_pb_button.ifa-navy {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;    /* kill Divi gradients */
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button.ifa-primary:hover,
.et_pb_button.ifa-navy:hover { 
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* Secondary IFA Button (Dark Teal) */
.et_pb_button.ifa-secondary,
.et_pb_button.ifa-teal {
  background: var(--ifa-dark-teal) !important;
  border: 1px solid var(--ifa-dark-teal) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button.ifa-secondary:hover,
.et_pb_button.ifa-teal:hover { 
  background: var(--ifa-dark-blue) !important;
  border-color: var(--ifa-dark-blue) !important;
  color: #fff !important;
}

/* Ghost/Outline Button (matches events calendar subscribe button) */
.et_pb_button.ifa-ghost {
  background: transparent !important;
  color: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button.ifa-ghost:hover {
  background: var(--ifa-dark-blue) !important;
  color: #fff !important;
  border-color: var(--ifa-dark-blue) !important;
}

/* Green Accent Button */
.et_pb_button.ifa-green {
  background: var(--ifa-green) !important;
  border: 1px solid var(--ifa-green) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button.ifa-green:hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* Light Button (Teal to Purple) */
body .et_pb_button.light-btn,
body a.et_pb_button.light-btn,
#page-container .et_pb_button.light-btn,
#page-container a.et_pb_button.light-btn,
body .et_pb_button_module_wrapper .et_pb_button.light-btn,
body .et_pb_button_module_wrapper a.et_pb_button.light-btn,
#page-container .et_pb_button_module_wrapper .et_pb_button.light-btn,
#page-container .et_pb_button_module_wrapper a.et_pb_button.light-btn {
  background: var(--ifa-teal) !important;
  border: 1px solid var(--ifa-teal) !important;
  color: var(--ifa-dark-blue) !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
body .et_pb_button.light-btn:hover,
body a.et_pb_button.light-btn:hover,
#page-container .et_pb_button.light-btn:hover,
#page-container a.et_pb_button.light-btn:hover,
body .et_pb_button_module_wrapper .et_pb_button.light-btn:hover,
body .et_pb_button_module_wrapper a.et_pb_button.light-btn:hover,
#page-container .et_pb_button_module_wrapper .et_pb_button.light-btn:hover,
#page-container .et_pb_button_module_wrapper a.et_pb_button.light-btn:hover {
  background: var(--ifa-purple) !important;
  border-color: var(--ifa-purple) !important;
  color: #fff !important;
}

/* Hide Divi button icons for all IFA buttons */
.et_pb_button.ifa-primary:after,
.et_pb_button.ifa-secondary:after,
.et_pb_button.ifa-ghost:after,
.et_pb_button.ifa-green:after,
.et_pb_button.light-btn:after,
.et_pb_button.ifa-navy:after,
.et_pb_button.ifa-teal:after {
  display: none !important;
}

/* === GLOBAL DIVI BUTTON OVERRIDES === */
/* Apply IFA styling to ALL Divi buttons site-wide (optional) */

/* Uncomment the following block to make ALL Divi buttons use IFA styling */
/*
.et_pb_button,
a.et_pb_button {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button:hover,
a.et_pb_button:hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}
.et_pb_button:after,
a.et_pb_button:after {
  display: none !important;
}
*/

/* === GLOBAL DIVI BUTTON OVERRIDES === */
/* Apply IFA styling to ALL Divi buttons site-wide */

/* More specific targeting to override Divi's styles */
body .et_pb_button:not(.light-btn),
body a.et_pb_button:not(.light-btn),
#page-container .et_pb_button:not(.light-btn),
#page-container a.et_pb_button:not(.light-btn) {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 10px 15px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
}
.et_pb_button:not(.light-btn):hover,
a.et_pb_button:not(.light-btn):hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}
.et_pb_button:after,
a.et_pb_button:after {
  display: none !important;
}

/* Additional specificity to ensure styles are applied */
body .et_pb_button:not(.light-btn),
body a.et_pb_button:not(.light-btn),
#page-container .et_pb_button:not(.light-btn),
#page-container a.et_pb_button:not(.light-btn),
body .et_pb_button_module_wrapper .et_pb_button:not(.light-btn),
body .et_pb_button_module_wrapper a.et_pb_button:not(.light-btn),
#page-container .et_pb_button_module_wrapper .et_pb_button:not(.light-btn),
#page-container .et_pb_button_module_wrapper a.et_pb_button:not(.light-btn) {
  padding: 12px 20px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Hover styles with high specificity */
body .et_pb_button:not(.light-btn):hover,
body a.et_pb_button:not(.light-btn):hover,
#page-container .et_pb_button:not(.light-btn):hover,
#page-container a.et_pb_button:not(.light-btn):hover,
body .et_pb_button_module_wrapper .et_pb_button:not(.light-btn):hover,
body .et_pb_button_module_wrapper a.et_pb_button:not(.light-btn):hover,
#page-container .et_pb_button_module_wrapper .et_pb_button:not(.light-btn):hover,
#page-container .et_pb_button_module_wrapper a.et_pb_button:not(.light-btn):hover {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
  transition: background .25s ease, border-color .25s ease, color .25s ease !important;
}

/* --- IFA Accordion (Divi Toggle / Accordion) --- */

/* Base container - targeting both standalone toggles AND accordion toggles */
body .et_pb_toggle,
body .et_pb_accordion .et_pb_toggle,
body #page-container .et_pb_toggle,
body #page-container .et_pb_accordion .et_pb_toggle {
  border: 2px solid var(--ifa-green, #49B461) !important;
  background: transparent !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
}

/* Title + content spacing & transparent backgrounds */
body .et_pb_toggle_title,
body .et_pb_toggle_content,
body .et_pb_accordion .et_pb_toggle_title,
body .et_pb_accordion .et_pb_toggle_content,
body #page-container .et_pb_toggle_title,
body #page-container .et_pb_toggle_content,
body #page-container .et_pb_accordion .et_pb_toggle_title,
body #page-container .et_pb_accordion .et_pb_toggle_content {
  background: transparent !important;
}

body .et_pb_toggle_title,
body .et_pb_accordion .et_pb_toggle_title,
body #page-container .et_pb_toggle_title,
body #page-container .et_pb_accordion .et_pb_toggle_title {
  position: relative !important;
  margin: 0 !important;
  padding: 11px 46px 11px 20px !important;
  border-bottom: none !important;
  cursor: pointer !important;
  font-weight: bold !important;
}

body .et_pb_toggle_content,
body .et_pb_accordion .et_pb_toggle_content,
body #page-container .et_pb_toggle_content,
body #page-container .et_pb_accordion .et_pb_toggle_content {
  padding: 11px 20px !important;
}

/* Keep border consistent when opened */
body .et_pb_toggle.et_pb_toggle_open,
body .et_pb_accordion .et_pb_toggle.et_pb_toggle_open,
body #page-container .et_pb_toggle.et_pb_toggle_open,
body #page-container .et_pb_accordion .et_pb_toggle.et_pb_toggle_open {
  background: transparent !important;
  border-color: var(--ifa-green, #49B461) !important;
}

/* Icon: Divi's default +/- icons with proper positioning */
body .et_pb_toggle .et_pb_toggle_title:before,
body .et_pb_accordion .et_pb_toggle .et_pb_toggle_title:before,
body #page-container .et_pb_toggle .et_pb_toggle_title:before,
body #page-container .et_pb_accordion .et_pb_toggle .et_pb_toggle_title:before {
  color: var(--ifa-dark-blue, #203248) !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* open state icon */
body .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before,
body .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before,
body #page-container .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before,
body #page-container .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
  color: var(--ifa-dark-blue, #203248) !important;
}

/* Completely override Divi's animation with our own smooth one */
body .et_pb_toggle_content,
body .et_pb_accordion .et_pb_toggle_content,
body #page-container .et_pb_toggle_content,
body #page-container .et_pb_accordion .et_pb_toggle_content {
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease !important;
  animation: none !important;
  overflow: hidden !important;
}

/* Override Divi's toggle animation completely */
body .et_pb_toggle,
body .et_pb_accordion .et_pb_toggle,
body #page-container .et_pb_toggle,
body #page-container .et_pb_accordion .et_pb_toggle {
  transition: none !important;
}

body .et_pb_toggle_title,
body .et_pb_accordion .et_pb_toggle_title,
body #page-container .et_pb_toggle_title,
body #page-container .et_pb_accordion .et_pb_toggle_title {
  transition: none !important;
}

/* Remove any conflicting animations from child elements */
body .et_pb_toggle_content *,
body .et_pb_accordion .et_pb_toggle_content *,
body #page-container .et_pb_toggle_content *,
body #page-container .et_pb_accordion .et_pb_toggle_content * {
  animation: none !important;
  transition: none !important;
}

/* Force smooth height transitions */
body .et_pb_toggle_content p,
body .et_pb_toggle_content div,
body .et_pb_toggle_content ul,
body .et_pb_toggle_content ol,
body .et_pb_accordion .et_pb_toggle_content p,
body .et_pb_accordion .et_pb_toggle_content div,
body .et_pb_accordion .et_pb_toggle_content ul,
body .et_pb_accordion .et_pb_toggle_content ol,
body #page-container .et_pb_toggle_content p,
body #page-container .et_pb_toggle_content div,
body #page-container .et_pb_toggle_content ul,
body #page-container .et_pb_toggle_content ol,
body #page-container .et_pb_accordion .et_pb_toggle_content p,
body #page-container .et_pb_accordion .et_pb_toggle_content div,
body #page-container .et_pb_accordion .et_pb_toggle_content ul,
body #page-container .et_pb_accordion .et_pb_toggle_content ol {
  animation: none !important;
  transition: none !important;
}

/* Tables inside content */
body .et_pb_toggle_content table,
body .et_pb_accordion .et_pb_toggle_content table,
body #page-container .et_pb_toggle_content table,
body #page-container .et_pb_accordion .et_pb_toggle_content table {
  width: 100% !important;
  border-collapse: collapse !important;
}
body .et_pb_toggle_content td,
body .et_pb_toggle_content th,
body .et_pb_accordion .et_pb_toggle_content td,
body .et_pb_accordion .et_pb_toggle_content th,
body #page-container .et_pb_toggle_content td,
body #page-container .et_pb_toggle_content th,
body #page-container .et_pb_accordion .et_pb_toggle_content td,
body #page-container .et_pb_accordion .et_pb_toggle_content th {
  padding: 8px !important;
}

/* Size + baseline (no twitch) */
.ifa-footer-icons .ifa-footer-col .et_pb_icon .et-pb-icon,
.ifa-footer-icons .ifa-footer-col .et_pb_icon a .et-pb-icon {
  font-size: 26px !important;   /* ~20% bigger than 22px would be 26.4 */
  line-height: 1 !important;
  display: inline-block;
}

/* Idle color + smooth transition */
.ifa-footer-icons .ifa-footer-col .et_pb_icon,
.ifa-footer-icons .ifa-footer-col .et_pb_icon a,
.ifa-footer-icons .ifa-footer-col .et_pb_icon .et-pb-icon {
  color: #FFFFFF;
  transition: color 0.25s ease;
  text-decoration: none;
}

/* Hover color only (no padding/background/transform) */
.ifa-footer-icons .ifa-footer-col .et_pb_icon:hover,
.ifa-footer-icons .ifa-footer-col .et_pb_icon:hover .et-pb-icon,
.ifa-footer-icons .ifa-footer-col .et_pb_icon:hover a {
  color: var(--ifa-green, #49B461);
}

/* Keep them in one row with tidy spacing */
.ifa-footer-icons .ifa-footer-col .et_pb_icon {
  display: inline-block;
  vertical-align: middle;
  margin: 8px 12px 0 0;
  cursor: pointer;
}

/* Tidy */
.ifa-footer-icons .ifa-footer-col .et_pb_module { margin-bottom: 0; }
.ifa-footer-icons .et_pb_social_media_follow { display: none; }

/* Keynote-style text box (accent only) */
.ifa-keynote-box {
  padding: 20px 25px;
  background-color: #ffffff;
  position: relative;
}

/* Left accent line */
.ifa-keynote-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  background-color: var(--ifa-green, #49B461); /* IFA green accent */
  border-radius: 2px;
}

/* Headline (first line) */
.ifa-keynote-box p:first-child {
  font-weight: 600;
  color: #203248; /* IFA dark blue text */
  margin-bottom: 5px;
}

/* Subtext (second line and onward) */
.ifa-keynote-box p {
  margin: 0;
  color: #6a6a6a;
  font-size: 15px;
  line-height: 1.5;
}

/* === GRAVITY FORMS PROGRESS BAR - IFA GREEN === */
/* Progress bar wrapper */
.gf_progressbar_wrapper {
  margin-bottom: 20px;
}

/* Progress bar title */
.gf_progressbar_wrapper .gf_progressbar_title {
  color: var(--ifa-dark-blue, #203248);
  font-weight: 600;
  margin-bottom: 10px;
}

/* Progress bar container - change blue to IFA green */
.gf_progressbar.gf_progressbar_blue,
.gf_progressbar {
  background-color: var(--ifa-light-mint, #EDF7F4) !important;
  border: 1px solid var(--ifa-green, #49B461) !important;
  border-radius: 8px !important;
  height: 20px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Progress bar fill - change blue to IFA green */
.gf_progressbar_percentage.percentbar_blue,
.gf_progressbar_percentage {
  background-color: var(--ifa-green, #49B461) !important;
  background-image: none !important;
  height: 100% !important;
  transition: width 0.3s ease !important;
  border-radius: 7px 0 0 7px !important;
}

/* Progress bar percentage text */
.gf_progressbar_percentage span {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
}

/* === GRAVITY FORMS NAVIGATION BUTTONS === */
/* Next, Previous, and other form navigation buttons */
.gform_next_button,
.gform_previous_button,
.gform_page_footer input[type="button"],
.gform_page_footer input[type="submit"],
.gform_page_footer .button {
  background: var(--ifa-dark-blue) !important;
  border: 1px solid var(--ifa-dark-blue) !important;
  color: #fff !important;
  background-image: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .25s, border-color .25s, color .25s !important;
  cursor: pointer !important;
}

.gform_next_button:hover,
.gform_previous_button:hover,
.gform_page_footer input[type="button"]:hover,
.gform_page_footer input[type="submit"]:hover,
.gform_page_footer .button:hover,
.gform_next_button:active,
.gform_previous_button:active,
.gform_page_footer input[type="button"]:active,
.gform_page_footer input[type="submit"]:active,
.gform_page_footer .button:active {
  background: var(--ifa-dark-teal) !important;
  border-color: var(--ifa-dark-teal) !important;
  color: #fff !important;
}

/* Make columns equal-height so the separator spans nicely */
.ifa-footer-seps .et_pb_row {
  display: flex;
  align-items: stretch;
}

/* Add a vertical separator after each column except the last */
.ifa-footer-seps .et_pb_column {
  position: relative;
  padding-right: 28px;   /* space before separator */
  margin-right: 28px;    /* space after separator */
}

.ifa-footer-seps .et_pb_column:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 8px;              /* inset from top */
  bottom: 8px;           /* inset from bottom */
  right: 0;
  width: 1px;
  background: #fff;  /* tweak to taste */
}

/* Don’t flex the row on small screens (and remove separators) */
@media (max-width: 980px) {
  .ifa-footer-seps .et_pb_row { display: block; }
  .ifa-footer-seps .et_pb_column {
    padding-right: 0;
    margin-right: 0;
  }
  .ifa-footer-seps .et_pb_column::after { display: none; }
}

/* ===========================
   TABS: Left-side vertical (Divi)
   Requires module class: vertical-tabs
   =========================== */

/* Remove the sneaky vertical divider & any pseudo lines */
.et_pb_module.vertical-tabs .et_pb_tab,
.et_pb_module.vertical-tabs .et_pb_tab_content {
  border-left: 0 !important;
  border: 0 !important; /* remove all borders including green and gray */
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: var(--ifa-light-mint, #EDF7F4) !important; /* IFA mint background */
}

/* Remove padding and borders from all_tabs - override more specific selectors */
body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_all_tabs,
.et_pb_module.vertical-tabs .et_pb_all_tabs {
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  background: var(--ifa-light-mint, #EDF7F4) !important; /* IFA mint background */
}

.et_pb_module.vertical-tabs .et_pb_all_tabs::before,
.et_pb_module.vertical-tabs .et_pb_all_tabs::after,
.et_pb_module.vertical-tabs .et_pb_tab::before,
.et_pb_module.vertical-tabs .et_pb_tab::after,
.et_pb_module.vertical-tabs .et_pb_tab_content::before,
.et_pb_module.vertical-tabs .et_pb_tab_content::after {
  content: none !important; /* nuke any divider pseudo-elements */
}

/* Match reference: no padding on content */
.et_pb_module.vertical-tabs .et_pb_tab_content {
  padding: 0 !important;
}

/* Optional: left buttons styled as rounded "pills" */
.et_pb_module.vertical-tabs .et_pb_tabs_controls li a {
  border: 1px solid var(--ifa-green, #49B461);
  border-radius: 12px;
  padding: 15px 19px;
  width: 100%; /* full width tabs */
  box-sizing: border-box;
  background: #fff !important; /* white background */
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--ifa-dark-green, #25773A) !important; /* IFA dark green text */
  transition: all 0.25s ease-in-out;
  /* Diffused black drop shadow on left, bottom, and right */
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15), 
              2px 2px 4px rgba(0, 0, 0, 0.15), 
              0 2px 4px rgba(0, 0, 0, 0.15);
}
.et_pb_module.vertical-tabs .et_pb_tabs_controls li.et_pb_tab_active a {
  background: var(--ifa-dark-green, #25773A) !important; /* dark green background */
  border-color: var(--ifa-dark-green, #25773A) !important;
  color: #fff !important; /* white text for contrast */
  font-weight: 600 !important; /* consistent font weight */
}
.et_pb_module.vertical-tabs .et_pb_tabs_controls li a:hover {
  background: var(--ifa-dark-teal, #255F71) !important; /* dark teal background */
  border-color: var(--ifa-dark-teal, #255F71) !important;
  color: #fff !important; /* white text for contrast */
  font-weight: 600 !important; /* consistent font weight */
}

/* Desktop: left-side vertical tabs */
@media (min-width: 981px) {
  /* Module wrapper as flex row */
  .et_pb_module.vertical-tabs.et_pb_tabs {
    display: flex !important;
    gap: 40px !important; /* breathing room between tabs and content */
    border: 0 !important; /* remove gray border */
    align-items: flex-start !important;
    background: var(--ifa-light-mint, #EDF7F4) !important; /* IFA mint background */
    padding: 0 !important; /* ensure no padding on desktop */
  }

  /* Left column: tab buttons */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls {
    order: 1;
    width: 50%;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0 !important; /* remove all borders including gray */
    display: block !important;   /* beat Divi's flex */
  }

  /* Make each tab a full-width row (cancel Divi's floats) */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li {
    float: none !important;
    width: 100%;
    margin: 0 0 20px 0; /* 20px spacing between tabs */
    border: 0 !important; /* remove gray border-bottom */
  }
  
  /* Remove margin from last tab */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li:last-child {
    margin-bottom: 0;
  }

  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a {
    display: block !important;
    padding: 15px 19px !important;
    text-align: left !important;
    width: 100% !important; /* ensure tabs are full width */
    box-sizing: border-box !important; /* include padding and border in width */
    background: #fff !important; /* white background */
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--ifa-dark-green, #25773A) !important; /* IFA dark green text */
    border: 1px solid var(--ifa-green, #49B461) !important;
    border-radius: 12px !important;
    transition: all 0.25s ease-in-out !important;
    /* Diffused black drop shadow on left, bottom, and right */
    box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15), 
                2px 2px 4px rgba(0, 0, 0, 0.15), 
                0 2px 4px rgba(0, 0, 0, 0.15) !important;
    min-height: auto !important;
  }

  .et_pb_module.vertical-tabs .et_pb_tabs_controls li.et_pb_tab_active a {
    background: var(--ifa-dark-green, #25773A) !important; /* dark green background */
    border-color: var(--ifa-dark-green, #25773A) !important;
    color: #fff !important; /* white text for contrast */
    font-weight: 600 !important; /* consistent font weight */
  }
  
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a:hover {
    background: var(--ifa-dark-teal, #255F71) !important; /* dark teal background */
    border-color: var(--ifa-dark-teal, #255F71) !important;
    color: #fff !important; /* white text for contrast */
    font-weight: 600 !important; /* consistent font weight */
  }

  /* Right column: panels - override more specific selectors */
  body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_all_tabs,
  .et_pb_module.vertical-tabs .et_pb_all_tabs {
    order: 2;
    width: 50%;
    /* important: keep this as block; Divi toggles children visibility */
    display: block !important;
    border: 0 !important; /* remove all borders including green and gray */
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important; /* ensure no padding */
    border-radius: 0 !important;
    background: var(--ifa-light-mint, #EDF7F4) !important; /* IFA mint background */
    /* allow flex shrink without overflow if widths change */
    min-width: 0;
  }
  
  /* Ensure tab content has no borders */
  .et_pb_module.vertical-tabs .et_pb_tab_content {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  /* Tighten panel spacing */
  .et_pb_module.vertical-tabs .et_pb_tab {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Optimized for 1080px width - better space utilization */
@media (min-width: 1080px) and (max-width: 1200px) {
  /* Module wrapper - reduce gap slightly to maximize space */
  .et_pb_module.vertical-tabs.et_pb_tabs {
    gap: 35px !important; /* slightly reduced gap for more content space */
  }

  /* Left column: tab buttons - optimized width for 1080px */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls {
    width: 48% !important; /* optimized for better space distribution */
    flex-shrink: 0 !important; /* prevent tabs from shrinking */
  }

  /* Right column: content area - wider for better text readability */
  body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_all_tabs,
  .et_pb_module.vertical-tabs .et_pb_all_tabs {
    width: 52% !important; /* increased from 50% for more text space */
    flex-shrink: 0 !important; /* prevent content from shrinking */
  }
}

/* Mobile/tablet: optimized stacked vertical layout */
@media (max-width: 980px) {
  .et_pb_module.vertical-tabs.et_pb_tabs {
    display: block !important;
    border: 0;
    background: var(--ifa-light-mint, #EDF7F4) !important;
    padding: 15px !important; /* add padding around entire module */
  }
  
  /* Tab controls container */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls {
    width: 100% !important;
    margin: 0 0 20px 0 !important; /* space between tabs and content */
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
    list-style: none;
  }
  
  /* Each tab button - full width, stacked vertically */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li {
    float: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important; /* spacing between tab buttons */
    border: 0 !important;
  }
  
  /* Remove margin from last tab button */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li:last-child {
    margin-bottom: 0 !important;
  }
  
  /* Tab button links - optimized for mobile touch */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a {
    display: block !important;
    width: 100% !important;
    padding: 16px 20px !important; /* larger touch target */
    text-align: center !important; /* center text on mobile */
    font-size: 18px !important; /* slightly smaller for mobile */
    font-weight: 600 !important;
    border: 1px solid var(--ifa-green, #49B461) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: var(--ifa-dark-green, #25773A) !important;
    transition: all 0.25s ease-in-out;
    /* Reduced shadow for mobile */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    min-height: 48px !important; /* ensure touch-friendly size */
  }
  
  /* Active tab on mobile */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li.et_pb_tab_active a {
    background: var(--ifa-dark-green, #25773A) !important;
    border-color: var(--ifa-dark-green, #25773A) !important;
    color: #fff !important;
    font-weight: 600 !important;
  }
  
  /* Tab hover on mobile (for devices that support it) */
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a:hover,
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a:active {
    background: var(--ifa-dark-teal, #255F71) !important;
    border-color: var(--ifa-dark-teal, #255F71) !important;
    color: #fff !important;
    font-weight: 600 !important;
  }
  
  /* Content area - full width below tabs */
  body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_all_tabs,
  .et_pb_module.vertical-tabs .et_pb_all_tabs {
    width: 100% !important;
    order: initial !important;
    border: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
    background: var(--ifa-light-mint, #EDF7F4) !important;
    display: block !important;
  }
  
  /* Tab content panels */
  .et_pb_module.vertical-tabs .et_pb_tab_content {
    padding: 0 !important;
    border: 0 !important;
    background: var(--ifa-light-mint, #EDF7F4) !important;
  }
  
  .et_pb_module.vertical-tabs .et_pb_tab {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border: 0 !important;
  }
}

/* Extra small mobile devices */
@media (max-width: 480px) {
  .et_pb_module.vertical-tabs.et_pb_tabs {
    padding: 12px !important; /* slightly less padding on very small screens */
  }
  
  .et_pb_module.vertical-tabs .et_pb_tabs_controls {
    margin-bottom: 15px !important;
  }
  
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li {
    margin-bottom: 10px !important;
  }
  
  .et_pb_module.vertical-tabs .et_pb_tabs_controls li a {
    padding: 14px 16px !important;
    font-size: 16px !important; /* smaller font on very small screens */
  }
}

/* Nuke Divi's default hover (li:hover) for these tabs */
.et_pb_module.vertical-tabs .et_pb_tabs_controls li:hover a,
.et_pb_module.vertical-tabs .et_pb_tabs_controls li a:hover {
  background: var(--ifa-dark-teal, #255F71) !important;
  border-color: var(--ifa-dark-teal, #255F71) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_tabs_controls li:hover a,
body #page-container .et_pb_module.vertical-tabs.et_pb_tabs .et_pb_tabs_controls li a:hover {
  background: var(--ifa-dark-teal, #255F71) !important;
  border-color: var(--ifa-dark-teal, #255F71) !important;
  color: #fff !important;
}

/* ===========================
   DARK VARIANT: vertical-tabs.vtabs-dark
   Usage: Add both "vertical-tabs" and "vtabs-dark" classes to module
   Only overrides color-related properties
   =========================== */

/* Dark variant: Background colors */
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tab,
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tab_content {
  background: var(--ifa-dark-blue, #203248) !important; /* IFA dark blue background */
}

body #page-container .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs .et_pb_all_tabs,
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_all_tabs {
  background: var(--ifa-dark-blue, #203248) !important; /* IFA dark blue background */
}

/* Dark variant: Tab button default state */
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a {
  border-color: var(--ifa-teal, #29A5A1) !important; /* IFA teal border */
  background: rgba(32, 50, 72, 0.6) !important; /* semi-transparent dark blue */
  color: #fff !important; /* white text */
}

/* Dark variant: Active tab */
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li.et_pb_tab_active a {
  background: var(--ifa-dark-teal, #255F71) !important; /* IFA dark teal active */
  border-color: var(--ifa-dark-teal, #255F71) !important;
  color: #fff !important;
}

/* Dark variant: Hover state */
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a:hover,
.et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li:hover a {
  background: var(--ifa-teal, #29A5A1) !important; /* IFA teal hover */
  border-color: var(--ifa-teal, #29A5A1) !important;
  color: #fff !important;
}

/* Dark variant: Desktop media query overrides */
@media (min-width: 981px) {
  .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs {
    background: var(--ifa-dark-blue, #203248) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a {
    background: rgba(32, 50, 72, 0.6) !important; /* semi-transparent dark blue */
    color: #fff !important;
    border-color: var(--ifa-teal, #29A5A1) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li.et_pb_tab_active a {
    background: var(--ifa-dark-teal, #255F71) !important;
    border-color: var(--ifa-dark-teal, #255F71) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a:hover {
    background: var(--ifa-teal, #29A5A1) !important;
    border-color: var(--ifa-teal, #29A5A1) !important;
  }

  body #page-container .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs .et_pb_all_tabs,
  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_all_tabs {
    background: var(--ifa-dark-blue, #203248) !important;
  }
}

/* Dark variant: Mobile overrides */
@media (max-width: 980px) {
  .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs {
    background: var(--ifa-dark-blue, #203248) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a {
    background: rgba(32, 50, 72, 0.6) !important; /* semi-transparent dark blue */
    color: #fff !important;
    border-color: var(--ifa-teal, #29A5A1) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li.et_pb_tab_active a {
    background: var(--ifa-dark-teal, #255F71) !important;
    border-color: var(--ifa-dark-teal, #255F71) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a:hover,
  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tabs_controls li a:active {
    background: var(--ifa-teal, #29A5A1) !important;
    border-color: var(--ifa-teal, #29A5A1) !important;
  }

  body #page-container .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs .et_pb_all_tabs,
  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_all_tabs {
    background: var(--ifa-dark-blue, #203248) !important;
  }

  .et_pb_module.vertical-tabs.vtabs-dark .et_pb_tab_content {
    background: var(--ifa-dark-blue, #203248) !important;
  }
}

/* Dark variant: High specificity hover override */
body #page-container .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs .et_pb_tabs_controls li:hover a,
body #page-container .et_pb_module.vertical-tabs.vtabs-dark.et_pb_tabs .et_pb_tabs_controls li a:hover {
  background: var(--ifa-teal, #29A5A1) !important;
  border-color: var(--ifa-teal, #29A5A1) !important;
  color: #fff !important;
}