/**
 * Theme Name: IEDM Base
 * Template:   hello-elementor
 * Author: Top 10
 * Author URI: https://iedm.co.za/
 * Description:  A child theme based on Hello Elementor
 * Version: 0.0.1
 * Text Domain: hello-elementor
 */


/*
// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) { ... }
*/

:root {
}

.text-primary { color: var( --e-global-color-primary ); }
.text-secondary { color: var( --e-global-color-secondary ); }
body a { color: var( --e-global-color-secondary ); }

.text-lowercase { text-transform: lowercase; }
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }

.fw-bold { font-weight: bold; }
.fw-normal { font-weight: normal; }
.fw-light { font-weight: light; }

.text-left {text-align: left;}
.text-right {text-align: right;}
.text-center {text-align: center;}
.text-justify {text-align: justify;}

.w-100 { width: 100% !important; }

form input { border: 1px solid #c7c8c9; }

.d-block { display: block; }
.d-inline { display: inline; }

[data-elementor-type="header"] .sub-menu.elementor-nav-menu--dropdown a {
    /* font-size: 15px; */
    /* text-transform: uppercase; */
    white-space: normal;
    /* display: inline-block;
    text-align: center; */
    
    /* display: flex; */
    justify-content: center;
}
/* nav.elementor-nav-menu--main ul > li > a {
  justify-content: center;
} */

[data-elementor-type="header"] .sub-menu.elementor-nav-menu--dropdown {
    /* text-align: center; */
    min-width: 20em !important;
}

@media (min-width: 768px) { 
    /* center/align sub below it's parent */
    /* [data-elementor-type="header"] .sub-menu.elementor-nav-menu--dropdown { */
    [data-elementor-type="header"] nav > ul > li > .sub-menu.elementor-nav-menu--dropdown {
        transform: translateX(-90px);
    }
}

.color-blocks > span { color:#FFF; padding: 2px 5px; }
.color-blocks > span:first-child { background-color:#324158; }
.color-blocks > span:last-child { background-color:#8B0000; }
.color-blocks > span:last-child:empty { display: none; }

@media (max-width: 768px) { 
    span.color-blocks {
        font-size: 26px;
        line-height: 1.4em;
    }
}


.subcategories-grid {
    font-family: "Wix Madefor Text", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: var(--e-global-color-text);
    text-align: center;
    justify-content: stretch;
}
.subcategories-grid h5 {
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
}

.subcategories-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: start;
}

.subcategory-box {

    width: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    /* border: 1px dashed red; */
    align-self: stretch;
}

@media (min-width: 768px) {
    .subcategory-box {
        width: 23%;
    }
}

.subcategory-box .top {
    flex-grow: 1; /* Takes up available space to push the link down */
}
.subcategory-box img {
  width: 100%;
  height: auto;
}
.subcategory-box .elementor-button .elementor-button-content-wrapper {
    flex-direction: row-reverse;
}
.subcategory-box .elementor-button {
    width: 70%;
    margin-top: auto;
    align-self: center;

    background-color: var(--e-global-color-accent);
    font-family: "Wix Madefor Text", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-radius: 50px 50px 50px 50px;
}


/* ACCORDIONs */
.category-posts-accordion {
    /* max-width: 800px; */
    /* margin: 20px 0; */
}

.category-posts-accordion .accordion-title {
    margin-bottom: 20px;
    color: #333;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}

.category-posts-accordion .accordion-item {
    /* border: 1px solid #ddd; */
    border-radius: 0;
    margin-bottom: 20px;
}

/* .category-posts-accordion .accordion-item:first-child {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.category-posts-accordion .accordion-item:last-child {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
} */

.category-posts-accordion .accordion-header {
    margin-bottom: 0;
}

.category-posts-accordion .accordion-button {
    width: 100%;
    padding: 15px 20px;
    border: none;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    transition: background-color 0.3s ease;
}

.category-posts-accordion .accordion-button,
.category-posts-accordion .accordion-button:active,
.category-posts-accordion .accordion-button:focus {
    background-color: #f0f0f0;
    color: #333;

}

.category-posts-accordion .accordion-button:hover {
    background-color: #cbcbcb;
    color: #333;
}

.category-posts-accordion .accordion-button:not(.collapsed) {
    /* background-color: #007cba; */
    /* color: white; */
}

.category-posts-accordion .accordion-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    /* transform: translateY(-50%); */
    transform: translateY(-100%);
    width: 12px;
    height: 12px;
}

.category-posts-accordion .accordion-icon svg {
    width: 12px;
    height: 12px;
    transition: rotate 0.3s ease;
}

/* .category-posts-accordion .accordion-icon::before {
    content: '+';
    font-size: 18px;
    font-weight: bold;
    transition: transform 0.3s ease;
} */

.category-posts-accordion .accordion-button.collapsed .accordion-icon svg {
    /* transform: translateZ(180deg); */

    rotate: 180deg;
}
/* .category-posts-accordion .accordion-button.collapsed .accordion-icon::before {
    content: '+';
} */

.category-posts-accordion .accordion-button:not(.collapsed) .accordion-icon::before {
    /* content: '−'; */
}

.category-posts-accordion .accordion-collapse {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
}

.category-posts-accordion .accordion-collapse.show {
    height: auto;
    overflow: visible;
}

.category-posts-accordion .accordion-body {
    padding: 20px;
    background-color: white;
    border-top: 1px solid #ddd;
}

.category-posts-accordion .post-content {
    line-height: 1.6;
}
.category-posts-accordion .post-content a {
    color: var(--e-global-color-accent);
    text-decoration: underline;
}

.category-posts-accordion .post-content img {
    max-width: 100%;
    height: auto;
}



.elementor-widget-theme-post-content p {
    padding: 0 !important;
    line-height: 1.65 !important;
}


:root {
  --ripple-start-color: #ffffff55;
  --ripple-end-color: #ffffff00;
}
.ripple-circle {
  border-radius: 50%;
  animation: ripple 2.5s ease-out infinite;
}
.ripple-rounded {
  border-radius: 10px;
  animation: ripple 2.5s ease-out infinite;
}
.ripple-square {
  border-radius: 0px;
  animation: ripple 2.5s ease-out infinite;
}
.ripple-pill {
  border-radius: 50px;
  animation: ripple 2s ease-out infinite;
}
/* on hover remove animation */

.ripple-circle:hover,
.ripple-rounded:hover,
.ripple-square:hover,
.ripple-pill:hover {
  animation: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0rem var(--ripple-start-color);
  }
  100% {
    box-shadow: 0 0 0 2rem var(--ripple-end-color);
  }
}


a.wp-block-button__link.wp-element-button {
    background: var(--e-global-color-primary) !important;
    padding: 5px 15px;
}


.e-contact-buttons__chat-button.e-contact-buttons__chat-button-shadow:hover,
.e-contact-buttons__chat-button.e-contact-buttons__chat-button-shadow[aria-expanded=true] {
    animation: none !important;
}
.e-contact-buttons__chat-button.e-contact-buttons__chat-button-shadow {   
    --ripple-start-color: #25d366cc;
    --ripple-end-color: #25d36600;
      animation: ripple 2.5s ease-out infinite;
}

body .elementor.post .elementor-widget-shortcode a.tag-cloud-link,
body .elementor.post .elementor-shortcode a.tag-cloud-link {
    -webkit-font-smoothing: antialiased;
    background-color: var(--e-global-color-secondary);
    border: 1px solid #000000;
    border-radius: 5px;
    box-sizing: border-box;
    color: #FFFFFF;
    cursor: pointer;
    font-family: madefor-text, helveticaneuew01-45ligh, helveticaneuew02-45ligh, helveticaneuew10-45ligh, sans-serif;
    font-size: 13px;
    line-height: 20.8px;
    margin: 4px;
    overflow: hidden auto;
    padding: 6px 12px;
    text-overflow: ellipsis;
    text-wrap: nowrap;
    user-select: none;
    white-space: nowrap;
}

a.tag-cloud-link {
    display: inline-block;
    overflow: unset !important;
    text-decoration: none !important;
    /* margin-bottom: 5px; */
}
.wp-element-button:hover,
a.tag-cloud-link:hover { color: #FFF !important }


/* Default anchor styles */
body .elementor.post a.elementor-button {
    /* color: #FFF;
    text-decoration: none; */
}
body .elementor.post a:not(.elementor-button,.wp-element-button) {
    color: var( --e-global-color-primary );
    text-decoration: underline;
}
body .elementor.post a:not(.elementor-button,.wp-element-button):hover {
    color: var( --e-global-color-secondary );
}

.elementor-widget-theme-post-content h5 {
    font-weight: bold;
    color: var(--e-global-color-primary);
}

.elementor-widget-theme-post-content .wp-block-buttons,
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
    margin-bottom: 20px;
}

.elementor-widget-theme-post-content ul li,
.elementor-widget-theme-post-content ol li {
    margin-bottom: 0px;
}


#popup--login a {
    box-shadow: none;
    text-decoration: none;
    /* font-size: .85em; */
    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    color: var(--e-global-color-text);
}

#popup--login a:hover {
    color: var(--e-global-color-accent);
}


