/*
Theme Name:   Ards Elementor Child
Theme URI:    #
Description:  Ards Elementor Child Theme
Author:       Lucian
Author URI:   #
Template:     hello-elementor
Version:      1.1.0
Text Domain:  ards-elementor-child
*/

/*-----------------------------------------------------------------------------
- Global Template Overrides
-----------------------------------------------------------------------------*/

html{
    overflow-x:hidden!important;
}


/* Force the main container inside the custom header to be full width */
.elementor-header > .elementor-section-wrap > .elementor-section > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

/*-----------------------------------------------------------------------------
- Global Widget Styles
-----------------------------------------------------------------------------*/
.ards-widget-header {
    display: flex;
    flex-direction: column; /* Stack on mobile by default */
    align-items: center;   /* Center on mobile */
    text-align: center;
    gap: 20px;             /* Space between items on mobile */
    margin-bottom: 40px;
    width: 100%;
    padding: 0 15px;
}

.ards-widget-header-content {
    width: 100%;
}

/* On tablet and up, switch to side-by-side layout */
@media (min-width: 768px) {
    .ards-widget-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        text-align: left;
    }
    .ards-widget-header-content {
        max-width: 50%;
    }
}

.ards-widget-title {
    font-family: "Alexandria", Sans-serif;
    font-size: 48px;
    font-weight: 700;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 60px;
    color: #0B0B0B;
    margin: 0;
}

.ards-widget-subtitle {
    font-family: "Alexandria", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    font-style: normal;
    text-decoration: none;
    line-height: 16px;
    color: #003569;
    margin: 0;
    padding: 15px 0;
}

.ards-widget-header-button .elementor-button {
    background-color: rgb(230, 235, 240);
    color: rgb(0, 53, 105)!important;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.ards-widget-header-button .elementor-button:hover {
    background-color: rgb(0, 53, 105);
    color: rgb(230, 235, 240)!important;
}

/*-----------------------------------------------------------------------------
- Ards Field Widget Styles
-----------------------------------------------------------------------------*/
.ards-field-wrapper {
    margin-bottom: 25px;
}

.ards-field-label {
    color: rgb(110, 193, 228);
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    margin: 0 0 10px 0;
}

.ards-field-value {
    /* Add styles for the value if needed */
}

/*-----------------------------------------------------------------------------
- Ards Breadcrumbs Widget Styles
-----------------------------------------------------------------------------*/
.ards-breadcrumbs-banner {
    padding: 30px;
    /*background-color: #f7f7f7;*/
    border-radius: 8px;
    margin-bottom: 30px;
    text-align:center;
    border-bottom: 1px solid #eee;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.03);
}

.ards-breadcrumbs {
    font-size: 14px;
    margin-bottom: 15px;
}

.ards-breadcrumbs a {
    color: #0162A9;
    text-decoration: none;
}

.ards-breadcrumbs a:hover {
    text-decoration: underline;
}

.ards-breadcrumbs .separator {
    margin: 0 8px;
    color: #999;
}

.ards-breadcrumbs .current {
    color: #555;
}

.ards-banner-title {
    font-size: 36px;
    margin: 0 0 20px 0;
}

.ards-banner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 15px;
    color: #444;
    text-align:center;
    justify-content:center;
}

.ards-banner-meta .meta-item strong {
    color: #111;
    margin-right: 8px;
}


/*-----------------------------------------------------------------------------
- Ards Courses Widget Styles
-----------------------------------------------------------------------------*/
.ards-courses-grid {
    display: grid;
    /*flex-wrap: wrap;*/
    grid-template-columns:1fr!important;
    gap:20px;
}
.ards-courses-grid .elementor-grid-item {
    width: 100%;
}

@media (min-width: 768px) {
    /*.ards-courses-grid .elementor-grid-item {
        width: 50%; !* 50% width on tablet and up *!
    }*/
    .ards-courses-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap:30px;
    }
}
@media (min-width: 1400px) {
    /*.ards-courses-grid {
        margin-right:25px;
        margin-left:25px;
    }*/
    .ards-courses-grid {
        gap:50px;
    }
}
.elementor-grid-item {
    display: flex;

    align-items: stretch; /* Make grid items stretch to fill row height */
    box-sizing: border-box; /* Include padding in the width calculation */
}

