/*
Theme Name: Halpes Child
Template: halpes
Version: 1.0
*/

/* ==========================================================================
   WIM WEBSITE
   HALPES CHILD THEME CUSTOMISATIONS
   ==========================================================================
*/

/* ==========================================================================
   BRAND COLOURS
   ========================================================================== */

:root {
    --wim-purple: #392466;
    --wim-orange: #f96342;
    --wim-dark-teal: #02b0a1;
	--wim-light-teal: #3de7d7;
    --wim-light-blue: #6cd3fd;
    --wim-lilac: #dda5fb;
    --wim-text: #4F5560;
}


/* ==========================================================================
   BODY CONTENT
   ========================================================================== */


.gsc-heading .title-desc p {
    margin-bottom: 1.2em;
}
a {
	color: var(--wim-purple) !important;
}
a:hover {
	color: var(--wim-orange) !important;
}
.custom-breadcrumb .breadcrumb {
  color: var(--wim-orange) 
}
/* ==========================================================================
   BUTTONS
   ========================================================================== */

.btn-theme,
.btn,
.elementor-widget-button a {
    background-color: var(--wim-purple) !important;
    border-color: var(--wim-purple) !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
}

.btn-theme:hover,
.btn:hover,
.elementor-widget-button a:hover {
    background-color: var(--wim-dark-teal) !important;
    border-color: var(--wim-dark-teal) !important;
    color: #ffffff !important;
}
.post .post-thumbnail .entry-date {
  background-color: var(--wim-dark-teal) !important;
}
.post .entry-meta .meta-inline > span i {
	color: var(--wim-purple);
}
/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
.pager .paginations a.active {
  background: var(--wim-purple);
  border-color: var(--wim-purple);
  color: #ffffff !important;
}
.pager .paginations a:hover {
  border-color: var(--wim-orange);
}
.gsc-heading .title {
    font-weight: 900 !important;
}

.wrapper-page .heading-title {
    text-transform: none !important;
}


/* ==========================================================================
   GLOBAL LAYOUT
   ========================================================================== */

.wrapper-page .container {
    max-width: 1510px;
}


/* ==========================================================================
   FEATURE CARDS
   ========================================================================== */

.equal-cards .gsc-icon-box-styles {
    height: 360px;
    display: flex;
    flex-direction: column;
}

.equal-cards .content-inner {
    flex-grow: 1;
}

.equal-cards .icon-inner {
    margin-top: auto;
}


/* ==========================================================================
   NEWS GRID (GAVIAS POSTS)
   ========================================================================== */

.gva-posts .lg-block-grid-3,
.gva-posts .md-block-grid-3,
.gva-posts .sm-block-grid-2,
.gva-posts .xs-block-grid-2 {
    display: flex;
    flex-wrap: wrap;
}

.gva-posts .all {
    display: flex;
}

.gva-posts .post {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.gva-posts .entry-content {
    display: flex;
    flex-grow: 1;
}

.gva-posts .content-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.gva-posts .post-thumbnail img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}


/* ==========================================================================
   NEWS TYPOGRAPHY ALIGNMENT
   ========================================================================== */

.gva-posts .entry-title,
.gva-posts-carousel .entry-title,
.blog .entry-title,
.archive .entry-title,
.post-items .entry-title {
    min-height: 60px;
}

.gva-posts .entry-desc,
.gva-posts-carousel .entry-desc,
.blog .entry-desc,
.archive .entry-desc,
.post-items .entry-desc {
    min-height: 80px;
}


/* ==========================================================================
   NEWS CAROUSEL
   ========================================================================== */

.gva-posts-carousel .owl-stage {
    display: flex;
}

.gva-posts-carousel .owl-item {
    display: flex;
}

.gva-posts-carousel .owl-item > div {
    display: flex;
    width: 100%;
}

.gva-posts-carousel .post {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.gva-posts-carousel .entry-content {
    display: flex;
    flex-grow: 1;
}

.gva-posts-carousel .content-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.gva-posts-carousel .post-thumbnail img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}


/* ==========================================================================
   BLOG & ARCHIVE PAGES
   ========================================================================== */

.post-items {
    display: flex;
    flex-wrap: wrap;
}

.post-items .item-columns {
    display: flex;
}

.post-items .item-columns .post {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.post-items .entry-content {
    display: flex;
    flex-grow: 1;
}

.post-items .content-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.post-items .post-thumbnail img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}


/* ==========================================================================
   SINGLE POSTS
   ========================================================================== */

