@media(min-width: 1025px) {
    body header .btn-size-large {
        --btn-font-size: 14px;
        --btn-height: 42px;
    }

    body .btn-size-default,
    body .btn-size-large {
        --btn-font-size: 15px;
    }

    body .btn-size-extra-large {
        --btn-font-size: 18px;
    }
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -30%, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-30%, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(20%, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 30%, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30%,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-30%,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(20%,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0,30%,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

body [class*=color-scheme-light] {
    --wd-link-color: rgba(255, 255, 255, 0.7);
}

h1, h2, h3, h4, h5, h6, legend, .title {
    line-height: 1.2 !important;
}

header .whb-flex-equal-sides :is(.whb-col-left,.whb-col-right) {
    flex: initial;
}

.img-hover .wd-image {
    overflow: hidden;
}

.img-hover .wd-image img {
    overflow: hidden;
    transition: transform 0.6s ease;
}

.img-hover .wd-image:hover img {
  transform: scale(1.08);
}

body:is(.page-template-default) main#main-content {
    padding-bottom: 0;
}

body:is(.page-template-default) .wd-content-layout {
    padding-block: 0;
}

#menu-mobile-navigation.wd-nav-mobile>li>a, 
#menu-mobile-navigation.wd-nav-mobile>li>ul li>a {
    font-family: 'Nunito';
    font-weight: 700;
}

#menu-mobile-navigation.wd-nav-mobile>li>a:hover,
#menu-mobile-navigation.wd-nav-mobile>li.current_page_item>a{
    color: var(--wd-alternative-color);
}

/*--------------- Footer ---------------*/
.footer-info-container .info-box-icon {
    width: 64px !important;
    height: 64px !important;
    padding: 15px !important;
}

.footer-info-container .info-svg-wrapper {
    height: fit-content !important;
}

/*--------------- Home ---------------*/
body .title-wrapper .img-wrapper{
    margin-top: 0;
}

.home-service-banner .service-banner .wrapper-content-banner {
    display: flex;
    height: 240px;
}

.home-service-banner .service-banner .content-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
}

.home-service-banner .elementor-widget-image .elementor-widget-container {
  overflow: hidden;
}

.home-service-banner > div > div .elementor-widget-image img {
    display: block;
    width: 100%;
    transition: transform 0.6s ease;
    height: 350px;
    object-fit: cover;
}

.home-service-banner > div > div:hover .elementor-widget-image img {
  transform: scale(1.08);
}

.home-service-banner .service-banner .banner-btn-wrapper {
    margin-top: auto;
}

.home-service-banner .service-banner :is(.banner-subtitle,.banner-title,.banner-inner):not(:first-child) {
    width: 90%;
}

.home-service-banner .elementor-widget-image {
    margin-bottom: -20% !important;
}

.home-service-banner .wd-info-box,
.home-service-banner .banner-content-background .wrapper-content-banner {
    /* border-radius: 80px 80px 20px 20px / 60px 60px 20px 20px; */
    border-radius: 50% 50% 0 0 / 1.75rem 1.75rem 0 0;
    padding-top: 40px !important;
    min-height: 240px;
}

.home-service-banner .wd-info-box :is(.info-box-subtitle,.info-box-title,.info-box-inner):not(:first-child) {
    margin-bottom: 10px;
}

.home-service-banner .wd-info-box .info-btn-wrapper {
    margin-top: auto !important;
}

.home-service-banner .wd-info-box .info-box-content {
    display: flex;
    flex-direction: column;
}

.icon-container .elementor-widget-icon-box {
    width: 25%;
    background: #fff;
    border-radius: 24px;
    padding: 30px 20px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* icon */
.icon-container .elementor-icon-box-icon {
  margin: 0;
}

/* hover lift */
.icon-container .elementor-widget-icon-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.04);
}