.ards-course-card {
    background: #fafafa;
    /*border-radius: 10px;*/
    overflow: hidden;
    /*box-shadow: 0 5px 15px rgba(0,0,0,0.08);*/
    height: 100%; /* Make card take full height of grid item */
    display: flex; /* Make card a flex container */
    flex-direction: column; /* Stack card content vertically */
    /*transition: all 0.3s ease-in-out;*/
    width:100%;
    border:1px solid #E2EAF1;
}


.ards-course-card-inner {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allow inner content to grow */
}

.ards-course-image-author-wrapper {
    display: flex;
    align-items: center;
    /*margin-bottom: 15px;*/
}

.ards-course-image {
    width: 100%;
    height: 320px;
    /*border-radius: 10px;*/
    overflow: hidden;
    /*margin-right: 15px;*/
}

.ards-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ards-course-author h6 {
    margin: 0;
    font-size: 14px;
    color: #555;
}

.ards-course-title {
    /*font-size: 22px;*/
    margin: 15px;
    line-height: 1.3;
    flex-grow: 1; /* Allow title to grow, pushing meta down */
    color:#0B0B0B!important;
}

.ards-course-meta {
    list-style: none;
    padding: 0;
    margin: 0 15px 15px;
    display: flex;
    flex-wrap: wrap;
    color: #666;
    font-size: 16px;
}

.ards-course-meta li {
    margin-right: 20px;
    display: flex;
    align-items: center;
}

.ards-course-meta li i {
    margin-right: 8px;
    color: #0073aa; /* Example color */
}

.ards-course-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 15px 15px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.ards-course-button {
    color: #003569;
    text-decoration: none;
    font-weight: bold;
    align-self: flex-start;
    background: #E6EBF0;
    padding:7.5px 15px;
    font-size: 16px;
    transition: background-color 0.3s;
}

.ards-course-button:hover {
    background-color: #005a87;
    color: #fff!important;
}

.ards-course-price {
    font-size: 24px;
    font-weight: bold;
    color: #0073aa;
    margin: 0;
}

/*-----------------------------------------------------------------------------
- Ards Projects Widget Styles
-----------------------------------------------------------------------------*/
.ards-projects-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0px;
    margin-right: 0px;
}

.ards-projects-grid .elementor-grid-item {
    width:100%;
    padding:0;
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    .ards-projects-grid .elementor-grid-item {
        width:50%;
        padding-right:15px;
        padding-left:15px;
        margin-bottom: 25px;
    }
    .ards-projects-grid {
        margin-left: -15px;
        margin-right: -15px;
    }
}

.ards-filter-bar {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
}

.ards-filter-bar .filter-button {
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.ards-filter-bar .filter-button.is-active {
    background-color: #0162A9;
    color: #fff;
    border-color: #0162A9;
}

.ards-project-card {
    background: #fff;
    /*border-radius: 10px;*/
    overflow: hidden;
    /*box-shadow: 0 5px 15px rgba(0,0,0,0.08);*/
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease-in-out;
    border:1px solid #E2EAF1;
    width:100%;
}

/*.ards-project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.12);
}*/

.ards-project-card-inner {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ards-project-image {
    width: 100%;
    height: 200px; /* Adjust height as needed */
    overflow:hidden;
}

.ards-project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ards-project-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ards-project-title {
    /*font-size: 20px;*/
    margin: 0 0 15px 0;
    color:#0B0B0B!important;
}

.ards-project-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    font-size: 14px;
    color: #555;
    flex-grow: 1;
}

.ards-project-meta li {
    margin-bottom: 8px;
}

.ards-project-meta li:last-child {
    margin-bottom: 0;
}

.ards-project-meta strong {
    color: #111;
    margin-right: 5px;
}

.ards-project-button {
    color: #003569;
    text-decoration: none;
    font-weight: bold;
    margin-top: 15px;
    align-self: flex-start;
    background: #E6EBF0;
    padding:7.5px 15px;

    font-size: 16px;
    transition: background-color 0.3s;
}

.ards-project-button:hover {
    background-color: #005a87;
    color: #fff!important;
}

/*-----------------------------------------------------------------------------
- Ards Announcements Widget Styles
-----------------------------------------------------------------------------*/

/*.ards-announcements-wrapper {
    margin-right:-15px;
    margin-left: -15px;
}*/
.ards-announcements-wrapper .elementor-grid{
    gap:20px;
}

.ards-announcements-grid {
    background-color: #fafafa;
    /*padding: 40px 15px;*/ /* Add horizontal padding */
}


.ards-announcement-card {
    background: #fff;
    /*border-radius: 8px;*/
    /*box-shadow: 0 4px 12px rgba(0,0,0,0.08);*/
    height: 100%;
    width:100%;
    display: flex;
    flex-direction: column;
    border:1px solid #E2EAF1;
    padding:15px;
    /*transition: all 0.3s ease-in-out;*/
}

.ards-announcement-card-inner {
    display: flex;
    flex-direction: column; /* Mobile first: stack vertically */
    flex-grow: 1;
}

.ards-announcement-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f7f7f7;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    margin-bottom: 20px; /* Space below on mobile */
    color:#003569;
}
.ards-announcement-dates span{
    color:#003569;
    font-size:16px;
}