.single-post .post-thumbnail {
    width: 100%;
    max-width: 100%;
    margin: 0 0 30px;
}

.single-post .post-thumbnail img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
}


/* ==========================================================================
   VIDEO POSTS
   ========================================================================== */

.single-post .format-video .post-thumbnail {
    display: none;
}

.single-post .content-inner {
    display: flex;
    flex-direction: column;
}

.single-post .post-content {
    width: 100%;
    order: -1;
}

.single-post .post-content p {
    margin: 0;
}

.single-post .post-content iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    display: block;
    margin-bottom: 30px;
}


/* ==========================================================================
   ELEMENTOR SECTION OVERRIDES
   Keep section-ID-specific rules together
   ========================================================================== */

.elementor-element-58d60bf9 {
    background-image: none !important;
    position: relative;
    z-index: 1;
}

.elementor-element-58d60bf9::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 800px;
    background-color: var(--wim-purple);
    z-index: -1;
}


.career-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    transition: all 0.25s ease;
    cursor: pointer;
}

.career-card:hover .elementor-widget-wrap {
    background-color: var(--wim-purple) !important;
}

.career-card:hover .elementor-widget-wrap::before {
    border-color: rgba(255,255,255,0.10) !important;
}

.career-card:hover h2 {
    color: #FFFFFF !important;
}

.career-card .elementor-widget-wrap {
    overflow: hidden !important;
}

.career-card h2 {
    position: relative;
    z-index: 3;
}

/* ==========================================================================
   START YOUR CAREER
   ========================================================================== */

.career-card-light-blue .elementor-widget-wrap::before {
	box-sizing: border-box;
    content: "";
    position: absolute;

    width: 100%;
    height: 100%;

    top: -50%;
    right: -50%;

    border-radius: 50%;
    border: 80px solid rgba(49, 173, 220, 0.35);

    z-index: 1;

}

/* ==========================================================================
   GROW YOUR CAREER
   ========================================================================== */


.career-card-orange .elementor-widget-wrap::before {
    content: "";
    position: absolute;

    width: 100%;
    height: 100%;

    top: -50%;
    left: -50%;

    border-radius: 50%;
    border: 80px solid rgba(191, 78, 29, 0.22);
    z-index: 1;
}



/* ==========================================================================
   FIND A MENTOR
   ========================================================================== */

.career-card-teal .elementor-widget-wrap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;

    bottom: -50%;
    right: -50%;

    border-radius: 50%;
    border: 80px solid rgba(20, 201, 192, 0.30);

    z-index: 1;
}


/* ==========================================================================
   DIVERSITY & INCLUSION
   ========================================================================== */

.career-card-lilac .elementor-widget-wrap::before {
    content: "";
    position: absolute;

    width: 100%;
    height: 100%;

    bottom: -50%;
    left: -50%;

    border-radius: 50%;
    border: 80px solid rgba(186, 123, 226, 0.20);

    z-index: 1;
}
.footer-col-1-logos img {
filter: brightness(0) invert(1);
    width: auto !important;
	margin: 0px 0px 20px 0px;
	max-width: 400px;
    height: auto;

}
.footer-col-3-logos .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-col-3-logos h6 {
	color: #ffffff;
	font-weight: normal;
	font-size: 16px;
	text-transform: none;
}
.footer-col-3-logos img {

    width: auto !important;
	margin: 20px 0px 0px 0px;
	max-width: 290px;
    height: auto;

}

.image-arc {
    position: relative;
    overflow: hidden;
}

.image-arc::before {
    content: "";
    position: absolute;

    width: 100%;
    height: 100%;

    top: -50%;
    right: -50%;

    border-radius: 50%;
    border: 120px solid rgba(255,255,255,0.9);

    z-index: 2;
    pointer-events: none;
}

.image-overflow-left .bg-overfolow {
    left: auto !important;
    right: 0 !important;
    width: 814.5px !important;
}


/* ==========================================================================
   CONTENT PANEL ARCS
   ========================================================================== */

.light-blue-bottom-right,
.orange-top-left {
    position: relative;
}

.light-blue-bottom-right .elementor-widget-wrap,
.orange-top-left .elementor-widget-wrap {
    position: relative;
    overflow: hidden;
}


/* ==========================================================================
   LIGHT BLUE PANEL - BOTTOM RIGHT ARC
   ========================================================================== */

.light-blue-bottom-right .elementor-widget-wrap::before {
    content: "";
    position: absolute;

    width: 602px;
    height: 602px;

    bottom: -301px;
    right: -301px;

    border-radius: 50%;
    border: 120px solid rgba(49, 173, 220, 0.30);

    z-index: 1;
    pointer-events: none;
}