/*--------------- Subpages ---------------*/
.subpage-banner::before{
    background-image: linear-gradient(90deg,rgba(15,61,56,0.9) 0%,rgba(15,61,56,0.78) 45%,rgba(15,61,56,0.25) 100%) !important;
    opacity: 1;
}

.program-grid > div {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0;
    overflow: hidden;
}
 
/* Icon header with curved bottom edge */
.program-grid > div > .elementor-widget-image {
    width: 100%;
    height: 170px;
    margin: 0 !important;
}

.program-grid > div > .elementor-widget-image > div {
    border-radius: 0 0 50% 50% / 0 0 2.25rem 2.25rem;
}
 
.program-grid > div > .elementor-widget-image .elementor-widget-container {
    display: flex;
    justify-content: center;
    align-items: center;
}
 
/* Text area */
.program-grid > div > .elementor-widget-wd_infobox {
    flex: 1;
}

.program-grid > div > .elementor-widget-wd_infobox div {
    height: 100%;
}

.program-grid > div > .elementor-widget-image img {
  transition: transform 0.35s ease;
}

.program-grid > div:hover > .elementor-widget-image img {
  transform: scale(1.15) ;
}

.corporate-grid .wd-info-box {
    border-radius: 50% 50% 0 0 / 1.75rem 1.75rem 0 0;
    padding-top: 40px !important;
    min-height: 150px;
}

.corporate-grid .box-icon-with-bg .info-box-icon {
    padding: 15px;
}

.corporate-grid .info-svg-wrapper{
    width: 40px !important;
    height: 40px !important;
}

.corporate-grid .elementor-widget.elementor-widget-wd_infobox {
    flex: 1;
}

.corporate-grid .box-icon-wrapper {
    margin-top: -70px; 
    margin-bottom: 0 !important;
}

.corporate-grid .elementor-widget-image {
    margin-bottom: -12% !important;
}

.corporate-grid .elementor-widget-image img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: bottom;
    transition: transform 0.6s ease;
}

.corporate-grid > div:hover .elementor-widget-image img {
  transform: scale(1.08);
}

#mint-bg.icon-container .elementor-widget-icon-box {
    background-color: #e5f3f0;
}

/*--------------- Mobile Responsive ---------------*/
@media only screen and (max-width: 1200px) {
    .footer-info-container .info-box-icon {
        width: 54px !important;
        height: 54px !important;
        padding: 12px !important;
    }

    .home-service-banner .wd-info-box, .home-service-banner .banner-content-background .wrapper-content-banner {
        padding-top: 30px !important;
        min-height: 200px;
    }
}

@media only screen and (max-width: 1024px) {
    body .wd-fontsize-xl {

    } 

    body .title-wrapper .title,
    body .wd-fontsize-xxl, body .wd-fontsize-xxxl {
        font-size: 32px;
    }

    .home-service-banner .elementor-widget-image {
        margin-bottom: -25% !important;
    }

    .icon-container .elementor-icon-box-title {
        font-size: 16px;
    }

    .footer-info-container .info-box-icon {
        width: 54px !important;
        height: 54px !important;
        padding: 12px !important;
    }

    .program-grid,
    .home-service-banner,
    .corporate-grid {
        --e-con-grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media only screen and (max-width: 767.99px) {
    body .title-wrapper .title,
    body .wd-fontsize-xxl, body .wd-fontsize-xxxl {
        font-size: 30px;
    }

    body .wd-fontsize-m {
        font-size: 16px;
    }

    .icon-container .elementor-icon {
        font-size: 40px;
    }

    .corporate-grid .info-svg-wrapper {
        width: 32px !important;
        height: 32px !important;
    }

    #founder-profile img{
        height: 100%;
        /* object-position: center; */
        aspect-ratio: 3 / 4;
    }
}

@media only screen and (max-width: 600px) {
    .corporate-grid, .program-grid,
    .home-service-banner {
        --e-con-grid-template-columns: repeat(1, 1fr) !important;
    }
}