.ards-announcement-date .day {
    font-size: 36px;
    font-weight: bold;
    color: #0162A9;
    line-height: 1;
}

.ards-announcement-date .month-year {
    font-size: 14px;
    color: #666;
    text-transform: uppercase;
    line-height: 1.2;
}

.ards-announcement-content {
    display: flex;
    flex-direction: column;
}

h3.ards-announcement-title {
    /*font-size: 22px;*/
    margin: 0 0 15px 0;
    color:#000;
    font-size:28px;
}

.ards-announcement-excerpt {
    color: #434343;
    line-height: 1.6;
    flex-grow: 1;
    font-size:16px;
}

.ards-announcement-button {
    color: #003569;
    text-decoration: none;
    font-weight: bold;
    margin-top: 15px;
    align-self: flex-start;
    background: #E6EBF0;
    padding:7.5px 15px;
    font-size: 16px;
    transition: background-color 0.3s;
}
.ards-announcement-button:hover {
    text-decoration: none;
    background: #003569;
    color:#fff!important;
    transition: background-color 0.3s;
}
@media (min-width: 768px) {
    .ards-announcements-wrapper .elementor-grid {
        gap:30px;
    }
    .ards-announcement-date {
        margin-right: 25px; /* Space to the right on desktop */
        margin-bottom: 0;
        min-width: 90px;
    }
}
@media (min-width: 1400px) {
    .ards-announcements-wrapper .elementor-grid {
        gap:50px;
    }
/*    .ards-announcements-wrapper {
        margin-right:20px;
        margin-left: 20px;
    }*/

}

/*-----------------------------------------------------------------------------
- Ards Menu Widget Styles
-----------------------------------------------------------------------------*/

/* This targets the container of the menu widget */
.elementor-widget-ards-menu .elementor-widget-container {
    display: flex;
    justify-content: flex-end; /* Pushes the hamburger to the right */
}


/* Base styles for any menu from the widget */
.ards-menu-container {
    display: flex;
    width: 100%;
}

.ards-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ards-menu li {
    position: relative;
}

.ards-menu li a {
    text-decoration: none;
    color: #333;
    padding: 5px 10px;
    display: block;
}

/* Specific styles for the HEADER menu */
.ards-header-menu .ards-menu {
    display: flex; /* Arrange menu items horizontally */
    align-items: center;
}

.ards-header-menu .ards-menu > li {
    margin: 0 15px; /* Spacing between top-level items */
}

.ards-header-menu .ards-menu > li > a {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    color: #0162A9;
    transition: color 0.3s;
    white-space: nowrap; /* Prevents menu items from breaking into two lines */
}

.ards-header-menu .ards-menu > li > a:hover {
    color: #005a87;
}

/* Basic dropdown styles */
.ards-header-menu .sub-menu {
    display: none; /* Hide submenu by default */
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    min-width: 200px;
    z-index: 1000;
    padding: 10px 0;
    list-style: none;
}

