/**
Theme Name: Medicore Child
Author: Medicore developers
Author URI: http://wpastra.com/about/
Description: A custom child theme of Astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: medicore-child
Template: astra
*/

/* Global stylings */
body.elementor-default .elementor a {
    text-decoration: none;
}
.elementor-page .elementor h1, .elementor-page .elementor h2,
.elementor-page .elementor h3, .elementor-page .elementor h4,
.elementor-page .elementor h5, .elementor-page .elementor h6,
.elementor-page .elementor p {
    margin: 0;
}
.elementor-page .elementor-widget-text-editor p:not(:last-child) {
    margin-bottom: 10px;
}
.elementor-page .elementor-widget-text-editor ul, .elementor-page .elementor-widget-text-editor ol {
    margin: 0 0 10px;
}
.elementor-widget-text-editor.two-col-list ul, .elementor-widget-text-editor.two-col-list ol {
    column-count: 2;
}

/* Header */
.main-header .cta-column {
    margin-left: auto;
}

/* Pop up off canvas menu */
.off-canvas-menu .sub-menu {
    position: relative !important;
    margin-left: 0 !important;
    left: unset !important;
    top: unset !important;
    margin-top: 0 !important;
}

/* Elementor homepage */
.elementor-page .wp-block-group:has(.elementor) {
    padding: 0 !important;
}
.elementor-page .wp-block-group .elementor {
    max-width: 100%;
}
span.blue-text {
    color: #00489f;
}
body:has(.banner-no-title-above) .wp-block-group:has(.wp-block-post-title) {
    display: none !important;
}
.elementor-page .wp-block-group:has(.elementor) > .entry-content {
    padding: 0;
    width: 100%;
    margin: 0;
}
.banner-section .curved-col-img {
    clip-path: ellipse(92% 120% at 95% 62%);
    position: relative;
    z-index: 10;
}
.banner-section .curved-column:before {
    content: '';
    position: absolute;
    inset: 0;
    background: #E4EEFD;
    width: 100%;
    height: 100%;
    z-index: 1;
    clip-path: ellipse(95% 115% at 95% 55%);
}
.below-banner-section .below-banner-cards:not(:last-child):after {
    content: '';
    border-right: 1px solid #ddd;
    position: absolute;
    inset: 0;
    height: 70%;
    top: 15%;
    right: -20px;
}
.banner-text-col .banner-text-col-inner {
    max-width: 650px;
}
.trusted-partners-logo-wrap img {
    filter: brightness(0) invert(1);
}
.services-card .services-card-info {
    height: 100%;
}
.asp-16-9 img {
    aspect-ratio: 16/9;
    height: auto !important;
    object-fit: cover;
}
.asp-3-4 img {
    aspect-ratio: 3/4;
    height: auto !important;
    object-fit: cover;
}
.asp-3-2 img {
    aspect-ratio: 3/2;
    height: auto !important;
    object-fit: cover;
}
.asp-square img {
    aspect-ratio: 1/1;
    height: auto !important;
    object-fit: cover;
}
.transp-experts-feat-wrap .elementor-icon-list-item {
    width: 100%;
    max-width: calc(50% - 16px);
}
.lh-1 p {
    line-height: 1;
}
.above-footer-contact-options-wrap .above-footer-contact-option:not(:last-child):after {
    content: '';
    border-right: 1px solid #ddd;
    position: absolute;
    inset: 0;
    height: 70%;
    top: 15%;
    right: -60px;
}
.cstm-responsive-carousel .swiper-pagination {
    top: unset;
    bottom: -50px;
    width: 100%;
    max-width: 180px;
    background: #dde5ee;
    margin: 0 auto 0;
    left: 50%;
    transform: translateX(-50%);
}
.cstm-responsive-carousel .swiper-pagination .swiper-pagination-progressbar-fill {
    background: #90a1b9;
}
.cstm-responsive-carousel.elementor-widget-n-carousel {
    position: relative;
}
.cstm-responsive-carousel .services-card {
    height: 100%;
}

/* Courses page */
.courses-banner.banner-section .curved-column:before {
    display: none;
}
.courses-banner.banner-section .curved-col-img {
    clip-path: ellipse(92% 120% at 95% 54%);
}