/* Search post type badges */
.content-type-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--e-global-color-secondary);
    color: white;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 10;
}

@media (max-width: 580px) { /* mobile */
    .content-type-badge {
        font-size: 9px;
        max-width: 80px;
        word-wrap: break-word;
    }
}

/* Ensure the parent has relative positioning */
.elementor-post {
    position: relative;
}

/* Different colors for different post types */
.type-page .content-type-badge,
.type-neasa_service .content-type-badge {
    background: var(--e-global-color-primary);
}

.type-service .content-type-badge {
    background: var(--e-global-color-primary);
}


/* Highlight search results 
(Turn it on in Relevanssi settings)
*/
.relevanssi-query-term {
    background-color: yellow;
    color: black;
    padding: 0 3px;
}

/* #searched-service {
    display:flex; 
    flex-direction:row;
}
#searched-service .elementor-post__title {
    padding: 0px 0px 0px 120px
}
#searched-service .elementor-post__thumbnail {
    width: 550px;
    height: 300px;
    object-fit: contain;
    object-position: 50% 50%;
    overflow: hidden;
} */

#searched-service {
    background-color: var( --e-global-color-secondary );;
    color: #FFF;
    border-radius: 20px;
    /* padding: 30px 20px 10px 20px; */
    padding: 10px 20px 10px 20px;
    max-width: 700px;
    margin: 0 auto;

}