/* Show submenu on hover of the PARENT list item */
.ards-header-menu li:hover > .sub-menu {
    display: block;
}

.ards-header-menu .sub-menu li a {
    padding: 10px 20px;
    color: #333;
    text-transform: none; /* Sub-menu items don't need to be uppercase */
    white-space: normal; /* Allow sub-menu items to wrap if needed */
}

.ards-header-menu .sub-menu li a:hover {
    background: #f5f5f5;
}

/* --- Mobile Menu Styles --- */
button.ards-hamburger {
    display: none; /* Hidden by default on desktop */
    position: relative;
    z-index: 1001;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 12px;
}

/* Remove Elementor's default focus outline */
button.ards-hamburger:focus, button.ards-hamburger:hover {
    outline: none!important;
    box-shadow: none!important;
    background: none!important;
}


.ards-hamburger-box {
    width: 30px;
    height: 24px;
    display: inline-block;
    position: relative;
}

.ards-hamburger-inner,
.ards-hamburger-inner::before,
.ards-hamburger-inner::after {
    width: 100%;
    height: 3px;
    background-color: #0162A9;
    position: absolute;
    border-radius: 4px;
    transition: transform 0.25s ease-in-out;
}

.ards-hamburger-inner {
    top: 50%;
    transform: translateY(-50%);
}

.ards-hamburger-inner::before,
.ards-hamburger-inner::after {
    content: '';
    display: block;
}

.ards-hamburger-inner::before {
    top: -10px;
}

.ards-hamburger-inner::after {
    bottom: -10px;
}

/* Hamburger active state (X) */
.ards-hamburger.is-active .ards-hamburger-inner {
    transform: rotate(45deg);
}
.ards-hamburger.is-active .ards-hamburger-inner::before {
    transform: rotate(-90deg) translate(-10px, 0px);
}
.ards-hamburger.is-active .ards-hamburger-inner::after {
    transform: rotate(0) translateY(0) translateX(0) scaleX(0);
}
.site-header {
    position:sticky;
    top:0;
    z-index:9000000;
    background: #fff;
    display: block;
}

/* Mobile Breakpoint */
@media (max-width: 1024px) {
    button.ards-hamburger {
        display: block; /* Show hamburger on mobile */
    }

    .ards-header-menu {
        position: fixed; /* Changed to fixed for full-screen overlay */
        top: 0;
        right: 0; /* Position on the right */
        left: auto; /* Unset left position */
        width: fit-content; /* Menu width */
        max-width: 300px;
        height: 100vh; /* Full height */
        background: #fff;
        box-shadow: 0 0 20px rgba(0,0,0,0.2);
        transform: translateX(100%); /* Start off-screen to the right */
        transition: transform 0.3s ease-in-out;
        overflow-y: auto; /* Allow scrolling if menu is long */
        padding-top: 60px; /* Space for a close button or logo */
        padding-left:20px;
    }

    .ards-header-menu.is-active {
        transform: translateX(0); /* Slide into view */
    }

    .ards-header-menu .ards-menu {
        flex-direction: column; /* Stack menu items vertically */
        align-items: flex-start;
    }

    .ards-header-menu .ards-menu > li {
        margin: 0;
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
    }

    .ards-header-menu .ards-menu > li > a {
        padding: 7.5px 10px;
    }

    .ards-header-menu .sub-menu {
        position: static; /* Sub-menus are not absolutely positioned on mobile */
        display: block;
        box-shadow: none;
        background: #f9f9f9;
        padding-left: 15px;
    }
    .ards-header-menu .sub-menu li a {
        padding: 5px ;
    }
    .elementor-866 {
        width: 100%;
    }
    #menu-main-menu {
        z-index: 99999999;
        gap:10px!important;
    }
}
.site-header {
    width:100%!important;
    max-width:100%!important;
}
.elementor-866 {
    margin:0 auto;
    max-width:100%!important;
    width: 100%!important;
}

.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main {
    max-width: none !important;
}
@media (max-width: 575px) {
    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
        padding-inline-end: 0px;
        padding-inline-start: 0px;
    }
}