/* All Courses page */
.mms-courses-card h3.elementor-image-box-title,
.mms-courses-card p.elementor-image-box-description {
    transform-origin: left;
    transition: transform 0.3s ease;
}
.mms-courses-card:hover h3.elementor-image-box-title {
    transform: scale(1.05);
}
.mms-courses-card:hover p.elementor-image-box-description {
    transform: scale(0.95);
}

/* Ambulance page */
.ambulance-services.banner-section .curved-column:before {
    clip-path: ellipse(95% 115% at 95% 39%);
}
.ambulance-services.banner-section .curved-col-img {
    clip-path: ellipse(92% 120% at 93% 34%);
}
.ambulance-services-cards-wrap .ambulance-services-card:not(:nth-child(3n)):after {
    content: '';
    border-right: 1px solid #ddd;
    position: absolute;
    inset: 0;
    height: 70%;
    top: 15%;
    right: 0px;
}
.ambulance-services-cards-wrap .ambulance-services-card:nth-last-child(-n + 3) {
    border-bottom: 0;
}

/* Upcoming courses shortcode styles */
.mec-upcoming-events-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.mec-event-card .mec-event-calendar-icon-wrap {
    display: flex;
}
.mec-event-card .mec-event-calendar-icon-wrap svg {
    width: 18px;
    fill: #00489F;
}
.mec-event-card .mec-event-col.mec-event-col-name {
    display: flex;
    gap: 15px;
    width: 100%;
    max-width: 50%;
    align-items: flex-start;
}
.mec-event-card .mec-event-card-body {
    display: flex;
    gap: 10px;
    align-items: start;
}
.mec-event-card .mec-event-card-title {
    font-family: 'Outfit';
    font-size: 14px;
}
.mec-event-card .mec-event-col {
    width: 100%;
    max-width: 25%;
}
.mec-event-card .mec-event-col.mec-event-col-date {
    color: #314158;
    padding-left: 10px;
}
.mec-event-card .mec-event-col.mec-event-col-date, .mec-event-card .mec-event-col.mec-event-col-slots {
    font-family: 'Outfit';
    font-size: 14px;
}
.mec-event-card .mec-event-col.mec-event-col-slots {
    color: #00583A;
    text-align: center;
    background: #D0E9E0;
    border-radius: 50px;
    padding: 3px;
    font-weight: 600;
}
.mec-event-card .mec-event-col.mec-event-col-slots.no-slots {
    color: #ff0000;
    background: #ff00001c;
}