/* ==========================================================================
   ORANGE PANEL - TOP LEFT ARC
   ========================================================================== */

.orange-top-left .elementor-widget-wrap::before {
    content: "";
    position: absolute;

    width: 602px;
    height: 602px;

    top: -301px;
    left: -301px;

    border-radius: 50%;
    border: 120px solid rgba(214, 95, 45, 0.25);

    z-index: 1;
    pointer-events: none;
}

/* ==========================================================================
   KEEP CONTENT ABOVE ARCS
   ========================================================================== */

.light-blue-bottom-right .elementor-widget-wrap > *,
.orange-top-left .elementor-widget-wrap > * {
    position: relative;
    z-index: 2;
}


sr7-btn i {
    font-weight: 900 !important;
}


/* ==========================================================================
   PAGE HEADERS
   ========================================================================== */

.custom-breadcrumb {
    background-image: none !important;
    background-color: var(--wim-purple) !important;
}

.custom-breadcrumb .breadcrumb-overlay {
    display: none;
}

/* Event page layout */
#tribe-events-pg-template {
  max-width: 100% !important;
}



/* Equal height columns */

.tribe-event-meta-bottom .row {
    display: flex;
    align-items: stretch;
}

.tribe-event-meta-bottom .row > div {
    display: flex;
}

.tribe-event-meta-bottom .content-inner {
    flex: 1;
}

/* Map column */

.event-single-map .content-inner,
.event-single-map .tribe-events-venue-map {
    height: 100%;
}

.event-single-map iframe {
    width: 100%;
    height: 100% !important;
    min-height: 100%;
    display: block;
}
.tribe-events-single .tribe-events-event-meta .tribe-event-meta-bottom .event-single-organizer > .content-inner{
	background-color: var(--wim-light-blue);
}
.tribe-events-single .tribe-events-event-meta .tribe-event-meta-bottom .tribe-events-meta-group .tribe-events-single-section-title {
	font-weight: 900;
}
.tribe-events-single .tribe-events-event-meta .tribe-event-meta-bottom .event-single-organizer > .content-inner .meta-item .icon svg {
  fill: #ffffff;
}



.jargon-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 20px 0 40px;
}

.jargon-nav a {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #41286F;
    color: #ffffff !important;

    border-radius: 50%;
    text-decoration: none;

    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    transition: all 0.3s ease;
}

.jargon-nav a:hover,
.jargon-nav a:focus {
    background: #F15A29;
    color: #ffffff !important;
}

.jargon-nav a.disabled {
    opacity: .35;
    pointer-events: none;
    cursor: default;
}

/* Jargon Buster */

.elementor-tab-content {
    overflow: hidden;
    max-height: 0;
    opacity: 0;

    transition:
        max-height 0.6s ease,
        opacity 0.4s ease;

    padding: 0 30px;
}

.elementor-tab-title.elementor-active + .elementor-tab-content {
    opacity: 1;
    padding-bottom: 30px;
}

.elementor-accordion-item {
    background: #fff;
    border-radius: 8px;
    
	-webkit-box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.07);
 	 box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.07);
    overflow: hidden;
}

.elementor-accordion {
    background: transparent;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}


.elementor-accordion .elementor-accordion-item:not(:last-child) {
    margin-bottom: 20px;
}


/* Position icon on right */

.elementor-accordion .elementor-tab-title {
    position: relative;
    padding-right: 80px;
}

/* Move icon to right */

.elementor-accordion-icon {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

/* Show only plus initially */

.elementor-accordion-icon-opened {
    display: none;
}

/* When open */

.elementor-tab-title.elementor-active .elementor-accordion-icon-closed {
    display: none;
}

.elementor-tab-title.elementor-active .elementor-accordion-icon-opened {
    display: inline-block;
}

/* Style icons */

.elementor-accordion-icon i {
    font-size: 24px;
    color: #41286F;
}

/* Active colour */

.elementor-tab-title.elementor-active .elementor-accordion-title,
.elementor-tab-title.elementor-active .elementor-accordion-icon i {
    color: #25c7b2;
}

.jargon-accordion .elementor-accordion-title,
.elementor-accordion .elementor-accordion-title {
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.2;
}

.jargon-search {
    margin-bottom: 30px;
}

#jargonSearch {
    width: 100%;
    padding: 18px 24px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 18px;
}

#jargonSearch:focus {
    outline: none;
    border-color: #41286F;
}