@media (min-width: 767px) {
    #site-footer .elementor-element-22a470fe {
        padding-left:0px!important;

    }
}

@media (min-width: 1024px) and (max-width: 1280px) {
    .elementor-250 .elementor-element.elementor-element-53ffa3bf {
        --column-gap: 10px!important;
    }

    .elementor-250 .elementor-element.elementor-element-28f06876 {
        --padding-top: 15px!important;
        --padding-bottom: 15px!important;
        --padding-left: 15px!important;
        --padding-right: 15px!important;
    }
}
#evonomix a {
    float: right;
    margin-right: 5px;
    margin-top: 4px;
    transition: max-width .3s ease-in .2s,opacity .6s ease-out .1s,color;
    color:#D9D9D9;
}

#evonomix span {
    max-height: 22px;
    line-height: 24px;
    word-wrap: normal;
    word-break: keep-all;
    float: left;
    overflow: hidden;
    max-width: 0;
    opacity: 0;
    display: inline-block;
    text-decoration: none;
    transition: max-width .3s ease-in .2s,opacity .6s ease-out .1s,color
}

#evonomix img {
    width: 19px;
    height: 22px;
    line-height: 22px;
    display: inline-block;
    color: #452d9d;
    margin: 0;
    float: left;
    margin-left: 6px
}

#evonomix a:hover {
    color: #D9D9D9
}

#evonomix a:hover span {
    opacity: 1;
    max-width: 327px
}

#evonomix em {
    color: #fff;
    font-style: normal
}

#evonomix {
    background: #002040;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding:5px 0;
    padding-top:0px!important;
    font-family: Alexandria, sans-serif;
    font-size:16px;
}
.evonomix-inner {
    max-width: 1440px;
    display:block;
    padding:10px 20px;
    height: auto;
    overflow:hidden;
    padding-top:0px!important;
    margin: 0 auto;
}
@media (min-width:367px) {
    .evonomix-inner {
        padding: 10px 20px;
    }
}
@media (min-width:767px) {
    .evonomix-inner {
        padding: 10px 30px;
    }

}
@media (min-width:1400px) {
    .evonomix-inner {
        padding: 15px 50px;
    }

}
@media (min-width:1500px) {
    .evonomix-inner {
        padding: 0;
    }

}
/*
    Cristina Edits
*/



.ards-header-menu .ards-menu > li > a ,.sub-menu {
    font-weight: 500;
    text-transform: none;
    font-size: 16px;
    line-height:100%;
}

@media (min-width: 768px) {
    .contact {
        background-color: #E6EBF0;
        padding: 12px 22px;
        margin-right:0px!important;
    }
}

/*CF7 styling*/
.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.form-column {
    flex: 1;
}

.form-full {
    width: 100%;
    margin-bottom: 20px;
}

.form-submit-wrap {
    margin-top: 10px;
}

.wpcf7-form label {
    display: block;
    margin-bottom: 8px;
}

.wpcf7-form input:not([type="submit"]):not([type="checkbox"]),
.wpcf7-form textarea {
    width: 100%;
    font-size: 14px;
    background-color: #ffffff;
    border: none;
    box-sizing: border-box;
    margin-top: 10px;
    border-radius: 0 !important;
    -webkit-appearance: none;
}

.wpcf7-form textarea {
    min-height: 160px;
    resize: vertical;
}

.wpcf7-form input:not([type="submit"]):focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: #004d5a;
}

.wpcf7-submit {
    width: 100%;
    background-color: #003569 !important;
    color: #ffffff!important;
    border: none;
    padding: 18px 30px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    text-transform: capitalize;
    transition: background-color 0.3s ease;
    border-radius: 0 !important;
}

@media (max-width: 768px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    .form-column {
        margin-bottom: 20px;
    }
}

.ards-field-wrapper {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.ards-field-label {
    font-size: 20px !important;
    line-height: 30px !important;
    font-weight:600 !important;
}

.elementor-element-72c09db .ards-field-label, .elementor-element-30aff8e .ards-field-label, .elementor-element-0dde9aa .ards-field-label {
    display: none;
}