/* Category-based Upcoming events */
.mec-cat-events-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.mec-cat-month-group .month-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}
.mec-cat-month-group .month-title-wrap hr {
    flex: 1;
}
.mec-cat-month-group .month-title-wrap .mec-cat-month-title {
    font-family: "Outfit", Sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.4em;
    color: var(--e-global-color-text);
}
.mec-cat-month-group .mec-cat-event-row {
    display: flex;
    gap: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDDDDD;
}
.mec-cat-month-group .mec-cat-event-date {
    width: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #00489F;
    color: #fff;
    font-size: 18px;
    font-family: 'OUTFIT';
    text-transform: uppercase;
}
.mec-cat-month-group .mec-cat-event-info {
    width: calc(100% - (100px + 40px + 145px));
}
.mec-cat-month-group .mec-cat-event-link-wrap {
    width: 145px;
}
.mec-cat-month-group .mec-cat-month-events {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mec-cat-month-group .mec-cat-event-date .mec-cat-event-day {
    font-weight: 700;
}
.mec-cat-month-group .mec-cat-event-info * {
    font-size: 16px !important;
    color: #314158 !important;
    font-family: 'Outfit' !important;
}
.mec-cat-month-group .mec-cat-event-info .mec-cat-event-name {
    font-weight: 400;
    text-transform: uppercase;
}
.mec-cat-month-group .mec-cat-event-link-wrap .mec-cat-event-btn {
    background-color: #00489F;
    color: #fff;
    font-family: "Outfit", Sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #00489F;
    padding: 12px 20px 12px 20px;
    display: inline-block;
    border-radius: 3px;
}
.mec-cat-month-group .mec-cat-event-link-wrap .mec-cat-event-btn:hover {
    color: #00489F;
    background: #fff;
}
.mec-no-events {
    text-align: center;
}

.find-us-icon img {
    max-width: 16px;
}

/* Responsive */
@media screen and (min-width: 1025px) {
    .cstm-responsive-carousel .swiper-pagination {
        display: none;
    }
}
@media screen and (max-width: 1674px) {
    /* Need this for header to fit all nav items in 1 row */
    .main-header .header-logo-wrap {
        width: 100%;
        max-width: 150px;
    }
    body header .main-header {
        width: 100%;
    }
    .main-header > .e-con-inner {
        gap: 20px;
    }
    .main-header .cta-column {
        max-width: 280px;
        margin-left: auto;
    }
    .main-header .cta-column .hidden-smaller-desk {
        display: none;
    }
    .main-header .main-nav-menu {
        width: 100%;
        max-width: calc(100% - 40px - (170px + 280px));
    }
    .main-header .cta-column .header-contact-btn {
        max-width: 120px !important;
    }
    .main-nav-menu .hfe-nav-menu > .menu-item:not(:last-child) {
        margin-right: 15px !important;
    }
    .main-nav-menu nav.hfe-nav-menu__layout-horizontal {
        width: 100% !important;
    }
    .cta-column .elementor-button {
        font-size: 15px !important;
        padding: 10px 12px !important;
    }
}
@media screen and (max-width: 1445px) {
    .main-nav-menu .hfe-nav-menu .menu-item .hfe-menu-item {
        font-size: 15px;
    }
    .main-header .cta-column .header-contact-btn {
        max-width: 100px !important;
    }
    .main-header .cta-column {
        max-width: 255px;
    }
    .main-header .main-nav-menu {
        max-width: calc(100% - 40px - (170px + 245px));
    }
}
@media screen and (max-width: 1366px) {
    .main-header .cta-column {
        max-width: 260px;
        width: 100%;
    }
}
@media screen and (max-width: 1024px) {
    .banner-section .curved-col-img,
    .ambulance-services.banner-section .curved-col-img {
        clip-path: ellipse(85% 95% at 40% 0%);
    }
    .banner-section .curved-column:before,
    .ambulance-services.banner-section .curved-column:before {
        clip-path: ellipse(90% 100% at 50% 0%);
    }
    .above-footer-contact-options-wrap .above-footer-contact-option:not(:last-child):after {
        right: -20px;
    }
    .banner-text-col .banner-text-col-inner {
        max-width: 100%;
    }
    br.desktop-only {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .below-banner-section .below-banner-cards:not(:last-child):after,
    .above-footer-contact-options-wrap .above-footer-contact-option:not(:last-child):after {
        border: none;
    }
    .elementor-widget-text-editor.two-col-list ul, .elementor-widget-text-editor.two-col-list ol {
        column-count: 1;
    }
    .ambulance-services-cards-wrap .ambulance-services-card:not(:nth-child(3n)):after {
        border-right: none;
    }
    .ambulance-services-cards-wrap .ambulance-services-card:nth-last-child(-n + 3) {
        border-bottom: 1px solid #ddd;
    }
    .ambulance-services-cards-wrap .ambulance-services-card:last-child {
        border-bottom: none;
    }
    .mec-event-card .mec-event-card-body {
        flex-wrap: wrap;
        padding: 5px 10px;
        row-gap: 8px;
        align-items: center;
    }
    .mec-event-card .mec-event-col.mec-event-col-name {
        max-width: 100%;
    }
    .mec-event-card .mec-event-col {
        max-width: calc(50% - 5px);
    }
    .mec-event-card .mec-event-col.mec-event-col-date {
        padding-left: 30px;
    }
}
@media screen and (max-width: 550px) {
    .mec-cat-month-group .mec-cat-event-row {
        flex-direction: column;
        gap: 10px;
        padding-bottom: 20px;
    }
    .mec-cat-month-group .mec-cat-event-info {
        width: 100%;
    }
    .mec-cat-month-group .mec-cat-month-events {
        gap: 20px;
    }
    .mec-cat-month-group .mec-cat-event-date {
        padding: 10px;
    }
}