#searched-service h5 a,
#searched-service h3,
#searched-service h3 a {
    color: #FFF;
}
#searched-service h3 {
    margin-bottom: 0;
}

#searched-service .type-neasa_service {
    display: flex;
    flex-direction: row;;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}
#searched-service .elementor-button-link {
    background-color: var( --e-global-color-primary );
}
#searched-service .elementor-button-link:hover {
    background-color: #FFF;
    color: var( --e-global-color-primary );
}




/* Opinion Pieces uses <p> tags instead of <br>'s */

/* .hentry.category-opinionpieces-openletters .elementor-widget-theme-post-content p,
.hentry.category-se-dit-soos-dit-is-episodes .elementor-widget-theme-post-content p {
	margin-bottom: 5px !important;
} */

.hentry[class*="category-"] .elementor-widget-theme-post-content p {
    /* background-color: orange;
    margin-bottom: 40px; */
}

.elementor-location-single.post.type-post.category-newsletters .elementor-widget-theme-post-content a,
.elementor-location-single.post.type-post.category-newsletters .elementor-widget-theme-post-content a > u {
    text-decoration: none;
}

@media (max-width: 576px) { 
    /* Move cookie consent to the bottom right on mobile */
    body .cky-revisit-bottom-right {
        bottom: 135px;
        right: 27px;
        /* Make it a bit see-through #8B0000 with transparency */
        background-color: #8b00008c;
    }
    body .cky-revisit-bottom-left {
        bottom: 15px;
        left: 8px;
        width: 32px;
        height: 32px;
        /* Make it a bit see-through #8B0000 with transparency */
        background-color: #8b00008c;
    }
}